Continuous Animations in Flutter

This article was copied from the Flutter Fast, Flutter Far newsletter. Subscribe for better formatting and weekly knowledge!

If your app ain’t animating, users ain’t engaging.

It’s a simple law of mobile app development that gets less attention than it deserves. Users want the impression that your app is alive — a living, breathing creation that does more than respond to taps and scrolls. …

Declarative Routing Makes it Easy

This article was copied from the Flutter Fast, Flutter Far newsletter. Subscribe for better formatting and weekly knowledge!

Take a simple mobile application, introduce the concept of users, and you now have a complicated mobile application. It might seem like a simple task at first thought but…think again. With users you will need to:

  • Structure your database to query by user ID
  • Manage users’ credentials
  • Check users’ permissions on database interactions
  • Verify users’ authentication statuses
  • Route users dynamically based on their authentication status

In this letter I’m going to dive into the last two points…

The Legend of the Multi-Colored TabBar

This article was copied from the Flutter Fast, Flutter Far newsletter. Subscribe for better formatting and weekly knowledge!

A majority of popular mobile apps on the app store use a tried and true navigation scheme: the Bottom Navigation Bar. The idea is to have all 4 or 5 of the app’s main activities visible and within thumb’s reach. If you do a quick browse through the apps on your phone, you’ll find this pattern is far and away the most used.

Bottom Navigation Bar Apps:

  • Spotify
  • Instagram
  • Reddit
  • Twitter
  • YouTube
  • Slack
  • Snapchat
  • LinkedIn
  • AirBnB

If you’d like to distribute your Flutter app to iOS-using testers via Firebase Distribution, you’ll need to build IPA files. IPA files are simply iOS Application files that behave like APK or app bundles on Android.

Unlike APK or app bundles however, you can’t just run a flutter build command and create an IPA.

Build App Bundle:

flutter build appbundle

Build APK:

flutter build apk

This article will show you the fastest way to build an IPA for your Flutter app.


Get your Team ID

First, you will need your 10 digit Team ID found in Accounts > Membership > Team ID. …

Originally published

Firebase is awesome and I’ve used it in more apps than I can count (assuming I can only count to about 20). It has authentication, data storage, an intuitive querying SDK, and plenty of other features that most mobile app developers find themselves wanting at one point or another.

So why replace it?

I asked myself the same question many times and more than once my answer was “Don’t”. It had just about everything I needed…and then I was asked to implement End-to-End Encryption (E2EE) in a social media app. I managed to do it based on…

A while ago, I wrote an article on interacting with SVG images in Flutter.

Interacting with SVG Images in Flutter | by Joseph Muller | Medium

Although my steps worked, there were a bunch of limitations and downsides to the overall approach:

  • It was complicated
  • It was tedious
  • Changes were difficult to make without re-writing large pieces of code
  • It was designed specifically for images that were made up of disconnected pieces

In this article, I want to revisit the topic and hopefully make things a bit simpler for anyone that wants to create an image like the one shown…

If you’ve spent any amount of time developing mobile apps, you’re probably well aware of how public “private” data really is. Cloud databases like , , and protect their front gates with robust security measures like authentication keys, security rules, user roles, and field-specific restrictions. From the outside, these databases are fortresses with more than enough artillery to prevent people from seeing each other’s data.

The issue however, is that the castle-keepers can see everything that gets brought into the castle. Your name. Your contact info. Your personal information. It all exists on a database that is not absolutely private…

Photo by Thomas William on Unsplash


With the Stacked architecture

In this article, I will be explaining how to display a video directly from a URL in Flutter (although any video URL will work). If you’re interested in saving videos to Cloud Storage, check out my previous article on that exact subject.

If you do have videos in Cloud Storage, I’m assuming you’ll eventually want to display them. Maybe you need to show a video thumbnail on one screen and then the full video on another. Maybe you want to embed a video in a tutorial to explain how an app feature works. …

Whether you want to draw attention to the salient points of a sentence or indicate to user’s that certain text is hyperlinked, at some point in your Flutter Journey you’re going to want to underline some text. Fortunately, Flutter offers several solutions that will get you from this to t̲h̲i̲s̲.

FYI I used to add the underline in Medium

As the old adage goes, the simplest solution is usually the best solution. On that note, we will begin our investigation with the Text widget.

The Text Widget

The simplest version of a text underline can be done by specifying a TextDecoration inside…

Inspired by this Stack Overflow post

For an app that deals heavily with uploading and downloading images from a server, file size can make or break the user experience. Large files will take longer to save, display, and manipulate, all of which will affect the app’s network performance. Depending on how image-heavy the application is, users may spend more time staring at loading screens than actually interacting with content.

The HTTP Archive has some interesting data on how often mobile applications and websites request images, as well as the average size of those images. …

Joseph Muller

Flutter. Firebase. Efficiency. Blogging at Subscribe to the Flutter Fast, Flutter Far newsletter:

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store