<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Stories by Flutter Community on Medium]]></title>
        <description><![CDATA[Stories by Flutter Community on Medium]]></description>
        <link>https://medium.com/@flutter_community?source=rss-525d26407b95------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/1*pZBPWp54zj_TlI0GkaGNew.png</url>
            <title>Stories by Flutter Community on Medium</title>
            <link>https://medium.com/@flutter_community?source=rss-525d26407b95------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Thu, 05 Nov 2026 00:04:26 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@flutter_community/feed" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com" rel="hub"/>
        <item>
            <title><![CDATA[DartPad Workshops from Flutter GDEs]]></title>
            <link>https://medium.com/flutter-community/dartpad-workshops-from-flutter-gdes-622b52f70173?source=rss-525d26407b95------2</link>
            <guid isPermaLink="false">https://medium.com/p/622b52f70173</guid>
            <category><![CDATA[flutter-app-development]]></category>
            <category><![CDATA[googleio]]></category>
            <category><![CDATA[flutter]]></category>
            <dc:creator><![CDATA[Flutter Community]]></dc:creator>
            <pubDate>Wed, 11 May 2022 23:37:25 GMT</pubDate>
            <atom:updated>2022-05-11T23:37:25.113Z</atom:updated>
            <content:encoded><![CDATA[<p>Dartpad Workshop UI is a new feature for <a href="https://dartpad.dev/?">DartPad</a> that displays step-by-step Flutter/Dart tutorials. Flutter Google Developer Experts created various workshops on DartPad Workshop UI, to help you learn deep dive Flutter topics.</p><p>To show you how it works, we’ve compiled a list of a few awesome workshops created by Flutter GDEs. Give them a try and let us know what you think! 😄</p><h3><strong>Writing code as a mathematician</strong></h3><p><strong><em>Created by </em></strong><a href="https://twitter.com/olexale"><strong><em>Oleksandr Leushchenko</em></strong></a></p><p>In math, functions always provide the same output for a given input and have no side effects. Devs may also benefit from these universal concepts. In this workshop, we’ll shift imperative logic to declarative and learn some FP patterns in Dart.</p><p><em>Check out the </em><a href="https://goo.gle/coding-as-a-mathematician"><em>workshop</em></a><em>.</em></p><h3><strong>Creating a keyboard oriented puzzle game for Flutter</strong></h3><p><strong><em>Created by </em></strong><a href="https://twitter.com/salihgueler"><strong><em>Muhammed Salih Güler</em></strong></a></p><p>Flutter supports Desktop, Web and Mobile. How to use keyboard to serve your application while taking advantage of the muscle memory of the users is an important topic for users. With this workshop, you will be learning about how you can have app level and local keyboard shortcuts and how you can use them to have a great game for your users.</p><p><em>Check out the </em><a href="https://goo.gle/puzzle-with-flutter"><em>workshop</em></a><em>.</em></p><h3><strong>Learning Flutter for native iOS developers</strong></h3><p><strong><em>Created by </em></strong><a href="https://twitter.com/vandadnp"><strong><em>Vandad Nahavandipoor</em></strong></a></p><p>SwiftUI has brought iOS development to a good level, closer to Flutter, but Apple’s decision to have the iOS SDK available only on macOS limits the reach of SwiftUI. In that way Flutter is a lot more flexible. In this workshop I will present Dart and Flutter to those who are familiar with native iOS development and compare the features of Dart and Flutter to those of Swift and SwiftUI. The goal of this workshop is to help you start learning Flutter as a native iOS developer.</p><p><em>Check out the </em><a href="https://goo.gle/flutter-for-ios-devs"><em>workshop</em></a><em>.</em></p><h3><strong>Handling errors gracefully</strong></h3><p><strong><em>Created by </em></strong><a href="https://twitter.com/mhadaily"><strong><em>Majid Hajian</em></strong></a></p><p>Errors can happen anytime in any application. Showing proper messages to your app users will significantly boost their experiences, but how can you do that? In this workshop, we are going beyond try/catch and will handle errors by creating our customer failure class as well as a widget and we will show proper messages based on the received messages.</p><p><em>Check out the </em><a href="https://goo.gle/handling-errors"><em>workshop</em></a><em>.</em></p><h3><strong>Implicit animations in Flutter</strong></h3><p><strong><em>Created by </em></strong><a href="https://twitter.com/p_szklarska"><strong><em>Paulina Szklarska</em></strong></a></p><p>Animations are an important part of every application’s look and feel. However, creating them can be sometimes overwhelming. Luckily, Flutter offers a set of widgets that allow to animate properties of the most common widgets in a simple way! In this workshop, you’re going to learn how to modify your existing widgets to convert them into animated widgets.</p><p><em>Check out the </em><a href="https://goo.gle/implicit-animations-with-flutter"><em>workshop</em></a><em>.</em></p><h3><strong>Add type-safety to Firestore queries with converters</strong></h3><p><strong><em>Created by </em></strong><a href="https://twitter.com/pr_Mais"><strong><em>Mais Alheraki</em></strong></a></p><p>Firestore is a NoSQL database provided by Firebase. It’s one of the most popular choices with Flutter. By default, Firestore document references manipulate a Map&lt;String, dynamic&gt; object. Accessing any field in the Map is not type-safe, we need to make sure a field has the correct type before using its value. In this workshop, we will learn about Firestore converters, and how to use them to make our apps more type-safe.</p><p><em>Check out the </em><a href="https://goo.gle/add-typesafety-to-firestore-queries"><em>workshop</em></a><em>.</em></p><h3><strong>A beginners guide to Futures</strong></h3><p><strong><em>Created by </em></strong><a href="https://twitter.com/FilledStacks"><strong><em>Dane Mackier</em></strong></a></p><p>Futures are a very commonly used type in Dart and Flutter. Knowing how to use them can speed up your development and help you build more advanced systems. In this workshop we will go over how to use Futures, what to use them for, how to handle their errors and much more.</p><p><em>Check out the </em><a href="https://goo.gle/beginners-guide-to-futures"><em>workshop</em></a><em>.</em></p><h3><strong>Implement a LazyIndexedStack</strong></h3><p><strong><em>Created by </em></strong><a href="https://github.com/AlexV525"><strong><em>Alex Li</em></strong></a></p><p>IndexedStack hosts a list of widgets and switches the display between them, but it’ll initialize all widgets at the same time at first. A LazyIndexedStack will initialize each widget when they are actually needed to display, which can save layout costs.</p><p><em>Check out the </em><a href="https://goo.gle/LazyIndexedStack"><em>workshop</em></a><em>.</em></p><h3><strong>Portfolio app using Flutter Web</strong></h3><p><strong><em>Created by </em></strong><a href="https://twitter.com/KelkarRenuka"><strong><em>Renuka Kelkar</em></strong></a></p><p>IndexedStack hosts a list of widgets and switches the display between them, but it’ll initialize all widgets at the same time at first. A LazyIndexedStack will initialize each widget when they are actually needed to display, which can save layout costs.</p><p><em>Check out the </em><a href="https://goo.gle/flutter-web-portfolio-app"><em>workshop</em></a><em>.</em></p><h3><strong>Consistent design with Flutter Theme</strong></h3><p><strong><em>Created by </em></strong><a href="https://twitter.com/AnnaLeushchenko"><strong><em>Anna Leushchenko</em></strong></a></p><p>Consistency is a winning strategy for a good application UI. And Flutter developers don’t have to be professional designers to achieve it. As usual, there is a widget for that — Theme! Find more details about effortless consistent Flutter application design in this workshop.</p><p><em>Check out the </em><a href="https://goo.gle/consistent-design-flutter-theme"><em>workshop</em></a><em>.</em></p><h3><strong>Responsive UIs in Flutter: Creating Fluid User Interfaces</strong></h3><p><strong><em>Created by </em></strong><a href="https://twitter.com/drcoderz"><strong><em>Roman Jaquez</em></strong></a></p><p>Flutter is a portable language: it can render on Mobile, Desktop, Web — even embedded. But portability goes beyond its cross-platform capabilities. You should strive to make your apps adjust to the multiple screens in which your users will consume your app. In this workshop you’ll learn how to take advantage of the responsive capabilities available in Flutter and make your Flutter apps adapt to the screens in which they render, and create fluid, responsive experience that will delight your users, regardless of the platform, screen size, orientation, etc.</p><p><em>Check out the </em><a href="https://goo.gle/responsive-ui-with-flutter"><em>workshop</em></a><em>.</em></p><h3><strong>Segmented state pattern with flutter_bloc</strong></h3><p><strong><em>Created by </em></strong><a href="https://twitter.com/mkobuolys"><strong><em>Mangirdas Kazlauskas</em></strong></a></p><p>Flutter is a portable language: it can render on Mobile, Desktop, Web — even embedded. But portability goes beyond its cross-platform capabilities. You should strive to make your apps adjust to the multiple screens in which your users will consume your app. In this workshop you’ll learn how to take advantage of the responsive capabilities available in Flutter and make your Flutter apps adapt to the screens in which they render, and create fluid, responsive experience that will delight your users, regardless of the platform, screen size, orientation, etc.</p><p><em>Check out the </em><a href="https://goo.gle/segmented-state"><em>workshop</em></a><em>.</em></p><h3><strong>Journey from mobile to Web/Desktop</strong></h3><p><strong><em>Created by </em></strong><a href="https://twitter.com/shuregdenisov"><strong><em>Aleksandr Denisov</em></strong></a></p><p>Web/desktop apps are different from Mobile because keyboard and mouse control is different from tapping on the screen. Let’s remake a mobile app into a web/desktop one, and figure out how to properly manage focus and what a hover effect is.</p><p><em>Check out the </em><a href="https://goo.gle/hover-effect"><em>workshop</em></a><em>.</em></p><h3><strong>Writing reactive code with Flutter</strong></h3><p><strong><em>Created by </em></strong><a href="https://twitter.com/pooja_bhaumik"><strong><em>Pooja Bhaumik</em></strong></a></p><p>Reactive programming can help build highly reactive and responsive apps that are more data-oriented. You change data in one part of the application, and it should reflect to all the other parts of the application that depend on it and react to the change automatically. We will discover various ways we can use to build such reactive applications in Flutter, including in-built Streams, ValueNotifiers, but also explore community build reactive solutions like Riverpod.</p><p><em>Check out the </em><a href="https://goo.gle/reactive-code-with-flutter"><em>workshop</em></a><em>.</em></p><h3><strong>Extension Method</strong></h3><p><strong><em>Created by </em></strong><a href="https://twitter.com/ibhavikmakwana/"><strong><em>Bhavik Makwana</em></strong></a></p><p>Extension method allows us to add new functionality to already available libraries. It does not allow us to modify existing code directly but gives us the ability to customize a class in a way that we can use easily.</p><p><em>Check out the </em><a href="https://goo.gle/extension-method"><em>workshop</em></a><em>.</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=622b52f70173" width="1" height="1" alt=""><hr><p><a href="https://medium.com/flutter-community/dartpad-workshops-from-flutter-gdes-622b52f70173">DartPad Workshops from Flutter GDEs</a> was originally published in <a href="https://medium.com/flutter-community">Flutter Community</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Resuming applications!]]></title>
            <link>https://medium.com/flutter-community/resuming-applications-b771818b338?source=rss-525d26407b95------2</link>
            <guid isPermaLink="false">https://medium.com/p/b771818b338</guid>
            <category><![CDATA[flutter]]></category>
            <category><![CDATA[flutter-community]]></category>
            <dc:creator><![CDATA[Flutter Community]]></dc:creator>
            <pubDate>Sun, 24 Apr 2022 21:00:23 GMT</pubDate>
            <atom:updated>2022-04-24T21:00:23.055Z</atom:updated>
            <content:encoded><![CDATA[<h3>Resuming Applications</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*X4b-UVBpWZwVWwQcF_KjbQ.png" /></figure><p>A little over a year ago, the Flutter Community Editorial team decided to pause on accepting new writers.</p><p>At the time, we were averaging somewhere between 3–5 new submissions a day with an extensive content backlog of varying length and quality.</p><p>As a small three-person team with full-day jobs and other community commitments, the workload became too much. There was not enough time to juggle full-time working jobs and then edit the number of submissions FC was receiving.</p><p>Fast forward a year, and things have somewhat stabilized. That’s why we will reopen the writer’s request and submissions for Medium today.</p><h3>Submission Process</h3><p>To submit a blog post to Flutter Community, please complete our new <a href="https://medium.com/flutter-community/resuming-applications-b771818b338">submission form</a> with your details.</p><p>Given the surge of requests we experienced last year, <strong>we will rely on you</strong> to keep things moving along. Please review our <a href="https://medium.com/flutter-community/flutter-community-submission-guidelines-acf359177d51">submission guidelines</a> carefully before sending us your blog posts. <em>Submissions that fail to meet these guidelines will not be accepted</em>.</p><p><em>Please use free grammar and spell-check tools like </em><a href="https://www.grammarly.com/"><em>Grammarly</em></a><em> </em><strong><em>before </em></strong><em>sending us your blog posts.</em></p><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fairtable.com%2Fembed%2FshrapcK1t0ZHESe1n&amp;display_name=Airtable&amp;url=https%3A%2F%2Fairtable.com%2FshrapcK1t0ZHESe1n&amp;image=https%3A%2F%2Fstatic.airtable.com%2Fimages%2Foembed%2Fairtable.png&amp;key=a19fcc184b9711e1b4764040d3dc5c07&amp;type=text%2Fhtml&amp;schema=airtable" width="800" height="533" frameborder="0" scrolling="no"><a href="https://medium.com/media/228cd1c36966e60ce747673ccc1c0889/href">https://medium.com/media/228cd1c36966e60ce747673ccc1c0889/href</a></iframe><h3>Next Steps</h3><p>After submitting your writer’s request or blog post, we will review your submission and get back to you within a week. For new writers, we will send you an email (to be provided during your submission request) confirming your acceptance.</p><p>If you don’t hear back from us within a week, please assume that we kindly passed on your submission.</p><h3>FAQ</h3><p><strong>Should I fill out a form if I’m already a writer?</strong></p><p>Yes! Please complete a submission via the form even if you are an existing Flutter Community Writer. Keeping submission requests centralized helps a ton when evaluating submissions.</p><p><strong>What are the acceptance criteria for submissions?</strong></p><p>Our submission guidelines are detailed in <a href="https://medium.com/flutter-community/flutter-community-submission-guidelines-acf359177d51">this blog post.</a></p><p><strong>How will I know if my blog post is accepted?</strong></p><p>If your blog post meets our submission guidelines, a note will be added to your blog post on Medium. For new writers, you will receive a welcome email confirming your acceptance.</p><p><strong>Can I cross-post from my website?</strong></p><p>Yes! We allow cross-posting with canonical URLs once the piece meets our <a href="https://medium.com/flutter-community/flutter-community-submission-guidelines-acf359177d51">submission guidelines</a>. Posts that are “hollow” or obvious adverts for companies or products will not be accepted.</p><p>Have any questions, send us an <a href="mailto:us@fluttercommunity.dev">email</a> or reach out to us on <a href="https://twitter.com/FlutterComm">Twitter</a>!</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=b771818b338" width="1" height="1" alt=""><hr><p><a href="https://medium.com/flutter-community/resuming-applications-b771818b338">Resuming applications!</a> was originally published in <a href="https://medium.com/flutter-community">Flutter Community</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
    </channel>
</rss>