Tag Archives: Flutter

Flutter SLSA Progress & Identity and Access Management through Infrastructure As Code

We are excited to announce several new achievements in Dart and Flutter's mission to harden security. We have achieved Supply Chain Levels for Software Artifacts (SLSA) Level 2 security on Flutter’s Cocoon application, reduced our Identity and Access Management permissions to the minimum required access, and implemented Infrastructure-as-Code to manage permissions for some of our applications. These achievements follow our recent success to enable Allstar and Security Scorecards.

Highlights

Achieving Flutter’s Cocoon SLSA level 2: Cocoon application provides continuous integration orchestration for Flutter Infrastructure. Cocoon also helps integrate several CI services with Github and provides tools to make Github development easier. Achieving SLSA Level 2 for Cocoon means we have addressed all the security concerns of levels 1 and 2 across the application. Under SLSA Level 2, Cocoon has “extra resistance to specific threats” to its supply chain. The Google Open Source Security team has audited and validated our achievement of SLSA Level 2 for Cocoon.


Implementing Identity & Access Management (IAM) via Infrastructure-as-Code: We have implemented additional security hardening features by onboarding docs-flutter-dev, master-docs-flutter-dev, and flutter-dashboard to use Identity and Access Management through an Infrastructure-as-Code system. These projects host applications, provide public documentation for Flutter, and contain a dashboard website for Flutter build status.

Using our Infrastructure-as-Code approach, security permission changes require code changes, ensuring approval is granted before the change is made. This also means that changes to security permissions are audited through source control and contain associated reasoning for the change. Existing IAM roles for these applications have been pared so that the applications follow the Principle of Least Privilege.

Advantages

  • Achieving SLSA Level 2 for Cocoon means we have addressed all the security concerns of levels 1 and 2 across the application. Under SLSA Level 2, Cocoon has “extra resistance to specific threats” to its supply chain.
  • Provenance is now generated for both, flutter-dashboard and auto-submit, artifacts through Cocoon’s automated build process. Provenance on these artifacts shows proof of their code source and tamper-proof build evidence. This work helps harden the security on the multiple tools used during the Cocoon build process: Google Cloud Platform, Cloudbuild, App Engine, and Artifact Registry.
  • Overall we addressed 83% of all SLSA requirements across all levels for the Cocoon application. We have identified the work across the application which will need to be completed for each level and category of SLSA compliance. Because of this, we know we are well positioned to continue future work toward SLSA Level 4.

Learnings and Best Practices

  1. Relatively small changes to the Cocoon application’s build process significantly increased the security of its supply chain. Google Cloud Build made this simple, since provenance metadata is created automatically during the Cloud Build process.
  2. Regulating IAM permissions through code changes adds many additional benefits and can make granting first time access simpler.
  3. Upgrading the SLSA level of an application sometimes requires varying efforts depending on the different factors of the application build process. Working towards SLSA level 4 will likely necessitate different configuration and code changes than required for SLSA level 2.

Coming Soon

Since this is the beginning of the Flutter and Dart journey toward greater SLSA level accomplishments, we hope to apply our learnings to more applications. We hope to begin work toward SLSA level 2 and beyond for more complex repositories like Flutter/flutter. Also, we hope to achieve an even higher level of SLSA compliance for the Cocoon application.

References

Supply Chain Levels for Software Artifacts (SLSA) is a security framework which outlines levels of supply chain security for an application as a checklist.

By Jesse Seales, Software Engineer – Dart and Flutter Security Working Group

Google Dev Library Letters : 13th Issue

Posted by Garima Mehra, Program Manager


Welcome to the 13th Issue: ‘Google Dev Library letters’ is a technology newsletter curated to bring you some of the best projects developed with Google tech and submitted to the Google Dev Library platform. We are back with another boost of inspiration for your next project!


Hero Content of the month

Check out shortlisted content from the Google technologies of your choice.

Android



