<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Posts on QuickCoder</title>
    <link>https://quickcoder.org/posts/</link>
    <description>Recent content in Posts on QuickCoder</description>
    <image>
      <title>QuickCoder</title>
      <url>https://quickcoder.org/images/papermod-cover.png</url>
      <link>https://quickcoder.org/images/papermod-cover.png</link>
    </image>
    <generator>Hugo</generator>
    <language>en</language>
    <copyright>xeladu</copyright>
    <lastBuildDate>Mon, 13 Jul 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://quickcoder.org/posts/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>How To Enable Test Purchases For Your Android Apps</title>
      <link>https://quickcoder.org/posts/how-to-enable-test-purchases-for-your-android-apps/</link>
      <pubDate>Mon, 13 Jul 2026 00:00:00 +0000</pubDate>
      <guid>https://quickcoder.org/posts/how-to-enable-test-purchases-for-your-android-apps/</guid>
      <description>&lt;h3 id=&#34;introduction&#34;&gt;Introduction&lt;/h3&gt;
&lt;p&gt;Many developers want to monetize their apps to cover development costs. One common approach is a subscription-based app model. In this article, I am going to show you how to enable test purchases for your Android apps to easily test your subscriptions and digital products.&lt;/p&gt;
&lt;h3 id=&#34;what-you-need&#34;&gt;What you need&lt;/h3&gt;
&lt;p&gt;To get started, you need a working Android app in the internal test track and test users.&lt;/p&gt;
&lt;p&gt;To allow test purchases for your test users, go to the &lt;strong&gt;Play Console&lt;/strong&gt; -&amp;gt; &lt;strong&gt;Settings&lt;/strong&gt; -&amp;gt; &lt;strong&gt;License testing&lt;/strong&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Why Does Copilot Suddenly Appear In GitHub Commit Messages?!</title>
      <link>https://quickcoder.org/posts/copilot-in-github-commit-messages/</link>
      <pubDate>Mon, 04 May 2026 00:00:00 +0000</pubDate>
      <guid>https://quickcoder.org/posts/copilot-in-github-commit-messages/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;
&lt;p&gt;A few days ago, I started noticing that Copilot was a co-author in some of my commits to my GitHub project. Since I write commit messages myself, I had no idea what this was about. The hint in GitHub just tells&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-yaml&#34; data-lang=&#34;yaml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nt&#34;&gt;Co-authored-by&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;Copilot &amp;lt;copilot@github.com&amp;gt;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Yes, I am using GitHub Copilot for development. But I haven’t seen any information that it will be mentioned in my commits as co-author. It just appeared one day.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Hate The AI Slop In Windows? Here Is How To Disable AI in Windows</title>
      <link>https://quickcoder.org/posts/disable-ai-in-windows/</link>
      <pubDate>Fri, 16 Jan 2026 00:00:00 +0000</pubDate>
      <guid>https://quickcoder.org/posts/disable-ai-in-windows/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;
&lt;p&gt;Windows 11 is forcing us to use AI, ads, and many other features most people don’t want. Here is how you disable AI in Windows.&lt;/p&gt;
&lt;p&gt;In recent years, Microsoft changed Windows from a local operating system to an always-online, cloud-based, agentic one full of AI slop, ads, and unwanted features.&lt;/p&gt;
&lt;p&gt;Here are some of the feature that nobody asked for and nobody wants:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Windows Recall&lt;/li&gt;
&lt;li&gt;Windows Copilot&lt;/li&gt;
&lt;li&gt;Start menu searches the web&lt;/li&gt;
&lt;li&gt;Ads everywhere&lt;/li&gt;
&lt;li&gt;Excessive telemetry information&lt;/li&gt;
&lt;li&gt;…&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I have been using Windows for years and it wasn’t a problem until recently. Due to some app constraints, I cannot switch to Linux and I am also not a big fan of virtual machines or dual boot solutions. &lt;/p&gt;</description>
    </item>
    <item>
      <title>How To Use Google Fonts In Your Flutter App</title>
      <link>https://quickcoder.org/posts/how-to-use-google-fonts-in-your-flutter-app/</link>
      <pubDate>Wed, 10 Sep 2025 00:00:00 +0000</pubDate>
      <guid>https://quickcoder.org/posts/how-to-use-google-fonts-in-your-flutter-app/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;
&lt;p&gt;&lt;a href=&#34;https://fonts.google.com/&#34;&gt;Google Fonts&lt;/a&gt; contains over 1,800 different fonts that are free to use. You’ll find the perfect font for any app in their repository. But how do you get them in your app? The &lt;a href=&#34;https://docs.flutter.dev/cookbook/design/fonts&#34;&gt;usual way&lt;/a&gt; is to download the fonts, add them to your &lt;code&gt;pubspec.yaml&lt;/code&gt;, and configure them in your app. But there is an easier way. So here is how to use Google Fonts in your Flutter app!&lt;/p&gt;
&lt;h1 id=&#34;install-thepackage&#34;&gt;Install the package&lt;/h1&gt;
&lt;p&gt;Manually installing fonts is not hard, but it’s a bit annoying. The &lt;a href=&#34;https://pub.dev/packages/google_fonts&#34;&gt;google_fonts&lt;/a&gt; package takes care of most of it. Install the package for your app.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How To Handle Tap Gestures In Widget Tests</title>
      <link>https://quickcoder.org/posts/how-to-handle-tap-gestures-in-widget-tests/</link>
      <pubDate>Fri, 01 Aug 2025 00:00:00 +0000</pubDate>
      <guid>https://quickcoder.org/posts/how-to-handle-tap-gestures-in-widget-tests/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;
&lt;p&gt;I tried to do something pretty simple in my opinion. Have a widget handle tap, long press, double tap, and right click events. Making it work is rather easy, but it’s way harder to test than I ever imagined. Here is my approach on how to handle tap gestures in widget tests.&lt;/p&gt;
&lt;h1 id=&#34;testing-tapevents&#34;&gt;Testing tap events&lt;/h1&gt;
&lt;p&gt;I started with a &lt;code&gt;ListTile&lt;/code&gt; which offers &lt;a href=&#34;https://api.flutter.dev/flutter/material/ListTile/onTap.html&#34;&gt;onTap&lt;/a&gt; and &lt;a href=&#34;https://api.flutter.dev/flutter/material/ListTile/onLongPress.html&#34;&gt;onLongPress&lt;/a&gt; to begin with. Things went smoothly and here is a working widget test:&lt;/p&gt;</description>
    </item>
    <item>
      <title>How To Test Your Responsive Flutter App</title>
      <link>https://quickcoder.org/posts/how-to-test-your-responsive-flutter-app/</link>
      <pubDate>Thu, 31 Jul 2025 00:00:00 +0000</pubDate>
      <guid>https://quickcoder.org/posts/how-to-test-your-responsive-flutter-app/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;
