Flutter is a new SDK from Google, still in Alpha stage, that lets you build apps for Android and iOS. Flutter is unique in that while it allows access to native APIs, it doesn’t use native UI elements. Everything is drawn on a Skia canvas.
This is how Flutter works at a high level. Using Dart, you use components that draw on a Skia canvas. What ever platform Skia can run on, theoretically, so can Flutter.
To delve deeper into how this would play out in the Xamarin.Forms world, I quickly created a proof of concept calledSkixam, that takes a Xamarin.Forms app and draws it on a Skia canvas, instead of using the native UI elements. It shows that Xamarin.Forms could have Skia as a platform.
Flutter also has weight behind it, because it is backed by Google, and even recently acquired long term Microsoft employee, Tim Sneath to work on this framework. It’s early stages, and it has such a long way to go, but even I can see it’s potential, provided they execute correctly.
Native Look And Feel. A commonly spoken phrase, that used to be the shining selling point of Xamarin. We can have an app that looks native on each platform, but share significant amounts of code, even the UI.
This is fast losing relevance, among Xamarin.Forms applications. Today clients are less focussed on making an app look native. They get UX/UI designers to come in and develop how they want the app to look. They don’t make tweaks for each platform, then they want the app to look like this on ALL platforms.
I spend more and more time now, diverting from the native UI look and feel, to match exactly across platforms. Users of the app aren’t complaining, and I see it is becoming more common place. UI designers are starting to push back on platform styling guidelines and say they are only guidelines, and a lot of the time, not the best approach.
If it took the Skia approach, it could very well take the advantage away from Flutter, while maintaining existing benefits and developers.
Xamarin isn’t going anywhere, Flutter looks like it could pick up a lot of indie and small dev shop movement, leading the way to larger companies adopting it down the road. If Xamarin.Forms also offered Skia as a platform, along with its existing ones, it could negate the Flutter advantage, and allow it to move to newer platforms, quicker. Xamarin could still continue to work on platform specific UI’s if they desired to, Skia would work along side.
Tie this together with the existing SDK Bindings and Tools that Xamarin already offers, it could be the next step Xamarin takes to secure it’s position in cross platform mobile development.