Contact Store API by Alex Styl

Contact Store is a modern API that makes access to contacts on Android devices simple to use. It solves for the most frequent use cases and makes developing enjoyable.




Custom Progress Indicator by Samson Achiaga

CustomProgressIndicator library is a simple, customizable progress indicator that gives android applications a nice feel. It saves developers time by creating a unique, customizable loading view.










Flutter




Numbers by Bulent Bariskilic

Discover an app designed to show facts about numbers using the http://numbersapi.com API. The project has been written solely in Dart Language.










Cupertino Icons Gallery by Cephas Brian

Get access to over 1,335 icons in one centralized place - the Cupertino Icons Gallery is an open source, cross-platform space to find all the icons used in Flutter.




Machine Learning



Learn how to build a system by considering two MLOps scenarios - if the model needs to be replaced later and if the model itself has to evolve with the data.



Probing Vision Transformers by Sayak Paul & Aritra Roy

Explore tools in this repository to probe into the representations learned by different families of Vision Transformers.

Google Cloud



Combining Google Apps Script with Google AppSheet by Aryan Irani

Learn how to combine Google AppScript with Google AppSheet to make automation even more powerful.




What a beautiful stream!! by Mandar Chaphalkar

Learn how to create a stream in 6 simple steps now that Google Cloud recently made Datastream CDC generally available.



Curators Corner

Meet our curators who have been working behind the scenes to bring you the best content submissions

Android


"Android development changes fast and it's great to see developers write blogs to help others learn.

It's a pleasure to be part of the Android community. I enjoy seeing the android community. I enjoy seeing the Android community flourish by collaborating with each other and sharing their learnings" 

 

Andres Sandoval

Sr. Strategist, Google


Machine Learning



"We are loving the TensorFlow.js submissions we have seen so far, and have no doubt future ones will continue to push the boundaries of what's possible in this space, and because it is web powered anyone anywhere can try the demos typically with the click of a link!"


Jason Mayes 

Web ML Developer Relations Lead, Google
 




Liked what you read? Checkout the latest projects and community-authored content by visiting our home page or subscribing to our newsletter.



From offstage to onstage, my experience of becoming a Google Developer Expert

Written by Shuyu (Asher) Guo, Dart & Flutter GDE, China

At the end of May 2022, after more than a month of Google Developer Expert interviews, I finally became the fourth Flutter & Dart GDE in China.

I believe that the title of GDE should be very familiar for Android or Machine Learning developers. If you’re not familiar, the Google Developer Experts program is a global network of highly experienced technology experts, influencers, and thought leaders who have expertise in Google technologies, and are active leaders in the space and contribute to the wider developer and startup ecosystem.

My journey to becoming a GDE

In 2013, Android Bus was my first exposure to the Android community and it was at the ApkBus conference that I came into contact with the first GDE I’ve ever met. At that conference, I made Android developer friends and I also met some event organizers who invited me to speak at future events.

After the conference, I started my public speaking journey and spoke about Flutter because of the opportunities that came from networking and meeting the right people. By being more active in the community through speaking, I received an invitation to become a GDE in 2020. However, I learned that the application process is conducted in English and because of this, I ultimately didn’t complete the application process.

In 2021, while I was speaking at the Google DevFest conference, a GDE friend asked me again if I was interested in becoming a GDE, and with the encouragement of a team member from Google, I finally started preparing for the GDE application.

Application process

During the application process, the Google team pays careful attention to two aspects:

  1. Technical competence: your technical expertise in the field you are applying for
  2. Technical influence: such as output in areas such as public speaking, articles, and open source

I was not confident in speaking in English so I practiced before my interviews and I also translated some of my articles and posted them to Medium in English. Then I started my interview journey. The first interviewer mainly focused on the technical content of Flutter and Dart and despite my little experience with Flutter, my first community interview was completed.