&lt;p&gt;Flutter web apps become more and more popular and the Flutter team has made significant improvements over the last years to the platform.&lt;/p&gt;
&lt;p&gt;A good web app needs to be responsive these days. Flutter offers some solutions here (&lt;a href=&#34;https://api.flutter.dev/flutter/widgets/LayoutBuilder-class.html&#34;&gt;LayoutBuilder&lt;/a&gt;, &lt;a href=&#34;https://api.flutter.dev/flutter/widgets/MediaQuery-class.html&#34;&gt;MediaQuery&lt;/a&gt;), but testing still feels hard.&lt;/p&gt;
&lt;p&gt;I came up with some solutions myself which I want to share. So here is how to test your responsive Flutter app.&lt;/p&gt;
&lt;h1 id=&#34;breakpoints&#34;&gt;Breakpoints&lt;/h1&gt;
&lt;p&gt;This article focuses on widget testing since this is the layer that handles the responsiveness. The basic idea is to run every test with a different resolution with minimal effort. I use this little helper in various forms:&lt;/p&gt;</description>
    </item>
    <item>
      <title>The Best Way To Consume APIs In Your Apps!</title>
      <link>https://quickcoder.org/posts/the-best-way-to-consume-apis-in-your-apps/</link>
      <pubDate>Thu, 03 Jul 2025 00:00:00 +0000</pubDate>
      <guid>https://quickcoder.org/posts/the-best-way-to-consume-apis-in-your-apps/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;
&lt;p&gt;When consuming large REST APIs, it requires writing a lot of boilerplate code to support all required endpoints. To make your life easier, you can use generators to automatically create type-safe production code for your apps. I’ll show you how to do this in this article. All it takes are 5 minutes of setup and you can enjoy the best way to consume APIs in your apps.&lt;/p&gt;
&lt;h1 id=&#34;requirements&#34;&gt;Requirements&lt;/h1&gt;
&lt;p&gt;This approach only works if the API source offers an &lt;a href=&#34;https://swagger.io/specification/&#34;&gt;open API specification&lt;/a&gt; file to generate the code. It can be either in json or yaml format and is usually available for download in the documentation of the API.&lt;/p&gt;</description>
    </item>
    <item>
      <title>4 Firebase Services That Are Always Free</title>
      <link>https://quickcoder.org/posts/4-firebase-services-that-are-always-free/images/</link>
      <pubDate>Thu, 26 Jun 2025 00:00:00 +0000</pubDate>
      <guid>https://quickcoder.org/posts/4-firebase-services-that-are-always-free/images/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;
&lt;p&gt;I have read more and more articles in recent months saying that Firebase is too expensive. While that might be true for some cases, it is not for others. In this article, I want to present 4 Firebase services that are always free.&lt;/p&gt;
&lt;p&gt;No credit card information, no bank accounts required, no usage limits. All you need is a &lt;a href=&#34;https://quickcoder.org/posts/firebase-flutter-setup/&#34;&gt;Firebase account and a Firebase project&lt;/a&gt; to get started.&lt;/p&gt;
&lt;h1 id=&#34;firebase-remoteconfig&#34;&gt;Firebase Remote Config&lt;/h1&gt;
&lt;p&gt;📺 &lt;a href=&#34;https://www.youtube.com/watch?v=%5c_CXXVFPO6f0&#34;&gt;YouTube Tutorial&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>The Best Flutter UI Library Alternatives</title>
      <link>https://quickcoder.org/posts/best-flutter-ui-library-alternatives/</link>
      <pubDate>Tue, 10 Jun 2025 00:00:00 +0000</pubDate>
      <guid>https://quickcoder.org/posts/best-flutter-ui-library-alternatives/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;
&lt;p&gt;Sick of Material Design? Try out the best Flutter UI library alternatives to make your app stand out from the rest!&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://docs.flutter.dev/ui/widgets/material&#34;&gt;Material&lt;/a&gt; and &lt;a href=&#34;https://docs.flutter.dev/ui/widgets/cupertino&#34;&gt;Cupertino&lt;/a&gt; designs have been part of the Flutter ecosystem since the beginning. But sometimes you want your app to look differently without doing all the styling. In this article, I am presenting the best Flutter UI library alternatives found on &lt;a href=&#34;https://pub.dev&#34;&gt;pub.dev&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;All presented packages offer a large amount of widgets ready to be used in your apps. The goal is to spend less time with styling and more time with feature development.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Exploring Firebase Studio — A New AI Cloud Code Editor</title>
      <link>https://quickcoder.org/posts/exploring-firebase-studio/</link>
      <pubDate>Mon, 09 Jun 2025 00:00:00 +0000</pubDate>
      <guid>https://quickcoder.org/posts/exploring-firebase-studio/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;
&lt;p&gt;I am exploring Firebase Studio to find out if it’s already a serious competitor for Windsurf or Cursor.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://studio.firebase.com&#34;&gt;Firebase Studio&lt;/a&gt; is the new kid on the block after &lt;a href=&#34;https://www.cursor.com/&#34;&gt;Cursor&lt;/a&gt; and &lt;a href=&#34;https://windsurf.com/&#34;&gt;Windsurf&lt;/a&gt; made vibe coding generally available. Instead of writing code directly, users prompt the AI to get a working app for mobiles or the web. In this article, I am exploring Firebase Studio and find out if the tool is already worth a try or not.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How To Enable Hot Reload For Flutter Web</title>
      <link>https://quickcoder.org/posts/how-to-enable-hot-reload-for-flutter-web/</link>
      <pubDate>Fri, 06 Jun 2025 00:00:00 +0000</pubDate>
      <guid>https://quickcoder.org/posts/how-to-enable-hot-reload-for-flutter-web/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;
&lt;p&gt;Mobile apps already benefit from it. Next in line is Flutter web. So here is how to enable hot reload for Flutter web apps!&lt;/p&gt;
&lt;p&gt;Debugging web apps has always been a little painful for me. Imagine you have multiple menus and nested screens. Any change resulted in a hot restart and you had to navigate to the previous screen again to see if the changes were applied. But things are about to get better!&lt;/p&gt;</description>
    </item>
    <item>
      <title>How To Show A Popup In Your Flutter App With Riverpod</title>
      <link>https://quickcoder.org/posts/how-to-show-a-popup-in-your-flutter-app-with-riverpod/</link>
      <pubDate>Wed, 04 Jun 2025 00:00:00 +0000</pubDate>
      <guid>https://quickcoder.org/posts/how-to-show-a-popup-in-your-flutter-app-with-riverpod/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;
&lt;p&gt;Displaying a popup is a rather trivial task for any seasoned Flutter developer. But when you are using Riverpod as state management solution, it can be a bit tricky. Here is my approach on how to show a popup in your Flutter app with Riverpod.&lt;/p&gt;
&lt;h1 id=&#34;why-addpostframecallback-doesntwork&#34;&gt;Why addPostFrameCallback doesn’t work&lt;/h1&gt;
&lt;p&gt;First, you might come up with this approach:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-dart&#34; data-lang=&#34;dart&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;class&lt;/span&gt; &lt;span class=&#34;nc&#34;&gt;MyView&lt;/span&gt; &lt;span class=&#34;kd&#34;&gt;extends&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;StatefulWidget&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;kd&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;MyView&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;({&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;super&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;key&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;});&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;err&#34;&gt;@&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;override&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;n&#34;&gt;State&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;MyView&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;createState&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;_MyViewState&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;class&lt;/span&gt; &lt;span class=&#34;nc&#34;&gt;_MyViewState&lt;/span&gt; &lt;span class=&#34;kd&#34;&gt;extends&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;State&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;MyView&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;err&#34;&gt;@&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;override&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;kt&#34;&gt;void&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;initState&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;super&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;initState&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;WidgetsBinding&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;instance&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;addPostFrameCallback&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;((&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;_&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;kd&#34;&gt;async&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;kd&#34;&gt;await&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;showDialog&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;nl&#34;&gt;context:&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;context&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;nl&#34;&gt;builder:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;context&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;){&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;k&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;SomeDialogWidget&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;p&#34;&gt;});&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;});&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;err&#34;&gt;@&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;override&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;n&#34;&gt;Widget&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;build&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;BuildContext&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;context&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Container&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Using the &lt;code&gt;addPostFrameCallback&lt;/code&gt; function is a good way to perform actions after the first frame is rendered. The widget is build and the dialog appears on top of it. Great in theory, but this doesn’t work with Riverpod notifiers.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How To Do Widget Testing In Flutter Apps</title>
      <link>https://quickcoder.org/posts/flutter-widget-testing/</link>
      <pubDate>Sun, 01 Jun 2025 00:00:00 +0000</pubDate>
      <guid>https://quickcoder.org/posts/flutter-widget-testing/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;
&lt;p&gt;Flutter offers several types of tests that you can use to ensure correct app behavior. There are &lt;a href=&#34;https://docs.flutter.dev/cookbook/testing/unit/introduction&#34;&gt;unit tests&lt;/a&gt;, &lt;a href=&#34;https://docs.flutter.dev/testing/integration-tests&#34;&gt;integration tests&lt;/a&gt;, and finally &lt;a href=&#34;https://docs.flutter.dev/cookbook/testing/widget/introduction&#34;&gt;widget tests&lt;/a&gt;. In this article, we’ll have a look at how to do widget testing in Flutter apps. Improve your testing knowledge with this guide. This means that a part of the app is rendered during the tests and you can describe test steps to copy the behavior of a real user. The Flutter SDK offers methods to simulate a complete workflow.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Easy Confetti Animations In Flutter Apps</title>
      <link>https://quickcoder.org/posts/confetti-animations-in-flutter-apps/</link>
      <pubDate>Fri, 30 May 2025 00:00:00 +0000</pubDate>
      <guid>https://quickcoder.org/posts/confetti-animations-in-flutter-apps/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;
&lt;p&gt;Celebrating user achievements is a great way to boost engagement in your Flutter apps. In this article, we’ll discover how to add simple confetti animations in Flutter apps . But since we are lazy developers, we use a package instead of creating the animation on our own. With the code examples and demo videos, you’ll be ready to blast your users away with confetti!&lt;/p&gt;
&lt;h1 id=&#34;animation&#34;&gt;Animation&lt;/h1&gt;
&lt;p&gt;A proper confetti animation can be a challenge. Lucky for us, there is a &lt;a href=&#34;https://pub.dev/packages/confetti&#34;&gt;package on pub.dev&lt;/a&gt; that helps us here.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How To Implement Account Management Methods With Firebase Authentication</title>
      <link>https://quickcoder.org/posts/how-to-implement-account-management-methods-with-firebase-authentication/</link>
      <pubDate>Tue, 27 May 2025 00:00:00 +0000</pubDate>
      <guid>https://quickcoder.org/posts/how-to-implement-account-management-methods-with-firebase-authentication/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;
&lt;p&gt;In this article, we explore how to build a modern Flutter app with user authentication powered by Firebase Authentication. You’ll learn how to implement account management methods with Firebase Authentication in the most simple way. Check out the demo application and see how everything comes together.&lt;/p&gt;
&lt;p&gt;This article covers the following use cases with Flutter code examples for Firebase Authentication:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Registration with email and password&lt;/strong&gt;&lt;br&gt;
Users can create an account by providing an email address and a password.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How To Show Test Coverage Of A Flutter App In Visual Studio Code</title>
      <link>https://quickcoder.org/posts/flutter-test-coverage/</link>
      <pubDate>Thu, 22 May 2025 00:00:00 +0000</pubDate>
      <guid>https://quickcoder.org/posts/flutter-test-coverage/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;
&lt;p&gt;Here is a short guide about how to show test coverage of a Flutter app in Visual Studio Code. With code coverage, you can identify parts of your app that aren&amp;rsquo;t tested yet. However, it doesn&amp;rsquo;t tell you if your tests are good or your app is free of bugs!&lt;/p&gt;
&lt;p&gt;We are going to use &lt;strong&gt;Visual Studio Code&lt;/strong&gt; and two free extensions from the Visual Studio Marketplace:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://marketplace.visualstudio.com/items?itemName=Flutterando.flutter-coverage&#34;&gt;Flutter Coverage&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;figure&gt;
&lt;p&gt;&lt;img alt=&#34;Extension to show code coverage for every file&#34; loading=&#34;lazy&#34; src=&#34;https://quickcoder.org/posts/flutter-test-coverage/images/ext1.png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>How To Use BottomNavigationBar In Flutter Apps</title>
      <link>https://quickcoder.org/posts/how-to-use-bottomnavigationbar-in-flutter-apps/</link>
      <pubDate>Thu, 15 May 2025 00:00:00 +0000</pubDate>
      <guid>https://quickcoder.org/posts/how-to-use-bottomnavigationbar-in-flutter-apps/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;
&lt;p&gt;Mobile apps often use bottom navigation. You can reach all entries with one hand and it’s the same for Android and iOS. For Flutter apps, there is the widget &lt;a href=&#34;https://api.flutter.dev/flutter/material/BottomNavigationBar-class.html&#34;&gt;BottomNavigationBar&lt;/a&gt; to accomplish this. In this article, I’ll share how to use BottomNavigationBar in Flutter apps.&lt;/p&gt;
&lt;p&gt;We start with this standard implementation:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-dart&#34; data-lang=&#34;dart&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;class&lt;/span&gt; &lt;span class=&#34;nc&#34;&gt;MyApp&lt;/span&gt; &lt;span class=&#34;kd&#34;&gt;extends&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;StatelessWidget&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;kd&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;MyApp&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;({&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;super&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;key&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;});&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;err&#34;&gt;@&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;override&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;n&#34;&gt;Widget&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;build&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;BuildContext&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;context&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;MaterialApp&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;nl&#34;&gt;title:&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;Flutter Demo&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;nl&#34;&gt;debugShowCheckedModeBanner:&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;false&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;nl&#34;&gt;theme:&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;ThemeData&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;nl&#34;&gt;colorScheme:&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;ColorScheme&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;fromSeed&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;          &lt;span class=&#34;nl&#34;&gt;seedColor:&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Colors&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;deepPurple&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;nl&#34;&gt;home:&lt;/span&gt; &lt;span class=&#34;kd&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;MainPage&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(),&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;class&lt;/span&gt; &lt;span class=&#34;nc&#34;&gt;MainPage&lt;/span&gt; &lt;span class=&#34;kd&#34;&gt;extends&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;StatefulWidget&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;kd&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;MainPage&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;({&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;super&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;key&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;});&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;err&#34;&gt;@&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;override&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;n&#34;&gt;State&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;MainPage&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;createState&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;_MainPageState&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;class&lt;/span&gt; &lt;span class=&#34;nc&#34;&gt;_MainPageState&lt;/span&gt; &lt;span class=&#34;kd&#34;&gt;extends&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;State&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;MainPage&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;kd&#34;&gt;final&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;List&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;kt&#34;&gt;String&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;pages&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;Home&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;Search&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;Settings&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;];&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;kt&#34;&gt;String&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;_selectedPage&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;Home&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;err&#34;&gt;@&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;override&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;n&#34;&gt;Widget&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;build&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;BuildContext&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;context&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Scaffold&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;nl&#34;&gt;bottomNavigationBar:&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;BottomNavigationBar&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;nl&#34;&gt;currentIndex:&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;pages&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;indexOf&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;_selectedPage&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;nl&#34;&gt;onTap:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;index&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;setState&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(()&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;              &lt;span class=&#34;n&#34;&gt;_selectedPage&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;pages&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;index&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;];&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;p&#34;&gt;}),&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;nl&#34;&gt;items:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;          &lt;span class=&#34;n&#34;&gt;BottomNavigationBarItem&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nl&#34;&gt;icon:&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Icon&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Icons&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;home&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt; &lt;span class=&#34;nl&#34;&gt;label:&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;pages&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]),&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;          &lt;span class=&#34;n&#34;&gt;BottomNavigationBarItem&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nl&#34;&gt;icon:&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Icon&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Icons&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;search&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt; &lt;span class=&#34;nl&#34;&gt;label:&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;pages&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]),&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;          &lt;span class=&#34;n&#34;&gt;BottomNavigationBarItem&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nl&#34;&gt;icon:&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Icon&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Icons&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;settings&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt; &lt;span class=&#34;nl&#34;&gt;label:&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;pages&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]),&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;p&#34;&gt;],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;nl&#34;&gt;body:&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Center&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nl&#34;&gt;child:&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Text&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;_selectedPage&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)),&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;There are 3 item that set the page to the corresponding entry when they are clicked. Every item consists of an icon and a label.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How To Cut A Design Mockup Into Flutter Widgets</title>
      <link>https://quickcoder.org/posts/how-to-cut-a-design-mockup-into-flutter-widgets/</link>
      <pubDate>Wed, 16 Apr 2025 00:00:00 +0000</pubDate>
      <guid>https://quickcoder.org/posts/how-to-cut-a-design-mockup-into-flutter-widgets/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;
&lt;p&gt;In software projects, there is usually a project vision of what the end product should look like. When a developer starts working, there should be some kind of mockup (best case is a Figma file, but I have also seen pencil drawings…). In this article, I want to share my strategies of how to cut a design mockup into Flutter widgets.&lt;/p&gt;
&lt;p&gt;To illustrate the process, let’s assume we have this template:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Why AbsorbPointers Are Dangerous In Flutter Widget Tests</title>
      <link>https://quickcoder.org/posts/why-absorbpointers-are-dangerous-in-flutter-widget-tests/</link>
      <pubDate>Fri, 28 Mar 2025 00:00:00 +0000</pubDate>
      <guid>https://quickcoder.org/posts/why-absorbpointers-are-dangerous-in-flutter-widget-tests/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;
&lt;p&gt;I introduced an AbsorbPointer widget which broke my app but the tests to prevent exactly this didn’t fail. Here is why AbsorbPointers are dangerous in Flutter widget tests.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://quickcoder.org/posts/a-short-excursion-into-the-pitfalls-of-flutter-widget-testing/&#34;&gt;Once again&lt;/a&gt;, I stumbled across a weird issue with Flutter widget tests. They are not as reliable as you might think. This time I found a problem with a combination of &lt;code&gt;AbsorbPointer&lt;/code&gt; and &lt;code&gt;TextField&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Here is a pretty simple example:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-dart&#34; data-lang=&#34;dart&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;err&#34;&gt;@&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;override&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;Widget&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;build&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;BuildContext&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;context&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;k&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;AbsorbPointer&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nl&#34;&gt;absorbing:&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;true&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nl&#34;&gt;child:&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;TextField&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;());&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;We have a &lt;code&gt;TextField&lt;/code&gt; widget wrapped inside an &lt;code&gt;AbsorbPointer&lt;/code&gt; widget. The purpose of the &lt;code&gt;AbsorbPointer&lt;/code&gt; is to prevent the &lt;code&gt;TextField&lt;/code&gt; from getting focused. The keyboard doesn’t open and you cannot enter text.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How To Write A Proper Dart Data Model (AI Prompt Included)</title>
      <link>https://quickcoder.org/posts/how-to-write-a-proper-dart-data-model/</link>
      <pubDate>Sat, 08 Mar 2025 00:00:00 +0000</pubDate>
      <guid>https://quickcoder.org/posts/how-to-write-a-proper-dart-data-model/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;
&lt;p&gt;Here is how to write a proper Dart data model by hand, with various packages, and with AI assistance to make your life easier.&lt;/p&gt;
&lt;p&gt;Writing good data models is essential for every developer. In this article I want to show you how to write a proper Dart data model manually, with package support, through AI assistance, or with a web tool. Take this as a starting point to write better models in the future.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How To Download Files With The web Package In Flutter Apps</title>
      <link>https://quickcoder.org/posts/how-to-download-files-with-the-web-package-in-flutter-apps/</link>
      <pubDate>Wed, 26 Feb 2025 00:00:00 +0000</pubDate>
      <guid>https://quickcoder.org/posts/how-to-download-files-with-the-web-package-in-flutter-apps/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;
&lt;p&gt;Since the release of &lt;a href=&#34;https://medium.com/dartlang/announcing-dart-3-7-bf864a1b195c&#34;&gt;Dart 3.7&lt;/a&gt;, your Flutter web app will give you warnings when you use &lt;code&gt;dart:html&lt;/code&gt; in your code and have the latest Dart version activated. It was deprecated by the Flutter team. In this article, I am going to show you how to download files with the &lt;a href=&#34;https://pub.dev/packages/web&#34;&gt;web&lt;/a&gt; package in Flutter apps. To do that, we will remove &lt;code&gt;dart:html&lt;/code&gt;, replace it with the &lt;a href=&#34;https://pub.dev/packages/web&#34;&gt;web&lt;/a&gt; package, and apply some code changes.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How To Debug Firebase Analytics Events From A Flutter Web App</title>
      <link>https://quickcoder.org/posts/how-to-debug-firebase-analytics-events-from-a-flutter-web-app/</link>
      <pubDate>Sat, 15 Feb 2025 00:00:00 +0000</pubDate>
      <guid>https://quickcoder.org/posts/how-to-debug-firebase-analytics-events-from-a-flutter-web-app/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;
&lt;p&gt;The Firebase Analytics Debug View is a handy tool to check what events your app sends in real time. However, it requires a bit of setup to work from a Flutter web app. Here is how to debug Firebase Analytics events from a Flutter web app.&lt;/p&gt;
&lt;h1 id=&#34;setup&#34;&gt;Setup&lt;/h1&gt;
&lt;p&gt;The initial step is to connect your Flutter app with your Firebase project. &lt;a href=&#34;https://quickcoder.org/posts/firebase-flutter-setup/&#34;&gt;Follow my guide&lt;/a&gt; in case you haven’t done this yet.&lt;/p&gt;</description>
    </item>
    <item>
      <title>A Short Excursion Into The Pitfalls Of Flutter Widget Testing</title>
      <link>https://quickcoder.org/posts/a-short-excursion-into-the-pitfalls-of-flutter-widget-testing/</link>
      <pubDate>Sat, 07 Dec 2024 00:00:00 +0000</pubDate>
      <guid>https://quickcoder.org/posts/a-short-excursion-into-the-pitfalls-of-flutter-widget-testing/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;
&lt;p&gt;Sometimes testing is a joy and sometimes not. Here is a short excursion into the pitfalls of Flutter widget testing.&lt;/p&gt;
&lt;p&gt;I am currently developing a rather complex Flutter web app. Overall, it’s going great and I like the progress. But I wouldn’t write a short excursion into the pitfalls of Flutter widget testing if everything was perfect.&lt;/p&gt;
&lt;p&gt;The project is rather complicated and the UI has a lot to offer. So I am investing heavily in testing it properly with &lt;a href=&#34;https://quickcoder.org/posts/flutter-widget-testing/&#34;&gt;widget tests&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How To Organize Your Widgets In Flutter Apps</title>
      <link>https://quickcoder.org/posts/how-to-organize-your-widgets-in-flutter-apps/</link>
      <pubDate>Fri, 08 Nov 2024 00:00:00 +0000</pubDate>
      <guid>https://quickcoder.org/posts/how-to-organize-your-widgets-in-flutter-apps/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;
&lt;p&gt;This article is about how to organize your widgets in Flutter apps in small, medium, and large apps. Not all of them work in every case and some of them require more attention than others. The results also depends on what you want have.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A clear and well-organized structure&lt;/li&gt;
&lt;li&gt;A simple file structure&lt;/li&gt;
&lt;li&gt;As few files as possible&lt;/li&gt;
&lt;li&gt;As few imports as possible&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;You cannot have everything but I can give you strategies to reach all those goals … but not at the same time.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How To Implement Double Opt-In With Firebase and Flutter</title>
      <link>https://quickcoder.org/posts/how-to-implement-double-opt-in-with-firebase-and-flutter/</link>
      <pubDate>Fri, 18 Oct 2024 00:00:00 +0000</pubDate>
      <guid>https://quickcoder.org/posts/how-to-implement-double-opt-in-with-firebase-and-flutter/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;
&lt;p&gt;To comply with the &lt;a href=&#34;https://en.wikipedia.org/wiki/General_Data_Protection_Regulation&#34;&gt;General Data Protection Regulation (GDPR)&lt;/a&gt; of the EU, the double opt-in process is the best way. It means that users need to confirm a registration with a secondary step. Usually, this is done by clicking a link in an email. In this article, I’ll show you how you can use Firebase to set up such a process. Let’s get started on how to implement double opt-in with Firebase and Flutter.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How To Create Notifiers With The Riverpod Generator In Flutter</title>
      <link>https://quickcoder.org/posts/how-to-create-notifiers-with-the-riverpod-generator-in-flutter/</link>
      <pubDate>Sat, 28 Sep 2024 00:00:00 +0000</pubDate>
      <guid>https://quickcoder.org/posts/how-to-create-notifiers-with-the-riverpod-generator-in-flutter/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;
&lt;p&gt;One year ago I avoided code generation as best as I could. I always thought that it is way better to write the code yourself so that you know what happens. With generators, there is usually a different syntax with annotations and eventually some code pops out that doesn’t really look like what you have declared. But my view has changed. Now, I am always in favor of generators. And for all those struggling with it, I created this article. Learn how to create notifiers with the Riverpod generator in Flutter in the most simple way!&lt;/p&gt;</description>
    </item>
    <item>
      <title>How To Use The Flutter Badge Widget</title>
      <link>https://quickcoder.org/posts/how-to-use-the-flutter-badge-widget/</link>
      <pubDate>Sat, 21 Sep 2024 00:00:00 +0000</pubDate>
      <guid>https://quickcoder.org/posts/how-to-use-the-flutter-badge-widget/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;
&lt;p&gt;Let’s say you have a notification icon and want to display the number of new messages. Or you have a shop with limited items that you want to advertise. Or you have a list and want to put the index number to every item. All those use cases can be accomplished with the &lt;a href=&#34;https://api.flutter.dev/flutter/material/Badge-class.html&#34;&gt;Badge&lt;/a&gt; widget. All those simple solutions can be implemented within minutes. Here is how to use the Flutter Badge widget.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How To Make Rounded Profile Pictures In Flutter</title>
      <link>https://quickcoder.org/posts/how-to-make-rounded-profile-pictures-in-flutter/</link>
      <pubDate>Fri, 20 Sep 2024 00:00:00 +0000</pubDate>
      <guid>https://quickcoder.org/posts/how-to-make-rounded-profile-pictures-in-flutter/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;
&lt;p&gt;For your Instagram clone or your member app: Here is how to make rounded profile pictures in Flutter. An easy and fast solution for all app types!&lt;/p&gt;
&lt;p&gt;In this article, I am going to show you how to make rounded profile pictures in Flutter apps. Why? Because it’s state of the art on many well-known websites. Even Medium uses them, just take a look here:&lt;/p&gt;
&lt;figure&gt;
&lt;p&gt;&lt;img alt=&#34;Screenshot of the Medium homepage with rounded author profile pictures&#34; loading=&#34;lazy&#34; src=&#34;https://quickcoder.org/posts/how-to-make-rounded-profile-pictures-in-flutter/images/medium_rounded_profile_pictures.webp&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>How To Prevent A Double Click On Buttons In Flutter Apps</title>
      <link>https://quickcoder.org/posts/how-to-prevent-a-double-click-on-buttons-in-flutter-apps/</link>
      <pubDate>Thu, 19 Sep 2024 00:00:00 +0000</pubDate>
      <guid>https://quickcoder.org/posts/how-to-prevent-a-double-click-on-buttons-in-flutter-apps/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;
&lt;p&gt;Get rid of annoying bugs and learn how to prevent a double click on buttons in Flutter apps with this easy approach. Your users will also thank you for this!&lt;/p&gt;
&lt;p&gt;We always assume the best. All people are treated equally, nobody wants war, and users only click once on a button and wait patiently until something happens. Sadly, I can’t fix everything but for the last point, I have a tip for you. Here is how to prevent a double click on buttons in Flutter apps.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How To Monitor Your Mobile Apps With Firebase Crashlytics</title>
      <link>https://quickcoder.org/posts/how-to-monitor-your-mobile-apps-with-firebase-crashlytics/</link>
      <pubDate>Sat, 24 Aug 2024 00:00:00 +0000</pubDate>
      <guid>https://quickcoder.org/posts/how-to-monitor-your-mobile-apps-with-firebase-crashlytics/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;
&lt;p&gt;Learn why your apps crash and why you get complaints from users. Here is how to monitor your mobile apps with Firebase Crashlytics. &lt;a href=&#34;https://firebase.google.com/products/crashlytics/&#34;&gt;Firebase Crashlytics&lt;/a&gt; is a light-weight solution to get insight about why your users get app crashes and exception messages. It is part of the &lt;a href=&#34;https://firebase.google.com/&#34;&gt;Firebase cloud services&lt;/a&gt;, but can be used for free and supports mobile apps.&lt;/p&gt;
&lt;p&gt;A dashboard shows you in detail your app metrics and allows inspecting reported crashes in detail. You get information about the exception, the exact line of code, and also the current stack trace at that time.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How To Set Up A Free Repository For Your Flutter Packages</title>
      <link>https://quickcoder.org/posts/how-to-set-up-a-free-repository-for-your-flutter-packages/</link>
      <pubDate>Mon, 22 Jul 2024 00:00:00 +0000</pubDate>
      <guid>https://quickcoder.org/posts/how-to-set-up-a-free-repository-for-your-flutter-packages/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;
&lt;p&gt;Here is how to set up a free repository for your Flutter packages with Cloudsmith in no time!&lt;/p&gt;
&lt;p&gt;A package repository has &lt;a href=&#34;https://long.sweet.pub/the-struggle-with-flutter-packages-in-private-github-repositories-50e53852e4aa&#34;&gt;many benefits over packages in local folders or GitHub repositories&lt;/a&gt;. If you want to publish your package publicly, you usually are fine with pub.dev. In case you need a private solution, continue reading here. I’ll show you how to set up a free repository for your Flutter packages with Cloudsmith.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How You Can Find Out If Two Flutter Objects Are Equal Or Not</title>
      <link>https://quickcoder.org/posts/how-you-can-find-out-if-two-flutter-objects-are-equal-or-not/</link>
      <pubDate>Mon, 08 Jul 2024 00:00:00 +0000</pubDate>
      <guid>https://quickcoder.org/posts/how-you-can-find-out-if-two-flutter-objects-are-equal-or-not/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;
&lt;p&gt;Built-In vs external package: Here are two essential methods of how you can find out if two Flutter objects are equal or not.&lt;/p&gt;
&lt;p&gt;Equality comparison is essential in any kind of app. Duplicate objects are often undesired. In this article I’ll demonstrate how you can find out if two Flutter objects are equal or not. You might probably know the drill from other programming languages and Dart makes no exception here. The article will show you two ways of comparison. A longer one with built-in methods provided by Dart and another one that relies on an external package but is less verbose.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How To Add Password Manager Support To Your Flutter Apps</title>
      <link>https://quickcoder.org/posts/how-to-add-password-manager-support-to-your-flutter-apps/</link>
      <pubDate>Mon, 01 Jul 2024 00:00:00 +0000</pubDate>
      <guid>https://quickcoder.org/posts/how-to-add-password-manager-support-to-your-flutter-apps/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;
&lt;p&gt;Let’s welcome Bitwarden, KeePass, LastPass, and others. Here is how to add password manager support to your Flutter apps. In addition, you can use other autofill options for credit cards, birthdays, address data, and more in the same way!&lt;/p&gt;
&lt;p&gt;Password managers save us time and help choosing stronger and more diverse passwords in general. Instead of remembering hundreds of credentials for all your sites, a master password is enough. In this article I will show you how to add password manager support to your Flutter apps. In addition, you also can configure this to support autofills for emails, username, birthdays, address data, or credit card information!&lt;/p&gt;</description>
    </item>
    <item>
      <title>How To Track Your Location In A Flutter App</title>
      <link>https://quickcoder.org/posts/how-to-track-your-location-in-a-flutter-app/</link>
      <pubDate>Wed, 12 Jun 2024 00:00:00 +0000</pubDate>
      <guid>https://quickcoder.org/posts/how-to-track-your-location-in-a-flutter-app/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;
&lt;p&gt;Here is a deep dive into GPS, permissions, and manifests. Learn how to track your location in a Flutter app. Find out how to collect location data while your app is in the background. There are also tips included to prevent the OS from terminating your app after some time.&lt;/p&gt;
&lt;p&gt;Working with location data in mobile-aware apps is a common use case in the current app ecosystem. In this deep dive I will show you everything you need to know about how to track your location in a Flutter app. No matter if you want a to put a pin on a map with the current location or track a device continuously for hours, everything is possible.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How To Use Riverpod In Flutter Apps - A Practical Approach</title>
      <link>https://quickcoder.org/posts/how-to-use-riverpod-in-flutter-apps/</link>
      <pubDate>Sat, 01 Jun 2024 00:00:00 +0000</pubDate>
      <guid>https://quickcoder.org/posts/how-to-use-riverpod-in-flutter-apps/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;
&lt;p&gt;Here is my practical guide about Riverpod. Learn how to use Riverpod in Flutter apps with simple code examples. Explore AsyncNotifierProvider, NotifierProvider, and FutureProvider in real-world scenarios.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;http://riverpod.dev&#34;&gt;Riverpod&lt;/a&gt; is probably one of the top 2 state management solutions in Flutter apps together with &lt;a href=&#34;https://bloclibrary.dev/&#34;&gt;BLoC&lt;/a&gt; according to my observations. In this guide, I want to show you some real-world use cases and how you can implement them with Riverpod. I assume you already used Riverpod before and gained some first-hand experience. So, let’s get started on how to use Riverpod in Flutter apps.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How To Manage A Flutter Monorepo With Multiple Packages</title>
      <link>https://quickcoder.org/posts/how-to-manage-a-flutter-monorepo-with-multiple-packages/</link>
      <pubDate>Fri, 10 May 2024 00:00:00 +0000</pubDate>
      <guid>https://quickcoder.org/posts/how-to-manage-a-flutter-monorepo-with-multiple-packages/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;
&lt;p&gt;Here is how to manage a Flutter monorepo with multiple packages and melos instead of using shell scripts. Repository administration is really easy with this field-tested tool!&lt;/p&gt;
&lt;p&gt;I have some private Flutter packages in single repositories on GitHub. And because they are private, I had some &lt;a href=&#34;https://medium.com/long-sweet-valuable/the-struggle-with-flutter-packages-in-private-github-repositories-50e53852e4aa&#34;&gt;authentication issues with transitive dependencies&lt;/a&gt;. But then someone guided me into another direction → &lt;a href=&#34;https://en.wikipedia.org/wiki/Monorepo&#34;&gt;monorepo&lt;/a&gt;. Here is a quick start guide of how to manage a Flutter &lt;a href=&#34;https://en.wikipedia.org/wiki/Monorepo&#34;&gt;monorepo&lt;/a&gt; with multiple packages and &lt;a href=&#34;https://melos.invertase.dev/&#34;&gt;melos&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How To Backup Your Cloud Firestore Database</title>
      <link>https://quickcoder.org/posts/how-to-backup-your-cloud-firestore-database/</link>
      <pubDate>Tue, 07 May 2024 00:00:00 +0000</pubDate>
      <guid>https://quickcoder.org/posts/how-to-backup-your-cloud-firestore-database/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;
&lt;p&gt;Backups are underrated … until you really need them. So here is how to backup your Cloud Firestore database. Forget about external tools or self-written Cloud Functions and use the provided tools instead!&lt;/p&gt;
&lt;p&gt;I store quite a lot of stuff in Firestore, mostly for personal use. In the last months, I often thought about backups. But I have to admit … I am lazy when it comes to boring stuff. However, some of the data is really valuable and will be lost in case of a disaster. So I finally stopped doing cooler things and investigate backup solutions. Here is my approach on how to backup your Cloud Firestore database.&lt;/p&gt;</description>
    </item>
    <item>
      <title>A Quick Introduction To Different Dart Constructors</title>
      <link>https://quickcoder.org/posts/a-quick-introduction-to-different-dart-constructors/</link>
      <pubDate>Tue, 02 Apr 2024 00:00:00 +0000</pubDate>
      <guid>https://quickcoder.org/posts/a-quick-introduction-to-different-dart-constructors/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;
&lt;p&gt;Default, named, constant, factory?!? Here is a quick introduction to different Dart constructors. Knowing the differences can make your code way more readable!&lt;/p&gt;
&lt;p&gt;Everybody needs to use constructors. And everybody needs to know what&amp;rsquo;s possible with them. So here is a quick introduction to different Dart constructors.&lt;/p&gt;
&lt;h1 id=&#34;default-constructor&#34;&gt;Default Constructor&lt;/h1&gt;
&lt;p&gt;The default constructor is the constructor type you probably use the most. It creates an instance of an object and is essential in any object-oriented programming language. Here is a small code example:&lt;/p&gt;</description>
    </item>
    <item>
      <title>How To Use Firebase Cloud Firestore With A Flutter App</title>
      <link>https://quickcoder.org/posts/firebase-firestore/</link>
      <pubDate>Thu, 21 Mar 2024 00:00:00 +0000</pubDate>
      <guid>https://quickcoder.org/posts/firebase-firestore/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;
&lt;p&gt;In this article, I guide you through the setup steps for Cloud Firestore and show you how to use Firebase Cloud Firestore with a Flutter app. We take a look at CRUD operations, security rules, and some pitfalls to avoid.&lt;/p&gt;
&lt;p&gt;Firebase Cloud Firestore is a scalable NoSQL cloud database where you can store relevant data for your apps. It is very flexible and can be secured with access rules. You will learn ow to use Firebase Cloud Firestore with a Flutter app. In the following sections, we’ll talk about&lt;/p&gt;</description>
    </item>
    <item>
      <title>How To Make HTTP Requests With Flutter And Parse JSON Result Data</title>
      <link>https://quickcoder.org/posts/flutter-http-requests/</link>
      <pubDate>Sun, 17 Mar 2024 00:00:00 +0000</pubDate>
      <guid>https://quickcoder.org/posts/flutter-http-requests/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;
&lt;p&gt;This short article shows how to perform HTTP requests from a Flutter application. We have a look at the most common request types GET, POST, PUT, and DELETE.&lt;/p&gt;
&lt;p&gt;Performing HTTP requests is a must-have for every app nowadays. In this article, I am going to show you how to add this capability to your Flutter app. We will have a look at two packages to accomplish this task: The &lt;a href=&#34;https://pub.dev/packages/http&#34;&gt;http&lt;/a&gt; package and the &lt;a href=&#34;https://pub.dev/packages/dio&#34;&gt;dio&lt;/a&gt; package. They are very similar and you can use whatever you like more. In the end, we focus on parsing JSON results from requests, so that the data can be used within our app.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How I Created An Instagram Clone With Flutter And Firebase</title>
      <link>https://quickcoder.org/posts/how-i-created-an-instagram-clone-with-flutter-and-firebase/</link>
      <pubDate>Wed, 13 Mar 2024 00:00:00 +0000</pubDate>
      <guid>https://quickcoder.org/posts/how-i-created-an-instagram-clone-with-flutter-and-firebase/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;
&lt;p&gt;Learn how I created an Instagram clone with Flutter and Firebase. Fun fact: Creating the UI took the most time! However, it was really easy overall. Here is a deep dive for you!&lt;/p&gt;
&lt;p&gt;Instagram is a well-known app with hundreds of millions of users. The newsfeed with posts, likes, comments, and images is the main feature that stands out. I wanted to know what it takes to build a small app with those features. So here is how I created an Instagram clone with Flutter and Firebase.&lt;/p&gt;</description>
    </item>
    <item>
      <title>6 Easy Tips When Working With SetState In A Flutter Application</title>
      <link>https://quickcoder.org/posts/flutter-set-state/</link>
      <pubDate>Tue, 12 Mar 2024 00:00:00 +0000</pubDate>
      <guid>https://quickcoder.org/posts/flutter-set-state/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;
&lt;p&gt;Follow these 6 easy tips when working with &lt;code&gt;setState&lt;/code&gt; in a Flutter application and learn more about the mechanics of &lt;code&gt;setState&lt;/code&gt;. Stick to the best practices to not encounter any unwanted errors.&lt;/p&gt;
&lt;p&gt;The &lt;code&gt;setState&lt;/code&gt; function of the &lt;code&gt;StatefulWidget&lt;/code&gt; is a simple approach to managing the state within a Flutter app. But there are several pitfalls you need to avoid when you want your app to be working and performant. Here are some best practices you should stick to. So here are 6 easy tips when working with setState in a Flutter application.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Boost Your Flutter App Performance With These 6 Tips</title>
      <link>https://quickcoder.org/posts/flutter-performance-tips/</link>
      <pubDate>Tue, 12 Mar 2024 00:00:00 +0000</pubDate>
      <guid>https://quickcoder.org/posts/flutter-performance-tips/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;
&lt;p&gt;Get better scrolling and animations, less memory consumption, and more execution speed. Boost your Flutter app performance with these 6 tips. And if you want more, I have a free ebook with additional tips for you at the end!&lt;/p&gt;
&lt;p&gt;Here are some easy-to-use best practices for Flutter apps when it’s all about performance. Use them if you notice any problems but don’t optimize prematurely. Flutter apps are fast by default and you won’t have any trouble usually. Here is how you can boost your Flutter app performance with these 6 tips.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Choose the Best Data Storage Solution for Your Flutter App</title>
      <link>https://quickcoder.org/posts/choose-the-best-data-storage-solution-for-your-flutter-app/</link>
      <pubDate>Tue, 12 Mar 2024 00:00:00 +0000</pubDate>
      <guid>https://quickcoder.org/posts/choose-the-best-data-storage-solution-for-your-flutter-app/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;
&lt;p&gt;Learn how to choose the best data storage solution for your Flutter app between local storage, secure storage, or a cloud database. With this guide, they won&amp;rsquo;t be any open questions about what&amp;rsquo;s the correct approach for your app!&lt;/p&gt;
&lt;p&gt;Depending of what type of app you develop, you might need different data storage solutions. In this article, I’ll introduce various options for Flutter developers of how to manage data storage in your apps. Afterwards, you will be able to choose the best data storage solution for your Flutter app. The following topics will be covered:&lt;/p&gt;</description>
    </item>
    <item>
      <title>How To Add A Google Map To Your Flutter App</title>
      <link>https://quickcoder.org/posts/flutter-google-map/</link>
      <pubDate>Tue, 12 Mar 2024 00:00:00 +0000</pubDate>
      <guid>https://quickcoder.org/posts/flutter-google-map/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;
&lt;p&gt;Let&amp;rsquo;s learn how to add a Google map to your Flutter app and use location services to display the current position. Everything you need to know to get started with Google Maps in Flutter is right here!&lt;/p&gt;
&lt;p&gt;If your app relies on location data and a map, you can integrate a Google map quite easily. I’ll guide you through the setup process and show you how you can customize the map the way you want it to be. Here is how to add a Google map to your Flutter app.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How To Create Windows Apps With Flutter</title>
      <link>https://quickcoder.org/posts/flutter-win-demo/</link>
      <pubDate>Tue, 12 Mar 2024 00:00:00 +0000</pubDate>
      <guid>https://quickcoder.org/posts/flutter-win-demo/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;
&lt;p&gt;Here is a short guide on how to create Windows apps with Flutter. Learn how to build executables and MSIX packages. Use the power of Flutter Desktop and create beautiful apps for Windows!&lt;/p&gt;
&lt;p&gt;Since the release of Flutter 2.10, the Windows desktop is flagged as stable. In this article, I am going to show you what needs to be done to build executables and MSIX packages. So here is how to create Windows apps with Flutter. If you didn’t catch the news, here are the relevant sources about all the changes.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How To Mock Dependencies In Your Flutter Tests With Mockito</title>
      <link>https://quickcoder.org/posts/flutter-dependency-mocking/</link>
      <pubDate>Tue, 12 Mar 2024 00:00:00 +0000</pubDate>
      <guid>https://quickcoder.org/posts/flutter-dependency-mocking/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;
&lt;p&gt;Learn how to mock dependencies in your Flutter tests. Create, configure, and use mocks with the mockito package. Make your apps more robust and detect bugs earlier with proper testing.&lt;/p&gt;
&lt;p&gt;During testing, there will always be a point where you need a mock. This mock will save you from setting up complex environments for a test because it allows you to focus on the parts you want to test. Assume you have a logger in multiple places in your application that writes into a database. Of course, you have tests for your logger to ensure its correct functionality. But when you test, for example, your login mechanism, you don’t care about the logger. That’s where a mock is useful. It handles the calls to the logger and reacts the way it was configured. Here is how to mock dependencies in your Flutter tests.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How To Organize Your Flutter App Assets, Styles, Colors, Images</title>
      <link>https://quickcoder.org/posts/flutter-assets/</link>
      <pubDate>Tue, 12 Mar 2024 00:00:00 +0000</pubDate>
      <guid>https://quickcoder.org/posts/flutter-assets/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;
&lt;p&gt;A large app contains many resources in different places. Learn how to organize your Flutter App assets, styles, colors, images. Here are some ideas to give more structure to your projects.&lt;/p&gt;
&lt;p&gt;In this article, we are looking at resource management in Flutter apps. A resource in this context is, for example, a style, an image, a constant, a utility, or a color that will be used within your app. I will show you ways how to organize them inside your app so that it will still be manageable despite a large codebase. The advantage is that you don’t have redundant code parts and if you want to change anything you will only have to look at one place in your source code. Let’s get started right away with some ideas on how to organize your Flutter app assets, styles, colors, images!&lt;/p&gt;</description>
    </item>
    <item>
      <title>How To Send Push Notifications With Firebase</title>
      <link>https://quickcoder.org/posts/flutter-push-notifications/</link>
      <pubDate>Tue, 12 Mar 2024 00:00:00 +0000</pubDate>
      <guid>https://quickcoder.org/posts/flutter-push-notifications/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;
&lt;p&gt;Using Firebase Cloud Messaging and Firebase Cloud Functions we can achieve this. Learn how to send push notifications with Firebase. This vital feature needs to be part of every app in today&amp;rsquo;s world!&lt;/p&gt;
&lt;p&gt;Today we are going to focus on how to send push notifications from a Flutter app. Therefore &lt;strong&gt;Firebase&lt;/strong&gt; will be used as it provides packages that can be used within a Flutter app. In this scenario, a push notification will be triggered and sent to your own device. Firebase offers some of its services only for paying users but they charge you for your usage. If you don’t use the services, you won’t be charged anything. So here is how to send push notifications from Flutter apps with Firebase to any device.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How To Use Flutter Image Picker And Firebase Storage</title>
      <link>https://quickcoder.org/posts/how-to-use-flutter-image-picker-and-firebase-storage/</link>
      <pubDate>Fri, 08 Mar 2024 00:00:00 +0000</pubDate>
      <guid>https://quickcoder.org/posts/how-to-use-flutter-image-picker-and-firebase-storage/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;
&lt;p&gt;Let’s have a look at how to use Flutter image picker and Firebase storage to save your images in the cloud. Create device-independent apps so that your users can always access their data!&lt;/p&gt;
&lt;p&gt;Saving images in the cloud is a convenient way to ensure that it is available on any device. In this article, I want to show you how to use Flutter image picker and Firebase storage to do exactly that. We will pick a file (or take a picture), upload it to Firebase Storage, and display it in our app. Let’s get started!&lt;/p&gt;</description>
    </item>
    <item>
      <title>How To Enable Firestore Cache In Flutter Web Apps</title>
      <link>https://quickcoder.org/posts/how-to-enable-firestore-cache-in-flutter-web-apps/</link>
      <pubDate>Thu, 15 Feb 2024 00:00:00 +0000</pubDate>
      <guid>https://quickcoder.org/posts/how-to-enable-firestore-cache-in-flutter-web-apps/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;
&lt;p&gt;Reduce database load and add offline capabilities to your apps. Here is how to enable Firestore cache in Flutter web apps. If you target Android or iOS, caching is enabled by default!&lt;/p&gt;
&lt;p&gt;In case you didn’t know yet: &lt;a href=&#34;https://firebase.google.com/docs/firestore/manage-data/enable-offline&#34;&gt;Firebase Firestore can be used offline&lt;/a&gt; by enabling an internal cache. Your read and write operations work normally in offline mode and will synced with the database once the device is online again. This feature is enabled on Android and iOS by default. But for web apps you need to enable it yourself. Here is how to enable Firestore cache in Flutter web apps.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How To Deploy Your Flutter Web App To Microsoft Azure</title>
      <link>https://quickcoder.org/posts/how-to-deploy-your-flutter-web-app-to-microsoft-azure/</link>
      <pubDate>Thu, 08 Feb 2024 00:00:00 +0000</pubDate>
      <guid>https://quickcoder.org/posts/how-to-deploy-your-flutter-web-app-to-microsoft-azure/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;
&lt;p&gt;Microsoft and Flutter aren’t the best friends. But anyway, here is how to deploy your Flutter web app to Microsoft Azure. If you are familiar with Firebase Hosting, then you&amp;rsquo;ll notice a few similarities!&lt;/p&gt;
&lt;p&gt;Usually, Firebase is my preferred choice when it comes to cloud services for Flutter apps. But recently, I played around with Microsoft Azure and to my surprise it works rather well. I have a Flutter web app that I wanted to deploy similar to Firebase Hosting. For Azure, Microsoft offers the service &lt;a href=&#34;https://azure.microsoft.com/en-us/products/app-service/static/&#34;&gt;Static Web Apps&lt;/a&gt; as part of the &lt;a href=&#34;https://azure.microsoft.com/en-us/products/app-service/&#34;&gt;Azure App Service&lt;/a&gt;. It supports a bunch of &lt;a href=&#34;https://learn.microsoft.com/en-us/azure/static-web-apps/front-end-frameworks#configuration&#34;&gt;frameworks&lt;/a&gt; including Flutter. Here is how to deploy your Flutter web app to Microsoft Azure.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How To Send Emails For Free With The Brevo REST API</title>
      <link>https://quickcoder.org/posts/free-emails-brevo-rest-api/</link>
      <pubDate>Tue, 06 Feb 2024 00:00:00 +0000</pubDate>
      <guid>https://quickcoder.org/posts/free-emails-brevo-rest-api/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;
&lt;p&gt;Brevo offers a powerful free bulk-email service. Here is how you can send emails for free with the Brevo REST API. Grab your free package with 300 emails per day with Brevo!&lt;/p&gt;
&lt;p&gt;In this guide, I’ll show you how to send free emails with the Brevo REST API. While Brevo is more than just an bulk-email service, we will focus on that part here.&lt;/p&gt;
&lt;h1 id=&#34;what-you-need&#34;&gt;What you need&lt;/h1&gt;
&lt;p&gt;To use the REST API you need a free Brevo account and an API key. In the free version you can send up to 300 emails per day. When you exceed the limit, the API will deny your requests until the quota is reset.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How To Add New Firebase Features With Extensions</title>
      <link>https://quickcoder.org/posts/firebase-extensions/</link>
      <pubDate>Fri, 02 Feb 2024 00:00:00 +0000</pubDate>
      <guid>https://quickcoder.org/posts/firebase-extensions/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;
&lt;p&gt;Firebase allows installing various extensions to further increase functionality. Here is how to add new Firebase features with extensions. Instead of writing everything from scratch, you can pay some cents and use a plug and play extension from Firebase!&lt;/p&gt;
&lt;p&gt;Firebase Extensions is an easy way to enhance Firebase and your app with additional capabilities without having to implement them yourself. They help with &lt;a href=&#34;https://extensions.dev/extensions/firebase/firestore-send-email&#34;&gt;sending emails&lt;/a&gt;, &lt;a href=&#34;https://extensions.dev/extensions/firebase/firestore-translate-text&#34;&gt;translating text&lt;/a&gt;, &lt;a href=&#34;https://extensions.dev/extensions/firebase/storage-resize-images&#34;&gt;resizing images&lt;/a&gt;, &lt;a href=&#34;https://extensions.dev/extensions/google-pay/make-payment&#34;&gt;making payments&lt;/a&gt;, and other stuff. The possibilities are huge and it takes only minutes to set up these extensions. Instead of investing hours of development work to integrate 3rd parties into your app, look for an extension and save a lot of time!&lt;/p&gt;</description>
    </item>
    <item>
      <title>How To Control Apps With Firebase Remote Config</title>
      <link>https://quickcoder.org/posts/firebase-remote-config/</link>
      <pubDate>Fri, 02 Feb 2024 00:00:00 +0000</pubDate>
      <guid>https://quickcoder.org/posts/firebase-remote-config/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;
&lt;p&gt;Here is how to control apps with Firebase Remote Config without the need to release a new update for your apps. You can also do A/B testing and create feature flags with this service!&lt;/p&gt;
&lt;p&gt;Wouldn’t it be great if you had some control over your apps after they are distributed via a store? You could disable a feature that still has flaws. Or your users could be part of a limited group of A/B testers. Or you might want to show a different ad banner in your app without releasing a new version. All these scenarios (&lt;a href=&#34;https://firebase.google.com/docs/remote-config/use-cases&#34;&gt;and many more&lt;/a&gt;) are possible with Firebase Remote Config. I’ll show you how to set it up in Firebase and your app code. There will be a complete code example available at the end. Here is how to control apps with Firebase Remote Config from the backend.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How To Easily Use Firebase Storage From Your Flutter App</title>
      <link>https://quickcoder.org/posts/firebase-storage/</link>
      <pubDate>Fri, 02 Feb 2024 00:00:00 +0000</pubDate>
      <guid>https://quickcoder.org/posts/firebase-storage/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;
&lt;p&gt;In this article, I’ll show you how to easily use Firebase Storage from your Flutter app to read and write data. Make your app cloud-ready with this guide!&lt;/p&gt;
&lt;p&gt;Firebase Storage is an object storage provider in the cloud to store and serve data. Possible scenarios include profile pictures for your users or documents like PDF files that are uploaded during a registration process. In this article, I’ll show you how to set it up, read and write data, and implement basic access control rules. Here is a list of the topics:&lt;/p&gt;</description>
    </item>
    <item>
      <title>How To Host Your Flutter Web App With Firebase Hosting</title>
      <link>https://quickcoder.org/posts/firebase-hosting/</link>
      <pubDate>Fri, 02 Feb 2024 00:00:00 +0000</pubDate>
      <guid>https://quickcoder.org/posts/firebase-hosting/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;
&lt;p&gt;Here is how to host your Flutter web app with Firebase Hosting. This article guides you through all the steps needed. This service is free of charge!&lt;/p&gt;
&lt;p&gt;Flutter apps are available for various platforms like Android, iOS, desktop systems, and also the web. With Firebase Hosting, there is an easy tool to deploy your Flutter web app and access it in a browser. This is a simple way to distribute apps to testers or automate the release process of new versions. Here is how to host your Flutter web app with Firebase Hosting.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How To Secure Your Firebase Backend With App Check</title>
      <link>https://quickcoder.org/posts/firebase-app-check/</link>
      <pubDate>Fri, 02 Feb 2024 00:00:00 +0000</pubDate>
      <guid>https://quickcoder.org/posts/firebase-app-check/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;
&lt;p&gt;Here is how how to secure your Firebase backend with App Check. I’ll demonstrate the setup with a Flutter app. Don&amp;rsquo;t let intruders make your bill go crazy!&lt;/p&gt;
&lt;p&gt;Securing your backend saves you a lot of trouble. Think about data loss or a huge bill at the end of the moment. Firebase provides its service App Check to greatly reduce the possibility of an attacker being successful. Here is how how to secure your Firebase backend with App Check.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How To Work With Firebase Cloud Functions In Flutter Apps</title>
      <link>https://quickcoder.org/posts/firebase-functions/</link>
      <pubDate>Wed, 31 Jan 2024 00:00:00 +0000</pubDate>
      <guid>https://quickcoder.org/posts/firebase-functions/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;
&lt;p&gt;In this article, I will demonstrate how to work with Firebase Cloud Functions in Flutter apps in the most simple way. This is your entry into the world of cloud computing!&lt;/p&gt;
&lt;p&gt;Firebase Cloud Functions is a service from Google that enables you to execute code in the cloud. A major benefit is scalability. If your app has many users, you won’t have a bottleneck when using Firebase. I will show you how to work with Firebase Cloud Functions in Flutter apps in the most simple way. The following sub-topics will be covered in this article:&lt;/p&gt;</description>
    </item>
    <item>
      <title>How To Create A New Flutter Project</title>
      <link>https://quickcoder.org/posts/flutter-create-project/</link>
      <pubDate>Tue, 30 Jan 2024 00:00:00 +0000</pubDate>
      <guid>https://quickcoder.org/posts/flutter-create-project/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;
&lt;p&gt;This short article shows how to create a new Flutter project in 3 different ways, so you can start working on your app. Here is how to do it with Visual Studio Code, Android Studio, and the command line.&lt;/p&gt;
&lt;p&gt;I will show you three ways how to create a new Flutter project. You can do it with the IDEs &lt;a href=&#34;https://code.visualstudio.com/&#34;&gt;Visual Studio Code&lt;/a&gt; or &lt;a href=&#34;https://developer.android.com/studio&#34;&gt;Android Studio&lt;/a&gt; or by using the command-line tool from the Flutter SDK. You need to have the Flutter SDK installed, otherwise non of these tips will work. To install the Flutter SDK, see the &lt;a href=&#34;https://docs.flutter.dev/get-started/install&#34;&gt;Flutter homepage&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How To Navigate Between Pages In Your Flutter Application</title>
      <link>https://quickcoder.org/posts/flutter-navigation/</link>
      <pubDate>Tue, 30 Jan 2024 00:00:00 +0000</pubDate>
      <guid>https://quickcoder.org/posts/flutter-navigation/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;
&lt;p&gt;In this article, we are going to implement navigation logic and learn how to navigate between pages in your Flutter application. Create multi-page apps without any effort!&lt;/p&gt;
&lt;p&gt;If you don’t want to develop a single-page application, you will need a navigation pattern to get from one page to another. In a Flutter application, there are 3 different ways to handle this problem. I’ll show them to you in the following sections. Let&amp;rsquo;s see how to navigate between pages in your Flutter application!&lt;/p&gt;</description>
    </item>
    <item>
      <title>How To Prevent RichText Styling Issues In Flutter</title>
      <link>https://quickcoder.org/posts/how-to-prevent-richtext-styling-issues-in-flutter/</link>
      <pubDate>Mon, 29 Jan 2024 00:00:00 +0000</pubDate>
      <guid>https://quickcoder.org/posts/how-to-prevent-richtext-styling-issues-in-flutter/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;
&lt;p&gt;Learn how to prevent &lt;code&gt;RichText&lt;/code&gt; styling issues in Flutter apps and consider using the alternative &lt;code&gt;Text.rich&lt;/code&gt;. This small tip will save you time!&lt;/p&gt;
&lt;p&gt;Flutter provides developers with a versatile set of widgets for creating rich and engaging user interfaces. Two commonly used widgets for displaying styled text are &lt;code&gt;RichText&lt;/code&gt; and &lt;code&gt;Text.rich&lt;/code&gt;. While both widgets offer text styling capabilities, it&amp;rsquo;s essential to understand their differences, especially the fact that &lt;code&gt;RichText&lt;/code&gt; does not use the default text theme. Learn how to prevent RichText styling issues in Flutter to not get headaches like did.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How To Use Firebase Authentication In Your Flutter App</title>
      <link>https://quickcoder.org/posts/firebase-auth/</link>
      <pubDate>Sun, 28 Jan 2024 00:00:00 +0000</pubDate>
      <guid>https://quickcoder.org/posts/firebase-auth/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;
&lt;p&gt;Here is how to use Firebase Authentication in your Flutter app to authenicate your users without any effort. Don&amp;rsquo;t bother building your own authentication service and use this proven service instead!&lt;/p&gt;
&lt;h1 id=&#34;what-is-firebase-authentication&#34;&gt;What is Firebase Authentication?&lt;/h1&gt;
&lt;p&gt;Firebase Authentication is a simple way to verify a user without having to worry about storing credentials. It supports a variety of login mechanisms and is easy to set up. You receive a complete registration flow for your users including mail confirmation and validation if desired. Before implementing an authentication process by yourself, consider using this option.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How To Create A Nice Mouse Hover Effect In A Flutter App</title>
      <link>https://quickcoder.org/posts/how-to-create-a-nice-mouse-hover-effect-in-a-flutter-app/</link>
      <pubDate>Wed, 24 Jan 2024 00:00:00 +0000</pubDate>
      <guid>https://quickcoder.org/posts/how-to-create-a-nice-mouse-hover-effect-in-a-flutter-app/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;
&lt;p&gt;Learn how to create a nice mouse hover effect in a Flutter app to make it more appealing on the desktop and web platform.&lt;/p&gt;
&lt;p&gt;Since Flutter is gaining more and more traction in the desktop and web world, I wanted to share this guide about mouse hover effects and animations. You will learn how to create a nice mouse hover effect in a Flutter app that will make a widget bigger on hover and return to its original size on exit.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How To Write Unit Tests For A Flutter Application</title>
      <link>https://quickcoder.org/posts/flutter-testing/</link>
      <pubDate>Wed, 17 Jan 2024 00:00:00 +0000</pubDate>
      <guid>https://quickcoder.org/posts/flutter-testing/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;
&lt;p&gt;We cover a basic example of how to write unit tests for a Flutter application. Explained code samples are included. Here is how to write unit tests for a Flutter application!&lt;/p&gt;
&lt;p&gt;Testing is an essential task in every software project (or at least it should be one). This time we are focussing on how to write unit tests for a Flutter application.&lt;/p&gt;
&lt;p&gt;I assume you are familiar with the concept of unit testing, the why and the what for. So we will focus on writing the test cases and how to structure them. This is mainly for people who didn’t write many or any tests for a Flutter application at all. It will give you a compact overview to start with. A link to the used sources is provided at the end.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Build Flutter Apps For iOS, Android, And Windows With Azure DevOps</title>
      <link>https://quickcoder.org/posts/flutter_build_pipeline/</link>
      <pubDate>Tue, 16 Jan 2024 00:00:00 +0000</pubDate>
      <guid>https://quickcoder.org/posts/flutter_build_pipeline/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;
&lt;p&gt;A ready-to-use and working build pipeline for Azure DevOps to build Flutter apps for iOS, Android, and Windows. All packages are store-ready!&lt;/p&gt;
&lt;p&gt;Here is a working pipeline for Azure DevOps to build Flutter apps with the most recent SDK version for iOS, Android, and Windows alongside an integration and configuration guide.&lt;/p&gt;
&lt;script src=&#34;https://gist.github.com/xeladu/bf9318a65a097165ccc234a48b733a38.js&#34;&gt;&lt;/script&gt;
&lt;p&gt;It will produce an Android App bundle (.aab), an iOS IPA file, and a Windows MSIX package which can be submitted to the corresponding app stores.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How To Remove The Debug Banner In A Flutter Application</title>
      <link>https://quickcoder.org/posts/remove-flutter-debug-banner/</link>
      <pubDate>Sat, 13 Jan 2024 00:00:00 +0000</pubDate>
      <guid>https://quickcoder.org/posts/remove-flutter-debug-banner/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;
&lt;p&gt;A productive app should not have it. So here is how you can remove the Flutter debug banner in your applications.&lt;/p&gt;
&lt;p&gt;The debug banner should indicate that an app is currently under development. By default, it is displayed when you launch your Flutter app. A lot of beginners struggle with it and need help. However, the change is quite simple. So here is how to remove the debug banner in a Flutter application.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How To Store Flutter App Data On Your Device</title>
      <link>https://quickcoder.org/posts/how-to-store-flutter-app-data-on-your-device/</link>
      <pubDate>Thu, 11 Jan 2024 00:00:00 +0000</pubDate>
      <guid>https://quickcoder.org/posts/how-to-store-flutter-app-data-on-your-device/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;
&lt;p&gt;In this article, I’ll show you how to store Flutter app data on your device with the plugin shared_preferences. It&amp;rsquo;s the default solution when you want to store some data!&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://pub.dev/packages/shared_preferences&#34;&gt;Shared Preferences&lt;/a&gt; is a useful tool for persisting small amounts of data, such as user settings. It&amp;rsquo;s a key-value store similar to a &lt;code&gt;Dictionary&lt;/code&gt; in Dart. The API is easy to learn, with getter and setter methods for various types like &lt;code&gt;Int&lt;/code&gt;, &lt;code&gt;Double&lt;/code&gt;, &lt;code&gt;Bool&lt;/code&gt;, &lt;code&gt;String&lt;/code&gt;, and &lt;code&gt;StringList&lt;/code&gt;. Let’s learn how to store Flutter app data on your device with it!&lt;/p&gt;</description>
    </item>
    <item>
      <title>How To Create A Firebase Project And Link It With Your Flutter App</title>
      <link>https://quickcoder.org/posts/firebase-flutter-setup/</link>
      <pubDate>Wed, 10 Jan 2024 00:00:00 +0000</pubDate>
      <guid>https://quickcoder.org/posts/firebase-flutter-setup/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;
&lt;p&gt;Firebase is the perfect choice to add cloud capabilities to your apps. Here is how to create a Firebase project and link it with your Flutter app. Start your Firebase journey with this guide!&lt;/p&gt;
&lt;p&gt;Firebase is a lightweight app development platform of Google offering various services like databases, authentication, messaging, and many more. It offers SDKs for different programming languages and is well-documented. In this article, you&amp;rsquo;ll learn how to create a Firebase project and link it with your Flutter app.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How To Install Packages In Your Flutter App</title>
      <link>https://quickcoder.org/posts/how-to-install-packages-in-your-flutter-app/</link>
      <pubDate>Wed, 03 Jan 2024 00:00:00 +0000</pubDate>
      <guid>https://quickcoder.org/posts/how-to-install-packages-in-your-flutter-app/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;
&lt;p&gt;This short article shows how to install packages in your Flutter app so that you can use existing code and you don’t have to write everything yourself.&lt;/p&gt;
&lt;p&gt;With packages, the development of apps can be accelerated and simplified by a lot. We have a look at how to find packages, how to add them to our app, and how we can use them in the code. For demonstration purposes, I am going to use the package &lt;a href=&#34;https://pub.dev/packages/url_launcher&#34;&gt;url_launcher&lt;/a&gt; in this example. Here is how to install packages in your Flutter app.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How To Create Beautiful Line Charts In A Flutter App</title>
      <link>https://quickcoder.org/posts/how-to-create-beautiful-line-charts-in-a-flutter-app/</link>
      <pubDate>Thu, 21 Dec 2023 00:00:00 +0000</pubDate>
      <guid>https://quickcoder.org/posts/how-to-create-beautiful-line-charts-in-a-flutter-app/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;
&lt;p&gt;People like charts. They are an easy way to display data. So here is how to create beautiful line charts in a Flutter app. This is perfect for any dashboard you want to build!&lt;/p&gt;
&lt;p&gt;With line charts, you can visualize a variety of data. Think about daily sales of the last 30 days or accumulated revenues of the current year. It’s a perfect way to show users values that change over time. In this article, I want to show you how to create beautiful line charts in a Flutter app.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How To Log In From A Flutter Web App With A Microsoft Account</title>
      <link>https://quickcoder.org/posts/how-to-log-in-from-a-flutter-web-app-with-a-microsoft-account/</link>
      <pubDate>Wed, 29 Nov 2023 00:00:00 +0000</pubDate>
      <guid>https://quickcoder.org/posts/how-to-log-in-from-a-flutter-web-app-with-a-microsoft-account/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;
&lt;p&gt;Microsoft is a big player in the enterprise environment. So here is how to log in from a Flutter Web App with a Microsoft organization account. Once the setup is complete, it works flawlessly!&lt;/p&gt;
&lt;p&gt;You have a Flutter Web App (no Android or iOS) and need to add the possibility that users can log in with their Microsoft organization accounts. It sounds like a rather simple task but it took me quite a while to solve it. To save you the trouble, here is how to log in from a Flutter Web App with a Microsoft account.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How To Fix Firebase Hosting Errors When Using Automatic Deployment With GitHub</title>
      <link>https://quickcoder.org/posts/how-to-fix-firebase-hosting-errors-on-github/</link>
      <pubDate>Mon, 20 Nov 2023 00:00:00 +0000</pubDate>
      <guid>https://quickcoder.org/posts/how-to-fix-firebase-hosting-errors-on-github/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;
&lt;p&gt;Firebase Hosting offers a neat feature to automatically deploy a web app to a preview channel when a new pull request is created on GitHub. With that feature, testers can verify changes and give constructive feedback while the productive web app is not affected. But without proper configuration, the GitHub Action can run into errors. So here is how to fix Firebase Hosting errors when using automatic deployment with GitHub.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How To Create Beautiful Charts And Graphs In Your Flutter Application</title>
      <link>https://quickcoder.org/posts/how-to-create-charts-and-graphs-in-your-flutter-application/</link>
      <pubDate>Mon, 23 Oct 2023 00:00:00 +0000</pubDate>
      <guid>https://quickcoder.org/posts/how-to-create-charts-and-graphs-in-your-flutter-application/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;
&lt;p&gt;Learn how to create beautiful charts and graphs in your Flutter application to create dashboards or visualize statistic evaluations. With this article you can get started quickly!&lt;/p&gt;
&lt;p&gt;In this article, I&amp;rsquo;ll show you how to create beautiful charts and graphs in your Flutter application. I&amp;rsquo;ll cover the tools and methods to create good-looking and interactive charts. Whether you&amp;rsquo;re making a finance app, a data dashboard, or just want to make your app look better, learning how to make charts in Flutter can be a big help.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How To Use The Scaffold Widget In A Flutter Application</title>
      <link>https://quickcoder.org/posts/how-to-use-the-scaffold-widget-in-a-flutter-application/</link>
      <pubDate>Thu, 19 Oct 2023 00:00:00 +0000</pubDate>
      <guid>https://quickcoder.org/posts/how-to-use-the-scaffold-widget-in-a-flutter-application/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;
&lt;p&gt;Here is how to use the &lt;code&gt;Scaffold&lt;/code&gt; widget in a Flutter application to create a consistent app skeleton in no time. It&amp;rsquo;s the most common basic building block in Flutter apps and here is how it works!&lt;/p&gt;
&lt;p&gt;In Flutter, a &lt;code&gt;Scaffold&lt;/code&gt; is a fundamental building block used to create the basic structure and layout for an app&amp;rsquo;s user interface. It provides a pre-designed app bar, a body area, and other essential components, making it easier for developers to create consistent and standard app layouts. Think of it as a template for your app&amp;rsquo;s screen with that you can start development faster.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How To Implement Drag And Drop In A Flutter Application</title>
      <link>https://quickcoder.org/posts/how-to-implement-drag-and-drop-in-a-flutter-application/</link>
      <pubDate>Mon, 16 Oct 2023 00:00:00 +0000</pubDate>
      <guid>https://quickcoder.org/posts/how-to-implement-drag-and-drop-in-a-flutter-application/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;
&lt;p&gt;Here is how to implement drag and drop in a Flutter application and build awesome user interfaces for all input types. Give your users some gestures to play around!&lt;/p&gt;
&lt;p&gt;Drag and drop is a common UX pattern on mobile, tablets, and desktops. It&amp;rsquo;s easy and convenient, regardless of the input type (finger, stylus, mouse) you use. Here&amp;rsquo;s how to implement drag and drop in a Flutter application.&lt;/p&gt;
&lt;h1 id=&#34;draggable&#34;&gt;Draggable&lt;/h1&gt;
&lt;p&gt;We start with the &lt;code&gt;Draggable&lt;/code&gt; widget. This is the widget the users can drag in your Flutter app. You need to provide a child and a feedback widget.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How NOT To Initialize Lists In Dart: Avoiding Object Sharing And Null Value Surprises</title>
      <link>https://quickcoder.org/posts/how-not-to-initialize-lists-in-dart/</link>
      <pubDate>Sun, 15 Oct 2023 00:00:00 +0000</pubDate>
      <guid>https://quickcoder.org/posts/how-not-to-initialize-lists-in-dart/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;
&lt;p&gt;I never really had trouble with lists in dart. But only until I used &lt;code&gt;null&lt;/code&gt; values. Don&amp;rsquo;t fall for this trap like I did!&lt;/p&gt;
&lt;p&gt;I came across a strange error during development of a game app recently. The game required a 2-dimensional array or list to represent a table structure.&lt;/p&gt;
&lt;p&gt;To do this, I chose the data type &lt;code&gt;List&amp;lt;List&amp;lt;MyObject&amp;gt;&amp;gt;&lt;/code&gt;. At the beginning, I initialized the structure with &lt;code&gt;null&lt;/code&gt; values. Here is the code&lt;/p&gt;</description>
    </item>
    <item>
      <title>How To Make A Simple Quiz Page Widget For Flutter Apps</title>
      <link>https://quickcoder.org/posts/how-to-make-a-simple-quiz-page-widget-for-flutter-apps/</link>
      <pubDate>Sat, 23 Sep 2023 00:00:00 +0000</pubDate>
      <guid>https://quickcoder.org/posts/how-to-make-a-simple-quiz-page-widget-for-flutter-apps/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;
&lt;p&gt;Challenging your users with questions is common. So here is how to make a simple quiz page widget for Flutter apps.&lt;/p&gt;
&lt;p&gt;There are tons of quiz apps out there in the app stores. If you ever thought about making your own, then here is a tutorial on how to make a simple quiz page widget for Flutter apps.&lt;/p&gt;
&lt;p&gt;Eventually, it will look like this:&lt;/p&gt;
&lt;figure&gt;
&lt;p&gt;&lt;img alt=&#34;A simple quiz widget for Flutter apps&#34; loading=&#34;lazy&#34; src=&#34;https://quickcoder.org/posts/how-to-make-a-simple-quiz-page-widget-for-flutter-apps/images/quiz_widget.gif&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>How To Connect Data Between Different Firebase Services</title>
      <link>https://quickcoder.org/posts/how-to-connect-data-between-different-firebase-services/</link>
      <pubDate>Fri, 08 Sep 2023 00:00:00 +0000</pubDate>
      <guid>https://quickcoder.org/posts/how-to-connect-data-between-different-firebase-services/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;
&lt;p&gt;Firebase offers several services for storing data, including Firestore, Storage, and Realtime Database. However, it can be difficult to keep track of which data belongs together across service borders. Use my approach on how to connect data between different Firebase services. It has worked great for me in the past!&lt;/p&gt;
&lt;h1 id=&#34;unique-indentifiers-uid&#34;&gt;Unique indentifiers (UID)&lt;/h1&gt;
&lt;p&gt;When using Firebase Authentication, you get a UID per user. We can use this UID to identify corresponding data sets that belong to this user across services.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Fix CORS Errors in Web Applications</title>
      <link>https://quickcoder.org/posts/how-to-fix-cors-errors/</link>
      <pubDate>Tue, 08 Aug 2023 00:00:00 +0000</pubDate>
      <guid>https://quickcoder.org/posts/how-to-fix-cors-errors/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;
&lt;p&gt;We&amp;rsquo;ve all been there, cursing because of CORS. You make an HTTP request only to be greeted by a frustrating error message in your browser. With this short article, I want to show you how to fix CORS errors in web applications.&lt;/p&gt;
&lt;h1 id=&#34;what-is-cors&#34;&gt;What is CORS?&lt;/h1&gt;
&lt;p&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/Cross-origin_resource_sharing&#34;&gt;Cross-Origin Resource Sharing&lt;/a&gt; (CORS) is a mechanism that allows web browsers or other web clients to make cross-origin requests, which are normally prohibited by the Same-Origin Policy (SOP). CORS is a compromise that provides greater flexibility on the Internet while maintaining high security measures. The &lt;a href=&#34;https://en.wikipedia.org/wiki/Same-origin_policy&#34;&gt;Same-Origin Policy&lt;/a&gt; (SOP) is a security feature implemented by web browsers that restricts web pages from making requests to a different origin than the one that served the web page. In simple terms, SOP prevents malicious web pages from stealing data or executing actions on behalf of a user without their knowledge or consent.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The Ultimate Guide for Working with the Firebase Console!</title>
      <link>https://quickcoder.org/posts/ultimate-guide-for-working-with-the-firebase-console/</link>
      <pubDate>Wed, 19 Jul 2023 00:00:00 +0000</pubDate>
      <guid>https://quickcoder.org/posts/ultimate-guide-for-working-with-the-firebase-console/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;
&lt;p&gt;The Firebase Console is the central hub for all Firebase services. Additionally, there are also some project management tasks that can be done with it.&lt;/p&gt;
&lt;p&gt;The ultimate guide for working with the Firebase Console explains everything you need to know about the following use cases:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Adding apps&lt;/strong&gt;&lt;br&gt;
Connect iOS, Android, Web, Unity, or Flutter apps to your Firebase project.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Removing apps&lt;/strong&gt;&lt;br&gt;
Remove connected apps again.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Managing users&lt;/strong&gt;&lt;br&gt;
Invite new people, change their roles, or remove them from the project.&lt;/p&gt;</description>
    </item>
    <item>
      <title>What The New Firebase AI Extensions Can Do For Your Apps</title>
      <link>https://quickcoder.org/posts/firebase-ai-extensions/</link>
      <pubDate>Mon, 10 Jul 2023 00:00:00 +0000</pubDate>
      <guid>https://quickcoder.org/posts/firebase-ai-extensions/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;
&lt;p&gt;During the Google I/O 2023 developer conference, Google announced countless &lt;a href=&#34;https://medium.com/gitconnected/new-firebase-features-introduced-at-google-i-o-2023-d7b7e572cc39&#34;&gt;new features and changes for Firebase&lt;/a&gt;. Several new AI-powered extensions have been published since then. Here is what the new firebase AI extensions can do for your apps.&lt;/p&gt;
&lt;figure&gt;
&lt;p&gt;&lt;img alt=&#34;AI-powered extensions added to Firebase Extension Hub&#34; loading=&#34;lazy&#34; src=&#34;https://quickcoder.org/posts/firebase-ai-extensions/images/2023-07-10-21_42_49-Window.webp&#34;&gt;&lt;/p&gt;
&lt;figcaption&gt;
&lt;p&gt;AI-powered extensions added to Firebase Extension Hub&lt;/p&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h1 id=&#34;chatbot-with-palm-api&#34;&gt;Chatbot with PaLM API&lt;/h1&gt;
&lt;p&gt;The Chatbot with PaLM API extension provides an AI-powered chatbot that can answer user prompts like ChatGPT. The extension uses Cloud Firestore and listens for new documents in a configurable collection. Once a valid document is available, the AI generates an answer via Cloud Functions and writes the result back to the document. This extension is useful for developers who want to add chatbot functionality to their apps without building the entire infrastructure from scratch.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Flutter vs .NET MAUI: Which Is Better For Creating Cross-Platform Apps?</title>
      <link>https://quickcoder.org/posts/flutter-vs-net-maui/</link>
      <pubDate>Fri, 05 May 2023 00:00:00 +0000</pubDate>
      <guid>https://quickcoder.org/posts/flutter-vs-net-maui/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;
&lt;p&gt;Here are my observations after extensively testing and building feature-rich apps using both Google and Microsoft frameworks.&lt;/p&gt;
&lt;p&gt;For the past few years, I have been developing both small and large Flutter applications. Flutter is an amazing framework that allows for the quick development of cross-platform apps. Initially, it was just another tool for me to experiment with, but now it&amp;rsquo;s my primary choice for new mobile projects without any hesitation.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How To Use Animations And Animated Widgets In Flutter Apps</title>
      <link>https://quickcoder.org/posts/flutter-animations/</link>
      <pubDate>Mon, 24 Apr 2023 00:00:00 +0000</pubDate>
      <guid>https://quickcoder.org/posts/flutter-animations/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;
&lt;p&gt;Here&amp;rsquo;s how you can animate your Flutter widgets to make your app stand out from the rest with ease. Make your apps look nicer and present your users a better UX with animations!&lt;/p&gt;
&lt;p&gt;Animations are the icing on your app cake. Fortunately, the Flutter team has put a lot of effort into making animations as easy as possible. In this article, I&amp;rsquo;ll show you how it&amp;rsquo;s done. I&amp;rsquo;ll also provide a sample application at the end, so you can try out everything discussed in this guide.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Firebase WhatsApp Clone Built With Flutter in No Time!</title>
      <link>https://quickcoder.org/posts/flutter-firebase-chat/</link>
      <pubDate>Fri, 31 Mar 2023 00:00:00 +0000</pubDate>
      <guid>https://quickcoder.org/posts/flutter-firebase-chat/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;
&lt;p&gt;I built a WhatsApp clone with Flutter and Firebase in a few hours. Here is what I came up with.&lt;/p&gt;
&lt;p&gt;There are a ton of messaging apps available. Some well-known players are WhatsApp, Threema, Signal, and others. Apart from a messaging functionality, they provide many other features like group chats, file transmission, or data backup. In my little experiment, I tried to recreate the messaging feature that all apps use. My requirements were the following:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Create Your Own Custom URL Shortener with Firebase in Just a Few Simple Steps</title>
      <link>https://quickcoder.org/posts/firebase-url-shortener/</link>
      <pubDate>Sun, 12 Mar 2023 00:00:00 +0000</pubDate>
      <guid>https://quickcoder.org/posts/firebase-url-shortener/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;
&lt;p&gt;Save coding time by using Firebase Extensions and create an URL shortening service in minutes! Here’s the full guide.&lt;/p&gt;
&lt;p&gt;With a few simple steps, you can build your own personal URL shortening service. All you need is a &lt;a href=&#34;https://firebase.google.com&#34;&gt;Firebase account&lt;/a&gt; and a &lt;a href=&#34;https://bitly.com&#34;&gt;Bitly account&lt;/a&gt;. The setup involves no coding. To test the service, we will write a small Flutter app.&lt;/p&gt;
&lt;p&gt;Firebase offers a variety of extensions. The major benefit is that you gain functionality without having to code anything yourself. I already wrote a detailed &lt;a href=&#34;https://quickcoder.org/posts/firebase-extensions/&#34;&gt;article&lt;/a&gt; about it if you need more details.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How To Add Swipe To Dismiss In Flutter Apps For A Better UX</title>
      <link>https://quickcoder.org/posts/flutter-swipe-dismiss/</link>
      <pubDate>Thu, 16 Feb 2023 00:00:00 +0000</pubDate>
      <guid>https://quickcoder.org/posts/flutter-swipe-dismiss/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;
&lt;p&gt;Here is how you can implement the swipe-to-dismiss pattern in ListViews of a Flutter applications. It takes 5 minutes to implement it.&lt;/p&gt;
&lt;p&gt;Swipe to delete is a common UI pattern in mobile applications. The user swipes an element in a direction and the system reacts with an action. Common use cases include removing entries from lists or making toast notifications disappear, for example.&lt;/p&gt;
&lt;p&gt;In this short article, I will show you how to implement the pattern in a &lt;code&gt;ListView&lt;/code&gt; of a Flutter application.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Clean Code, Happy Developer: How To Use Linters In Your Flutter App Development Workflow</title>
      <link>https://quickcoder.org/posts/flutter-linters/</link>
      <pubDate>Tue, 14 Feb 2023 00:00:00 +0000</pubDate>
      <guid>https://quickcoder.org/posts/flutter-linters/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;
&lt;p&gt;Here is how you add and use linters in your Flutter app to enhance and maintain higher code quality. Customize them to your needs!&lt;/p&gt;
&lt;p&gt;With linters and linting rules, you can verify clean code principles and maintain high code quality during the development process of your Flutter app. A linter is a tool that analyzes source code to detect and report potential errors or issues.&lt;/p&gt;
&lt;p&gt;When you use a code editor like VSCode or Android Studio and you build your project, a static code analysis is executed to ensure, the code is free of compile errors. It uses the &lt;a href=&#34;https://dart.dev/tools/dart-analyze&#34;&gt;dart analyze&lt;/a&gt; command internally. On top of that, you can include additional rules with custom linters.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Building A Simple Text Translation App With Flutter And Firebase</title>
      <link>https://quickcoder.org/posts/firebase-translation/</link>
      <pubDate>Tue, 03 Jan 2023 00:00:00 +0000</pubDate>
      <guid>https://quickcoder.org/posts/firebase-translation/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;
&lt;p&gt;With Firebase Extensions you can build a simple text translation app that does most of the work for you.&lt;/p&gt;
&lt;p&gt;There are many ways to build a translation app. In this article, I am going to show you how to use Firebase for that task. A Flutter app will transmit the text to be translated to Firebase and display the final result. We will use &lt;strong&gt;Firebase Cloud Firestore&lt;/strong&gt; and a &lt;strong&gt;Firebase Extension&lt;/strong&gt; called &lt;strong&gt;Translate Text&lt;/strong&gt; for this purpose.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How To Work With Dialogs, Toasts, And Overlays In Flutter Apps</title>
      <link>https://quickcoder.org/posts/flutter-dialogs/</link>
      <pubDate>Wed, 16 Nov 2022 00:00:00 +0000</pubDate>
      <guid>https://quickcoder.org/posts/flutter-dialogs/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;
&lt;p&gt;Flutter offers predefined widgets for dialogs, toasts, and overlays. This article shows how you use them properly with code examples. Here is how to work with dialogs, toasts, and overlays in Flutter apps!&lt;/p&gt;
&lt;p&gt;Dialogs are a common pattern in many applications. In this article, I’ll introduce you to the built-in possibilities of Flutter for creating dialogs. We will cover the following widget types:&lt;/p&gt;
&lt;p&gt;▶ &lt;a href=&#34;https://api.flutter.dev/flutter/material/AlertDialog-class.html&#34;&gt;AlertDialog&lt;/a&gt; (and &lt;a href=&#34;https://api.flutter.dev/flutter/cupertino/CupertinoAlertDialog-class.html&#34;&gt;CupertinoAlertDialog&lt;/a&gt;)&lt;br&gt;
▶ &lt;a href=&#34;https://api.flutter.dev/flutter/material/SimpleDialog-class.html&#34;&gt;SimpleDialog&lt;/a&gt;&lt;br&gt;
▶ &lt;a href=&#34;https://api.flutter.dev/flutter/material/Dialog-class.html&#34;&gt;Dialog&lt;/a&gt;&lt;br&gt;
▶ &lt;a href=&#34;https://api.flutter.dev/flutter/widgets/Overlay-class.html&#34;&gt;Overlay&lt;/a&gt;&lt;br&gt;
▶ &lt;a href=&#34;https://api.flutter.dev/flutter/material/SnackBar-class.html&#34;&gt;Toast&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>A Comparison Of 6 JsonToDart Tools For Flutter/Dart Developers</title>
      <link>https://quickcoder.org/posts/dart-json-tools/</link>
      <pubDate>Tue, 02 Aug 2022 00:00:00 +0000</pubDate>
      <guid>https://quickcoder.org/posts/dart-json-tools/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;
&lt;p&gt;Instead of writing code yourself, you can always use generators to create Dart model classes from JSON. Here are the results of my evaluation of some free tools for you.&lt;/p&gt;
&lt;p&gt;For this test, I created a sample JSON structure that all tools need to deal with. You can find it below:&lt;/p&gt;
&lt;script src=&#34;https://gist.github.com/xeladu/533edbb91b883df86aff8cb168c0ef39.js&#34;&gt;&lt;/script&gt;
&lt;p&gt;Every converter will receive the same input and I’ll examine the created output. Is it runnable? Is null-safety supported? Is the code efficient? Is anything missing? Have a look at the results below.&lt;/p&gt;</description>
    </item>
    <item>
      <title>All You Need To Know About The Default Flutter Project Folders And Files</title>
      <link>https://quickcoder.org/posts/flutter-project-structure/</link>
      <pubDate>Wed, 08 Jun 2022 00:00:00 +0000</pubDate>
      <guid>https://quickcoder.org/posts/flutter-project-structure/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;
&lt;p&gt;A new Flutter project contains a lot of files and folders. In this article, we’ll inspect them and reveal their purposes.&lt;/p&gt;
&lt;p&gt;Let’s start with an overview of what a standard Flutter project with version 3.0 will contain. We will have a look at each item in the list and discuss its purpose.&lt;/p&gt;
&lt;figure&gt;
&lt;p&gt;&lt;img alt=&#34;Screenshot of default Flutter project structure by author&#34; loading=&#34;lazy&#34; src=&#34;https://quickcoder.org/posts/flutter-project-structure/images/folders.png&#34;&gt;&lt;/p&gt;
&lt;figcaption&gt;
&lt;p&gt;Screenshot of default Flutter project structure by author&lt;/p&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h1 id=&#34;dart_tool-folder&#34;&gt;.dart_tool folder&lt;/h1&gt;
&lt;figure&gt;
&lt;p&gt;&lt;img alt=&#34;Screenshot of .dart_tool folder by author&#34; loading=&#34;lazy&#34; src=&#34;https://quickcoder.org/posts/flutter-project-structure/images/dart_tool_folder.png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>The Flutter pubspec.yaml In Detail</title>
      <link>https://quickcoder.org/posts/flutter-pubspec/</link>
      <pubDate>Sun, 05 Jun 2022 00:00:00 +0000</pubDate>
      <guid>https://quickcoder.org/posts/flutter-pubspec/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;
&lt;p&gt;The &lt;code&gt;pubspec.yaml&lt;/code&gt; file is the main configuration file for your Flutter app. In this article, we’ll have a look at its contents.&lt;/p&gt;
&lt;p&gt;When developing a Flutter app or package, you’ll eventually come across the &lt;code&gt;pubspec.yaml&lt;/code&gt; file. I’ll give you an overview of the contents and how to work with the file. It contains package dependency information, SDK version constraints, or project settings like the name. The used syntax is &lt;a href=&#34;https://yaml.org/&#34;&gt;YAML&lt;/a&gt;, an easy-to-use and understandable format. Pay attention to indentation, colons, and link breaks. Otherwise, there will be parsing errors by the Flutter/Dart tooling.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How To Use The Flutter Doctor Diagnostics Tool In The Right Way</title>
      <link>https://quickcoder.org/posts/flutter-doctor/</link>
      <pubDate>Fri, 03 Jun 2022 00:00:00 +0000</pubDate>
      <guid>https://quickcoder.org/posts/flutter-doctor/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;
&lt;p&gt;If you are not feeling well, you go and see a doctor. The same goes for Flutter.&lt;/p&gt;
&lt;p&gt;The Flutter diagnostics tool helps you identify configuration problems that might hinder a successful development workflow. As the output can be very helpful, it is required to include a diagnostic summary in every bug report in the &lt;a href=&#34;https://github.com/flutter/flutter&#34;&gt;official Flutter GitHub repository&lt;/a&gt;. Let’s have a look at the tool and its results.&lt;/p&gt;
&lt;h1 id=&#34;calling-the-doctor&#34;&gt;Calling the doctor&lt;/h1&gt;
&lt;p&gt;Run the command &lt;code&gt;flutter doctor&lt;/code&gt; from your preferred command-line tool. Your output might look similar to this one:&lt;/p&gt;</description>
    </item>
    <item>
      <title>How To Use Location Services In Your Flutter Application</title>
      <link>https://quickcoder.org/posts/flutter-location/</link>
      <pubDate>Sun, 24 Apr 2022 00:00:00 +0000</pubDate>
      <guid>https://quickcoder.org/posts/flutter-location/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;
&lt;p&gt;In this article, we are having a look at location services and how we can get the current position of the device in our Flutter application.&lt;/p&gt;
&lt;p&gt;Location information can be used in various app scenarios. Maybe you want to show points of interest to the users or guide them towards a specific area. Either way, you will need access to the current location of the device. I’ll show you how to accomplish this task.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How To Use The Flutter Command-Line Interface</title>
      <link>https://quickcoder.org/posts/flutter-cli/</link>
      <pubDate>Sat, 26 Mar 2022 00:00:00 +0000</pubDate>
      <guid>https://quickcoder.org/posts/flutter-cli/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;
&lt;p&gt;In this article, we are looking at the Flutter CLI and its most common use cases for building, testing, deploying, and running Flutter applications.&lt;/p&gt;
&lt;p&gt;When developing Flutter apps with code editors like Visual Studio Code, Android Studio, or XCode, you don’t need to use the command-line tools of Flutter in general. But all these editors use them internally all the time, probably without you noticing it. So let’s dive into the Flutter CLI and see what its capabilities are.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Here Are My Top 5 Free extensions For VS Code For Flutter Developers</title>
      <link>https://quickcoder.org/posts/flutter-vscode-extensions/</link>
      <pubDate>Tue, 22 Mar 2022 00:00:00 +0000</pubDate>
      <guid>https://quickcoder.org/posts/flutter-vscode-extensions/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;
&lt;p&gt;In this article, I am going to present my top 5 free extensions for Visual Studio Code to you. They offer a jump start for your development progress.&lt;/p&gt;
&lt;p&gt;VS Code is a very good code editor, not only in my opinion (&lt;a href=&#34;https://insights.stackoverflow.com/survey/2021#most-loved-dreaded-and-wanted-new-collab-tools-love-dread&#34;&gt;see StackOverflow developer survey 2021&lt;/a&gt;). But today’s tools can be enhanced with extensions to make them perfect for your specific tasks. Here are the extensions that I use as a Flutter developer.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How To Fix A Broken Branch After A Git Merge Or Git Rebase</title>
      <link>https://quickcoder.org/posts/git-rebase-fix/</link>
      <pubDate>Sun, 13 Mar 2022 00:00:00 +0000</pubDate>
      <guid>https://quickcoder.org/posts/git-rebase-fix/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction.&lt;/h1&gt;
&lt;p&gt;Problems when merging or rebasing branches in a version control system like git can happen to anyone. I want to show you one way that works pretty good to resolve the issue. Of course, there are other ways like reverting the rebase and doing it again, but I like this approach more.&lt;/p&gt;
&lt;h2 id=&#34;relevant-gitcommands&#34;&gt;Relevant git commands&lt;/h2&gt;
&lt;p&gt;▶ &lt;a href=&#34;https://git-scm.com/docs/git-cherry-pick&#34;&gt;git cherry-pick&lt;/a&gt;&lt;br&gt;
▶ &lt;a href=&#34;https://git-scm.com/docs/git-log&#34;&gt;git log&lt;/a&gt;&lt;br&gt;
▶ &lt;a href=&#34;https://git-scm.com/docs/git-checkout&#34;&gt;git checkout&lt;/a&gt;&lt;br&gt;
▶ &lt;a href=&#34;https://git-scm.com/docs/git-branch&#34;&gt;git branch&lt;/a&gt;&lt;/p&gt;
&lt;h1 id=&#34;1-create-a-new-branch-from-the-mergerebase-target&#34;&gt;1 Create a new branch from the merge/rebase target&lt;/h1&gt;
&lt;p&gt;Let’s assume you wanted to rebase the &lt;code&gt;main&lt;/code&gt; branch onto your &lt;code&gt;dev&lt;/code&gt; branch and something went wrong because the application does launch anymore.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Flutter Mockito Package Cheat Sheet</title>
      <link>https://quickcoder.org/posts/mockito-cheat-sheet/</link>
      <pubDate>Tue, 15 Feb 2022 00:00:00 +0000</pubDate>
      <guid>https://quickcoder.org/posts/mockito-cheat-sheet/</guid>
      <description>&lt;h1 id=&#34;introduction&#34;&gt;Introduction&lt;/h1&gt;
&lt;p&gt;This article is all about the possibilities of mocking that the Mockito package provides. We’ll look into setting up mocks, verifying the calls, and pitfalls to avoid.&lt;/p&gt;
&lt;p&gt;I recently published an article about mocking in unit tests with the &lt;a href=&#34;https://pub.dev/packages/mockito&#34;&gt;Mockito package&lt;/a&gt; in Flutter apps.&lt;/p&gt;
&lt;p&gt;This follow-up article is a cheat sheet for you to quickly find an example of how to use the package. I also updated the GitHub repository of the original post and it now contains the cheat sheet as a working test class.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
