As well as being a Windows Desktop developer, I have spent a lot of time building mobile apps with native tools (XCode, Android Studio, Visual Studio), as well as cross-platform tools (including Xamarin, React Native, NativeScript, Cordova and many others). Today I have pushed all of them aside, and am focussing my mobile development on only one tool-chain — The Flutter Platform and SDK from Google.
The Xamarin Developer Story
I had been a Xamarin developer for a while, on and off. Was certified by Xamarin a couple of years ago — but then gradually lost interest as I slowly came to the painful conclusion that Xamarin’s tooling was almost always broken and slow, and subsequently my productivity was low — despite managing to get a couple of apps into the stores.
The Windows Mobile Developer Story
I was also an accomplished Microsoft Windows Phone / Windows Mobile developer. However after creating a handful of unsuccessful apps, I then watched open-mouthed as the car-crash that is Microsoft’s UWP Mobile platform slowly slipped into oblivion.
I once again realised that I was on a losing streak.
The Native Desktop Developer Story
So its back to my main bread-and-butter work — WPF development.
Ive been developing native Windows Desktop enterprise experiences for nearly two decades, and have many very well paying clients that are able to give me as much work as I want.
The Google Flutter Epiphany
And now we have Google Flutter in beta. I’ve been playing with it for a couple of months, and straight out of the gate I was massively impressed. I had often joined in on the various debates about cross-platform mobile developer tools, and none of the options on offer really struck a chord. However Flutter seems to provide all of the features a mobile app developer needs, and seemingly none of the downsides. After a couple of months, I am yet to discover any significant gotchas. I realised then, that I had become excited about software development again — all thanks to Flutter.
Why Flutter Will Succeed
Developing mobile apps is a massive undertaking, and this is why there are thousands of apps in the app stores that are crappy and don’t really do very much. Such apps were constrained by the attention span of your average indie developer — about 4 weeks or so.
All of the current app development tools (with the exception of Flutter) have characteristics that create a drag on productivity — whether its slow build times, double-coding because code cant be shared between platforms, or unforeseen challenges that can significant brake the speed of development.
Unless you are very well funded, being successful in mobile app development is a multi-faceted problem. One key factor to app success is the cost (in terms of money as well as time) of getting an app into the stores. This is whereFlutter really shines. It offers a genuine opportunity to write once and deploy everywhere. The stateful hot-reloading feature of the Flutter dev tools allows for a very fast iterative coding style, which in my experience is super-productive.
I shall enjoy my new focus on Flutter for cross-platform software development, and I am utterly convinced that this is a very smart move indeed.
My limited 4 week attention span will now allow me to create some incredible mobile app experience, all thanks to the amazingly productive Flutter mobile app development platform from Google.
Ive just setup a LinkedIn group if anyone is into networking on LinkedIn.