The day after I completed the initial interview, I received a notification that I was assigned an interviewer for the product interview. The content of the product interview mainly revolved around some of my experience with Flutter technology. The interviewer was interested in the content of the books I had written and some awards I won that happened to be in the bookcase behind me, proving to be an excellent conversation starter. The next day, I received an email letting me know that I passed the interview - and after I signed the various agreements and terms and conditions, I had a final meeting with the team to become a GDE! Once I officially received the confirmation email from the GDE program, I was pulled into various groups, Slack, and projects. As a developer, I consider accomplishing the feat of becoming a GDE a major milestone.

Whether it is the GDE community or a Googler conducting the interviews, everyone was very friendly. I received a lot of support throughout my journey to becoming a GDE and offer my support to anyone interested in joining the community. Please feel free to connect with me at https://github.com/carguo!

Dart and Flutter enable Allstar and Security Scorecards

We are thrilled to announce that Dart and Flutter have enabled Allstar and Security Scorecards on their open source repositories. This achievement marks the first milestone in our journey towards SLSA compliance to secure builds and releases from supply chain attacks.

Allstar is a GitHub app that provides automated continuous enforcement of security checks such as the OpenSSF Security Scorecards. With Allstar, owners can check for security policy adherence, set desired enforcement actions, and continuously implement those enforcement actions when triggered by a setting or file change in the org or repo.

Security Scorecards is an automated tool that assesses several key heuristics ("checks") associated with software security and assigns each check a score of 0-10. These scores can be used to evaluate the security posture of the project and help assess the risks introduced by dependencies.

Scorecards have been enabled on the following open source repositories, prioritized by their criticality score.

Org

Repos

Flutter

github.com/flutter/flutter

github.com/flutter/engine

github.com/flutter/plugins

github.com/flutter/packages

github.com/flutter/samples

github.com/flutter/website

github.com/flutter/flutter-intellij

github.com/flutter/gallery

github.com/flutter/codelabs

Dart

github.com/dart-lang/linter

github.com/dart-lang/sdk

github.com/dart-lang/dartdoc

github.com/dart-lang/site-www

github.com/dart-lang/test

With these security scanning tools, the Dart and Flutter team have found and resolved more than 200 high and medium security findings. The issues can be classified in the following categories:
  • Pinned Dependencies: The project should pin its dependencies. A "pinned dependency" is a dependency that is explicitly set to a specific hash instead of allowing a mutable version or range of versions. This reduces several security risks related to dependencies.
  • Token Permissions: The project's automated workflow tokens should be set to read-only by default. This follows the principle of least privilege.
  • Branch Protection: Github project's default and release branches should be protected with GitHub's branch protection settings. Branch protection allows maintainers to define rules that enforce certain workflows for branches, such as requiring review or passing certain status.
  • Code Review: The project should enforce a code review before pull requests (merge requests) are merged.
  • Dependency update tool: A dependency update tool should be used by the project to identify and update outdated and insecure dependencies.
  • Binary-Artifacts: The project should not have generated executable (binary) artifacts in the source repository. Embedded binary artifacts in the project cannot be reviewed, allowing possible obsolete or maliciously subverted executables in the source code.
Additionally, the Dart and Flutter teams have an aligned vulnerability management process. Details of these processes can be found on our respective developer sites at https://dart.dev/security and https://docs.flutter.dev/security. Internal process used by the team to handle vulnerabilities can be found on Flutter github wiki.

Learnings and Best Practices

  1. AllStar and Scorecards allowed Dart and Flutter to quickly identify areas of opportunity to improve security across hundreds of repositories triggering the removal of binaries, standardizing branch protection and enforcing code reviews.
  2. Standardizing third-party dependency management and running vulnerability scanning were identified as the next milestones in the Dart and Flutter journey to improve their overall security posture.
  3. It is safer to not embed binary artifacts in your code. However, there are cases when this is unavoidable.
  4. It is important to track your dependencies and to keep them up to date using tools like Dependabot.

