My guest today is Leo Farias. Leo is the creator of the wildly popular FVM open-source tool. He is the CEO and co-founder of Concepta Inc and CTO and co-founder of FanHero.

FVM stands for Flutter Version Management. FVM is a simple CLI tool to manage different versions of the Flutter SDK: "FVM helps with the need for consistent app builds by allowing to reference Flutter SDK version used on a per-project basis. It also allows you to have multiple Flutter versions installed to quickly validate and test upcoming Flutter releases with your apps, without waiting for Flutter installation every time."

In my opinion, FVM is an essential tool for every Flutter developer. It facilitates switching Flutter versions quickly, as well as pinning the Flutter version that should be used for a project which is especially helpful when working on teams. We talked about what motivated Leo to build FVM, FVM's functionalities, and the differences between the various installation options for FVM.

Leo also worked on Sidekick, a beautiful desktop app (of course written in Flutter) for managing Flutter versions (you can think of it as a graphical user interface over FVM's core functionalities), explore releases, view popular packages, and more. Sidekick is available on Mac, Windows, and Linux.

At the end of the podcast, we talked about what is next for Leo and what else is he working on.

Guest: Leo Farias

Twitter @leoafariasGitHub @leoafariasLinkedIn @leofariasFanHero: A white label, all-in-one live streaming and OTT solutionConcepta: Orlando Mobile App and Web Development Companyfvm.app: Flutter Version Management

Host: Vince Varga

Twitter @vincevargadevGitHub @vincevargadevLinkedIn @vincevargadevWeb vincevarga.dev

Most relevant past episodes from Flutter 101

Dart in the Cloud, Backend, Command Line, and Shelf with Kevin Moore (Episode 14): Kevin Moore is a Product Manager at Google working on Dart and Flutter. Dart in the cloud, on the backend, and on the command line. Functions Framework for Dart, Google Cloud Run, Docker and Dart, Shelf, and many many other useful packages.Dart on AWS Lambda and Serverless Computing with Sebastian Döll (Episode 6): We talked to Sebastian Döll (GitHub Microsoft, previously Solutions Architect at AWS) about serverless computing, the state of serverless Dart, and how he implemented a custom AWS Lambda Runtime for Dart.

Mentioned packages

pub.dev/packages/fvm: A simple CLI to manage Flutter SDK versions per project. Support channels, releases, and local cache for fast switching between versions.pub.dev/packages/cli_pkg: A set of Grinder tasks that make it easy to release a Dart command-line application on many different release channels, to Dart users and non-Dart users alike. It also integrates with Travis CI to make it easy to automatically deploy packages.pub.dev/packages/pub_api_client: An API Client for pub.dev to interact with public package information.pub.dev/packages/mix: An expressive way to effortlessly build design systems in Flutter. Mix offers primitive building blocks to help developers and designers create beautiful and consistent UI.

Other resources

GitHub OCTO | Flat DataDart Sass: Dart Sass is the primary implementation of Sass, which means it gets new features before any other implementation.github.com/leoafarias/sidekick: Sidekick is an app that provides a simple desktop interface to tools that enhance Flutter development experience to make it even more delightful.github.com/leoafarias/flutter_flat_data: Flutter & Dart Unofficial Flat Data APIgithub.com/leoafarias/homebrew-fvm: Homebrew formula for fvm

Twitter Mentions