Flutter democratizes UI development and grows the UI developer pool

Google's open-source Flutter is a multi-platform UI tool that can bring more people into professional UI development.  In other words, Flutter democratizes user interface construction, taking it out of the hands of a few platform-specific specialists. It lets one person implement business functions across web applications, iOS native, and Android native. This reduces specialization and the amount of skew between the different platform implementations. Platform specialization may still be required.  We still need experts.  We just need fewer of them when building our applications.

Flutter is a User Interface toolset that lets software developers create mobile and web applications without requiring that they be user interface specialists. Flutter isn't a tool built on top of another tool built on top of some weird 1990s library. It was created to build applications with mobile, web, and desktop portability in mind. 

Less living on an island

UI development in general and Mobile development in particular is a land of silos where different tools and skills are required on different platforms. iOS experts tend not to write Android apps. Android developers tend to not build iOS applications. Mobile development is a pair of islands where everything is done twice.  Yes, some teams build portable libraries but it gets complicated and feels like a lot of workWeb developers live on a completely different planet with different tools and deployment models.  This creates tiny islands of expertise making it hard to scale up or unify application experiences and design. Companies may say they have a mobile team. They really often have mobile teams.

Enabling our largest pool of engineers

The best way to increase the size of the developer pool and reduce version skew across platforms is to use a common toolset that is usable by more folks who are not dedicated UI software engineers. We want to be able to move folks from other areas into the UI space based on demand. There are a whole bunch of developer types. We may not initially target the low code, reporting, or data scientists.
We have a large pool of good software engineers who don't live in the UX space. People may criticize the use of Dart as yet another language. My thoughts are 180 degrees from that. Flutter and Dart are built with standard code paradigms with a feel like other common non-UI languages, C# and Java for example. C# or Java developers with some streams or reactive programming experience should have no trouble creating first-level Flutter and Dart code. Two of us built a pretty full-featured application with two months of work that provided basic functionality on Android, iOS, and Web. This dramatically increases the potential pool of UI developers.

Other tools and products

Microsoft's Xamarin and .Net Maui also use general-purpose language for cross-platform development. The products adapted C# and .Net libraries to be used on mobile and web. Microsoft has struggled to gain mindshare here. They tried to evolve Xamarin closer to core .Net offerings. Xamarin itself is eol. Others have tried to jump into the C# space.

Revision History

Created 2024 04

Comments

Popular posts from this blog

Understanding your WSL2 RAM and swap - Changing the default 50%-25%

Installing the RNDIS driver on Windows 11 to use USB Raspberry Pi as network attached

DNS for Azure Point to Site (P2S) VPN - getting the internal IPs