By Khyati Mehta, Technical Program Manager – Dart-Flutter

How is Dev Library useful to the open-source community?

Posted by Ankita Tripathi, Community Manager (Dev Library)


Witnessing a plethora of open-source enthusiasts in the developer ecosystem in recent years gave birth to the idea of Google’s Dev Library. The inception of the platform happened in June 2021 with the only objective of giving visibility to developers who have been creating and building projects relentlessly using Google technologies. But why the Dev Library?

Why Dev Library?

Open-source communities are currently at a boom. The past 3 years have seen a surge of folks constantly building in public, talking about open-source contributions, digging into opportunities, and carving out a valuable portfolio for themselves. The idea behind the Dev Library as a whole was also to capture these open-source projects and leverage them for the benefit of other developers.

This platform acted as a gold mine for projects created using Google technologies (Android, Angular, Flutter, Firebase, Machine Learning, Google Assistant, Google Cloud).

With the platform, we also catered to the burning issue – creating a central place for the huge number of projects and articles scattered across various platforms. Therefore, the Dev Library became a one-source platform for all the open source projects and articles for Google technologies.

How can you use the Dev Library?

“It is a library full of quality projects and articles.”

External developers cannot construe Dev Library as the first platform for blog posts or projects, but the vision is bigger than being a mere platform for the display of content. It envisages the growth of developers along with tech content creation. The uniqueness of the platform lies in the curation of its submissions. Unlike other platforms, you don’t get your submitted work on the site by just clicking ‘Submit’. Behind the scenes, Dev Library has internal Google engineers for each product area who:

  • thoroughly assess each submission,
  • check for relevancy, freshness, and quality,
  • approve the ones that pass the check, and reject the others with a note.

It is a painstaking process, and Dev Library requires a 4-6 week turnaround time to complete the entire curation procedure and get your work on the site.

What we aim to do with the platform:

  • Provide visibility: Developers create open-source projects and write articles on platforms to bring visibility to their work and attract more contributions. Dev Library’s intention is to continue to provide this amplification for the efforts and time spent by external contributors.
  • Kickstart a beginner’s open-source contribution journey: The biggest challenge for a beginner to start applying their learnings to build Android or Flutter applications is ‘Where do I start my contributions from’? While we see an open-source placard unfurled everywhere, beginners still struggle to find their right place. With the Dev Library, you get a stack of quality projects hand-picked for you keeping the freshness of the tech and content quality intact. For example, Tomas Trajan, a Dev Library contributor created an Angular material starter project where they have ‘good first issues’ to start your contributions with.
  • Recognition: Your selection of the content on the Dev Library acts as recognition to the tiring hours you’ve put in to build a running open-source project and explain it well. Dev Library also delivers hero content in their monthly newsletter, features top contributors, and is in the process to gamify the developer efforts. As an example, one of our contributors created a Weather application using Android and added a badge ‘Part of Dev Library’.

    With your contributions at one place under the Author page, you can use it as a portfolio for your work while simultaneously increasing your chances to become the next Google Developer Expert (GDE).

Features on the platform

Keeping developers in mind, we’ve updated features on the platform as follows:

  • Added a new product category; Google Assistant – All Google Assistant and Smart home projects now have a designated category on the Dev Library.
  • Integrated a new way to make submissions across product areas via the Advocu form.
  • Introduced a special section to submit Cloud Champion articles on Google Cloud.
  • Included displays on each Author page indicating the expertise of individual contributors
  • Upcoming: An expertise filter to help you segment out content based on Beginner, Intermediate, or Expert levels.

To submit your idea or suggestion, refer to this form, and put down your suggestions.

Contributor Love

Dev Library as a platform is more about the contributors who lie on the cusp of creation and consumption of the available content. Here are some contributors who have utilized the platform their way. Here's how the Dev Library has helped along their journey:

Roaa Khaddam: Roaa is a Senior Flutter Mobile Developer and Co-Founder at MultiCaret Inc.

