The great unicorn of software development is to have one language and framework that enables devs to code an app once and run it on any operating system and any type of device. Flutter has been aiming to do this since its inception, and today it gets quite a bit closer to that goal with the announcement of Flutter 2. The latest major update brings major enhancements for mobile platforms, adds support to desktop, and massively extends its capabilities on the web — among other things.
Does anyone here have experience with Flutter? It seems like it’s gaining some steam judging by the increase in news stories about it recently.
Microsoft, Google, and Ubuntu collaborating on a UI framework?
I’ve had *some* experience with it. So far, I’m not that impressed. Trying to use the Material widgets in Android and Cupertino in iOS means writing the UI *twice* while delegating the business logic. OR you need to create a ton of custom widgets to intelligently pick the right one. OR you need to import a 3rd party library that does the 2nd option for you (I’ve seen one so far). Imagine also needing to do that for Windows, Mac, and Linux to fit in the ecosystem.
You need a plugin/3rd party library for just about anything from making a standard HTTP request, writing to a database, saving preference data, writing a file, asking for permissions, etc, etc.
For the team I’m on, it seems like it will take LONGER, with a degraded UI (iOS will look like Material, not native iOS), rather than letting devs with *native SDK* experience just code it up in the way we know, using platform widgets (that look & feel correct), with industry patterns (e.g., MVVM, Room, etc on Android) and the like.
I had hopes for Flutter, but when I learned the *way* they implemented everything, it seems like a mess.
Indeed, it seems like Xamarin Forms, or in the future its successor project MAUI, or Project Uno, are all better bets for avoiding coding the UI twice while still using native controls, and still supporting all of the platforms Flutter 2 is targeting. As long as you’re OK using C#/F#/XAML and such stuff from MS – it is all open-source nowadays. 😉
But if you’re building a cross-platform custom UI app or Material app that’s Material everywhere on purpose (as Google does), Flutter probably fits the bill.
I’d rather stick to native SDKs.
You got farther than I did, but yeah the UI stuff looked problematic, so after a few samples I went through on Android I put it out of consideration for now. I still kind of like dart though.
Based on the people I’ve talked to who have actually used Flutter, it sounds really awful.