Flutter and Fuchsia. The next big thing?
The future of Flutter and how it’s linked with Fuchsia, Google’s upcoming OS
What’s Flutter anyway?
Flutter is a framework allowing you to build cross-platform apps. It started off as a toolkit allowing you to build consistent apps for both IOS and Android. Now with what was originally called project Hummingburd, Google released a technical preview for flutter web, allowing you to run the same application natively on Mobile, Web, Desktop and even embedded devices. Using Google’s UI that has been ported to all the listed platforms, you can write the code once and run it everywhere!
Developer Experience & Productivity
This on its own would be an amazing boost to our productivity as developers building apps & websites and not having to build, test and maintain multiple version of the same app but on different platforms. Flutter has taken inspiration from React in the way it’s structured, how it uses state and the render method and incorporates hot reload allowing you to see the changes you made on the screen almost instantaneously. This has proven to increase workflow productivity compared to traditional native Java & Swift development. If you come from Android you probably know how much of a pain it can be to build native apps, well not with Flutter. Google’s Dart is also a nice language that has been gaining a lot of popularity recently with a very easy syntax to learn.
Performance & UI
Flutter provides you with a beautiful material design UI out of the box and lets you theme it and customize the components however you like. The performance is very close to native and compared e.g. react native, it’s noticeably faster & smoother. Thanks to its unique rendering engine for all the target platforms, it actually looks native; scrolling is different on Android & IOS as it should be. Although the desktop & web performance isn’t quite as good as it is on mobile, we can expect big improvements coming in the near future as we are only in the early technical preview.
The future of Flutter
If Flutter keeps gaining popularity at this pace, people will start using it to build fully cross-platform apps. This would be an absolute game changer as nothing like that has ever been successfully done before. React-Native is the closest we have come to it, but it’s all achieved through 3rd party implementations. This is all being developed by Google. However, you might be wondering why is Google doing this? Is this simply because they want to make the developer world a better place?
Google is doing this for a very particular reason; they are building an OS that has the potential to replace all the other Operating Systems. The OS is called Fuchsia and it’s still in its very early development stages. Fuchsia uses flutter as its UI rendering engine. By making flutter support more than just Fuchsia, it has the potential to have a much higher app count than without it. Coming up with Flutter is an amazing idea from the business’ perspective too, as this will decrease the risk of their OS failing just like Windows Phone did simply due to the lack of applications for it. Google is also planning on porting all existing Android apps to Fuchsia (by including ART (android runtime) in their new OS).
What makes fuchsia so unique is the ability to run on any CPU architecture. It is based on their own microkernel called Zircon which they claim is able to run on smartphones, desktops, embedded systems and more. If Fuchsia this could change the way we interact with our devices as if they use the same OS they could easily be highly linked together. We might also see benefits over Android such as improved battery life, performance, and possibly even running on Google’s custom chips they have been rumored to be experimenting with. This could be very big, similar to how well IOS works with Apple’s custom chips, how fast & smooth the iPhones run and how efficient they are. Of course, it’s still way too early to tell whether it will succeed, even whether it will end up becoming released or abandoned. We only just saw this month fuchsia running on Android Emulator (on Vulkan) for the first time, before we only saw a console without any GUI. I would be very surprised to see Fuchsia running on a production ready device (that isn’t an embedded google assistant device) within at least the next 2 years, but I am really looking forward to trying it out on a physical device for the first time.