How has the Dev Library helped you?

“It gave me the opportunity to share what I created with an incredible community and look at the projects my fellow Flutter mates have created. It acts as a great learning resource.”


Somkiat Khitwongwattana: Somkiat is an Android GDE and a consistent user of Android technology from Thailand.

How has the Dev Library helped you?

“I used to discover new open source libraries and helpful articles for Android development in many places and it took me longer than necessary. But the Dev Library allows me to explore these useful resources in one place.”


Kevin Kreuzer: Kevin is an Angular developer and contributes to the community in various ways.

How has the Dev Library helped you?

“Dev Library is a great tool to find excellent Angular articles or open source projects. Dev Library offers a great filtering function and therefore makes it much easier to find the right open source library for your use case.”



What started as a platform to highlight and showcase some open-source projects has grown into a product where developers can share their learnings, inspire others, and contribute to the ecosystem at large.

Do you have an Open Source learning or project in the form of a blog or GitHub repo you'd like to share? Please submit it to the Dev Library platform. We'd love to add you to our ever growing list of developer contributors!

Announcing Flutter for Windows

Posted by @Tim Sneath

Build high-quality Windows apps that also run on mobile and web

Since we launched Flutter, we’ve focused on delivering a cross-platform solution for beautiful, tailored apps that are compiled to machine code and take full advantage of the underlying graphics hardware of your device. Today marks a significant expansion of this vision with the first production release of support for Windows as an app target, enabling Windows developers to benefit from the same productivity and power that mobile developers have been enjoying.

Our goal with Flutter is to give you the tools you need to build a great experience, regardless of which operating system you’re building for. And so we want to bring the same core framework and tools to every place you might want to paint pixels. Flutter allows you to handcraft beautiful experiences where your brand and design come to the forefront. Flutter is fast, compiling directly to machine code; with support for stateful hot reload, you get the productivity of an interactive environment that allows you to make changes while your app is running and see the results immediately. And Flutter is open, with thousands of contributors adding to the core framework and extending it with an ecosystem of packages.

So far, we’ve seen momentum that has exceeded our expectations, with nearly half a million apps now released that use Flutter, including big apps from companies like Betterment, BMW, and ByteDance, and apps from thirty teams at Google. In 2021, Flutter became the most popular cross-platform UI toolkit, as measured by analysts like Statista and SlashData:

Our own data backs this up, with a consistent 92% of Flutter developers expressing positive satisfaction with our tools in all four quarterly surveys in 2021. To the other 8% of you, we’re listening to your feedback and want you to be happy as well!

One common survey request has been for Windows support. Today, we’re thrilled to announce the full availability of support for Windows apps for Flutter in stable builds.

Windows and Flutter

A couple of years ago, we laid out an ambitious vision for Flutter to expand from mobile apps on iOS and Android to other platforms including web and the desktop. The core of Flutter carries across platforms: from the portable, hardware-accelerated Skia graphics engine, to the Flutter rendering system; core primitives like animation, theming, text input, and internationalization; and the hundreds of widgets that Flutter offers.

But desktop apps aren’t just mobile apps running on a bigger screen. They’re designed for different input devices, such as a keyboard and mouse. They have resizable windows that often run on a widescreen monitor. There are different conventions for critical things like accessibility, input method editors, and visual styling. And they integrate with different APIs in the underlying operating system: desktop apps support everything from file system pickers to device hardware to data stores like the Windows registry.

So while we’ve brought Flutter to Windows, we’ve also tailored it for Windows.

Just as with our support for Android and iOS, the Windows implementation of Flutter combines a Dart framework and C++ engine. Windows and Flutter communicate through an embedding layer that hosts the Flutter engine and is responsible for translating and dispatching Windows messages. Flutter coordinates with Windows to paint your UI to the screen, handles events like window resizing and DPI changes, and works with existing Windows modalities for internationalization (such as input method editors).

