They will dive into the code and show you directly how effective the development cycle with flutter is.

The Android UI evolved a lot in the last decade. With Holo, Android became kind of nice looking and with Material Design, Android became beautiful. What hasn't changed is the UI Framework where layouts are inflated, layouted and measured on the main thread. Decisions made in 2005 which can't be changed now. This makes it harder than it should to run you app constantly on 60fps.

Flutter, a mobile app SDK from Google is designed to render your app constantly at 60fps. It already comes with a rich catalog of pixel perfect Material Design which look and feel like widgets from the Android design support library. Flutter apps are written in Dart and cross compile to Android and iOS to native code (not JavaScript!!!). Java glue code is only required when you're talking to system services like GPS or notifications.

Flutter could be Googles transition plan for Fuchsia, Googles next operating system for mobile devices. Instead of supporting Android Apps on Fuchsia, apps for Fuchsia can be compiled to iOS and Android apps. Fuchsia supports Dart as first class language and the system UI is written with flutter.

It's time to look what's next!

Crossplatform Code sharing with C++ and Djinni

The App Store will turn 10 this year and nearly since the introduction of the App Store developers and business owners were looking for solutions to develop one app for multiple platforms. What sounds like a dream solution to save development costs and time brought us projects like PhoneGap, Titanium, React Native and many more.

After hard work and a lot of effort we saw that all this solutions didn't hold up to their promises. The UX was poor because we didn't have a native UI and bug fixes took a lot of time to solve and made the code base worse. A single code base meant a lot of if and elses. It didn't work out and didn't save time or costs.

But is this the end or could there be a solution to develop features and share them on multiple platforms? Yes, actually there is a great solution. For that purpose Dropbox developed a tool called Djinni which lets you define a API and generated bindings for multiple platforms. The actual API needs to be implemented in C++ and can be used in iOS, Android, Windows, Mac or Linux apps.

Using Djinni now in multiple large projects we think we found a great solution for the sharing code between multiple platforms.