On Windows, Flutter uses exactly the same Dart code, but takes advantage of native Windows APIs.

Your app can use every part of the Flutter framework, and on Windows, it can also talk to the Win32, COM, and Windows Runtime APIs either directly through Dart’s C interop layer, or using a platform plugin written in C++. We’ve also adapted a number of common plugins to include Windows support, including camera, file_picker, and shared_preferences. More importantly, the community has already added Windows support for a broad array of other packages, covering everything from Windows taskbar integration to serial port access.

For a fully tailored Windows UI, you can also use Flutter Favorite packages like fluent_ui and flutter_acrylic to create an app that expresses the Microsoft Fluent design system beautifully. And using the msix tool you can wrap your app in an installer that can be uploaded to the Microsoft Store on Windows.

There are already hundreds of packages that have been adapted to support Flutter apps built for Windows.

Together, this fosters creation of apps that look great on Windows, run fast on Windows, and still transfer to other desktop or mobile devices, as well as the web. Here are a few early examples that we’ve seen so far:

Some early community examples of Windows apps built with Flutter, including Harmonoid and Rows.

Microsoft and Flutter

Several teams from Microsoft have contributed to today’s announcement. In particular, we’d like to express our gratitude to the Fluent design team for their contribution of iconography for Flutter apps on Windows. Their fluentui_system_icons package has been awarded Flutter Favorite status to signify its quality.

Of course, Visual Studio Code provides a key part of the tooling experience for Flutter apps. Our Dart extension has been downloaded over 4 million times, and we’ve been grateful for their partnership and support of our feature requests to improve Flutter development using their tools.

We asked the Windows team if they’d be willing to share a few words about Flutter’s support. Here’s what Kevin Gallo, Corporate Vice President for Windows Developer Platform at Microsoft, has to say:

“We're delighted to see Flutter adding support for creating Windows apps. Windows is an open platform, and we welcome all developers. We're excited to see Flutter developers bring their experiences to Windows and also publish to the Microsoft Store. Flutter support for Windows is a big step for the community, and we can’t wait to see what you’ll bring to Windows!”

We’ve been particularly impressed with the investments Microsoft has made around accessibility for Windows, and we’re grateful for their team’s assistance to ensure Flutter has support for screen readers from day one. It’s a mistake to dismiss accessibility as a niche interest. As this diagram from Microsoft’s inclusive design toolkit illustrates, we all have reason to care about delivering experiences that adapt for different permanent, temporary, or situational needs.

The video below demonstrates how Flutter integrates with Windows Narrator. For the purposes of this video, we’ve deliberately blurred the screen to give you a sense of how important this feature is to users who need it.

An ecosystem of tools for Windows development

Our tooling partners are also adding support for Windows.

  • FlutterFlow, the low-code Flutter app design tool, is announcing support today for Windows and features to help developers target desktop form factors from their Flutter apps.
  • Realm is a super-fast local data store. The latest version, shipping today, now supports building Windows apps with Flutter, with fast access to the underlying database using Dart FFI, adding to their existing support for mobile platforms like iOS and Android.
  • Rive announced today an upcoming Windows version of their popular graphics tooling suite, allowing designers and developers to create interactive vector animations that can respond to code in real time using a state machine. The upcoming Windows edition of their app offers screaming fast performance and a lower memory footprint, and will be available soon in the Microsoft Store for download.
  • Syncfusion have updated their suite of widgets to take full advantage of Windows. If you subscribe to their toolkit, you’ll find data visualization components like treemaps and charting, a rich data grid widget, calendars and even support for PDF creation and Excel spreadsheets.
  • Lastly, Nevercode has updated their Codemagic CI/CD tool to support Windows, enabling you to test and build your Windows apps in the cloud and automate deployment of your app to the Windows Store.

It’s very exciting for us to see a mature ecosystem built around Flutter, and we’d encourage you to check out each of these partners as you start building Windows apps with Flutter.

Windows support arrives in Flutter 2.10

Stable, production-quality support for building Windows apps is available as part of Flutter 2.10, which releases today. Flutter 2.10 also includes many other features, performance improvements and bug fixes, which we’ll cover in more detail in a separate blog post.

In the coming months, you’ll hear more from us on completing stable support for macOS and Linux, making the full set of desktop, web, and mobile platforms available for your production Flutter apps.

In the meantime, thank you for your support of Flutter. We’re excited to see what you build for Windows!

Learn Flutter for free with Flutter Apprentice!

Posted by Shams Zakhour

Image of cover of Flutter Apprentice book with  the Flutter bird

We’ve heard from many folk that they want to learn Flutter, but don’t know where to start. So we have some great news for you — we’re giving away a free book for the next three months, along with a book club to help track your progress and answer questions.

Flutter Apprentice is written to build on mobile development fundamentals. It takes you through your first fully-featured Flutter app, including designing a complex UI, as well as more advanced concepts such as persistence, state management, and cloud storage with Firebase. The book even covers publishing on both iOS and Android platforms.

Flutter Apprentice comes from Razeware, the team behind the raywenderlich.com books, videos and tutorials. The book normally costs $60 to purchase, but you’ll have free access to Flutter Apprentice from today, October 6, 2021 through January 6, 2022.

Flutter Apprentice is a practical book, with lots of examples to follow and code that you can put to use in your own apps. And it’s based on the very latest Flutter 2.5 release and the latest features in the Dart language. Whether you’re an experienced developer looking to deepen your understanding of Flutter’s more advanced features, or you’re new to app development and interested in adding Flutter to your front-end development toolkit, we think you’ll find plenty of useful content.

Image of Flutter Bird holding a laptop while standing in front of a presentation board

Learn Together

We’re also excited to host the Flutter Apprentice Book Club, a weekly opportunity to hear live discussion and have your questions answered by the book’s authors and community experts. We’ll be partnering with Flutteristas and other prominent leaders in the Flutter community to host the book club. Join us each Wednesday at 12pm EST / 9am PST on the Flutter Community YouTube channel for summaries, and discussions.

Stay tuned for pop quizzes, chances to win your very own Dash plushie, AMAs with the book’s authors and more.

Get Access

To get started, go to flutter.dev/apprentice-giveaway, where you’ll find instructions on accessing the book.

You can also subscribe to updates from the Flutter team. We’re looking forward to joining you on the journey; see you along the way!

Introducing the Flutter Meetup Network!

Posted by Sarah Fullmer, Program Manager

Image of three blue Flutter birds

The Flutter Meetup Network (FMN) is an international network of Meetup groups united by their enthusiasm for Flutter. The FMN program mission is to foster a thriving worldwide community of Flutter developers by empowering community organizers to educate and inspire local communities with engaging events.

Meetups – and similar developer community groups - are a great resource. As Flutter has grown in popularity over the past few years, over 100 Meetup groups have sprung up organically around the world to celebrate and educate their members about Flutter. The volunteers who run these groups have hosted many awesome events and workshops.

Image of world map showing Flutter Meetup opportunities. Shows 102 groups across 52 countries

We, in the Flutter team, see and appreciate these amazing communities. ? The Flutter Meetup Network (FMN) is now being launched to support these groups officially. Network members will have access to various resources (more details available soon!), making it easier to plan and host Flutter-themed events.

Meetups have many benefits, aside from networking. When stuck on an issue in your current Flutter project, chances are good that you can find a developer in your local Flutter Meetup who has solved a similar problem. Or, maybe they know the perfect package for your needs.

We are thrilled to support our amazing and passionate organizers and can’t wait to see what the Flutter Meetup Network does moving forward.

Join a Meetup near you! https://www.meetup.com/pro/flutter

Behind the scenes: How the Google I/O photo booth was made

Posted by the Google Developers team

A closer look at building a Flutter web app with Google Developer products

If you attended Google I/O this year, you probably stopped by the Google I/O photo booth for a selfie with our Google Developer mascots: Flutter’s Dash, Android Jetpack, Chrome’s Dino, and Firebase’s Sparky. If you didn’t, it’s not too late to jump in, take a selfie, and share it on social media! We loved seeing all of the pictures you posted and your favorite props! Want to learn more about building a camera plugin, layouts, and gestures used in a photo booth for Flutter on the web?

Android, Dino, Dash, and Sparky all gathered around the photo booth

It took a combination of Google developer products to make the photo booth successful. The Flutter and Firebase teams joined forces to build a best in class example of Flutter on the web that used Firebase for hosting, auth, performance monitoring, and social sharing. Take a closer look at how the photo booth was built here and then grab the open source code on Github!

Flutter team members having fun in the photo booth

Flutter team members having fun in the photo booth!

A conversation with Hebe He, a developer from Guangzhou

Posted by Brian Shen, Program Manager, Google Developers

Google Developer Groups are one of the largest community networks of developers in the world. Every group has an organizer that helps curate events based on the interests of their local developer community.

As we continue to explore how different Google Developer Groups build their communities, we interviewed Hebe He, an organizer of Google Developer Group Guangzhou in China. Learn more about how she is building the developer scene in China, thinking up new events for her community, and more below.

Hebe He, an organizer of Google Developer Group Guangzhou in China.

Hebe He, an organizer of Google Developer Group Guangzhou in China.

Tell us about yourself.

I am Hebe from China and I'm a native of Guangzhou. I'm the organizer of GDG Guangzhou, as well as an ambassador for Women Techmakers (WTM). I work at one of China's new electric-vehicle brands, where I'm responsible for the intelligent business operation of the Internet of Vehicles. I'm relatively outgoing and active, so I really like to deal with different people, whether it's at work or in other activities.

How did you learn about Google Developer Groups?

In 2014, I participated in GDG Guangzhou DevFest for the first time by coincidence and met the founder of GDG Guangzhou. Afterward, I joined the founder's company and volunteered at many GDG programs. In 2017, I officially became an organizer after the existing organizers recognized my ability and desire to contribute more to the GDG Guangzhou community.

Tell us more about Guangzhou and the developer community there.

Our community members are talented, passionate, and amazing. I see all kinds of possibilities in them. They're always excited for every event we hold, keep a fanatical attitude toward Google's technological innovation, and are particularly interested in Android, Kotlin, and Flutter.

What are events like in your community?

We highly value feedback from event participants, who are interested in a wide range of topics. For this reason, we generally use 15% of every event to cover non-technical topics, such as entrepreneurship, business management, and careers. For more comprehensive activities, such as DevFest, we increase the amount of non-technical content to roughly 30%.

What is your Google Developer Group focused on right now?

We devote most of our energy to improving the quality of activities. We try to add more elements to the event to strengthen the interaction of participants in hopes of improving the feedback mechanism and gaining more valuable suggestions for future event optimization. We also try to improve the quality of guests and themes, and pay more attention to event details, such as event announcements, registration, and check-in.

What’s your favorite community memory from a Google Developer Group event?

The memory that touches me the most is the construction of WTM Guangzhou. From the first event with only 80 developers to the audience of more than 500 people in recent years, it represents the recognition of, and support for, our events. There are many people who come to participate every year; some are actively encouraging their friends to participate and others are even urging us to hold events. They feel honored to be invited to our events and their enthusiasm endured during the pandemic.

What's next for you and your Google Developer Group?

There's still lots of room to grow in our community. We hope that we can continue to develop a Google Developer Group that reflects the best of Guangzhou. We also hope to find better ways to accumulate the experience shared by speakers and the value of community users.

If you want to grow your career and coding knowledge with people like Hebe He, join a Google Developer Group near you.