Flutter doesn’t need Kotlin (or anything else)
medium.com
medium.com
No XML or descriptive interface mumbo jumbo. You write your interface purely programmatically and it's easy to read afterwards. It also looks very good and supports most of Material Design's components. Great built-in library. Dart has some very neat features. I especially love the handling of asynchronies operations. Either use promises or the async and await syntax.
Personally, I disagree. For more complex UI, having XML and designer is way better option than writing UI programmatically.
Here is Interface Builder in 1986, https://paulhammant.com/2013/03/28/interface-builders-altern...
You are going to need to do A/B testing of UI, code review, testing, accessibility/localization, and a crap ton of composability. All these are a pain when you have XML.
Flutter is a lightweight declarative UI on top of Skia with hooks into the relevant native events. That means it should generally be easier to get good performance than with React Native (not to mention replacing Android's horrible UI architecture that seems designed to prevent 60fps from happening). Once you start talking about going cross-platform, you have to start talking about compromises. Flutter seems like a very nice compromise when compared to the alternatives (only thing it's missing is the ability to compile to either HTML or Canvas).
I could live with a "small" dls if is constrained to UI rendering and let me do the logic on a more native lang...
With Flutter apps using the AOT, performance should already be good. Here's an interesting real world comparison between libsass (a C library) and dartsass.
https://github.com/sass/dart-sass/blob/master/perf.md
From the Flutter FAQ
> How does Flutter run my code on Android?
> The engine’s C/C++ code is compiled with Android’s NDK, and any Dart code is AOT-compiled into native code. The app runs using the native instruction set (no interpreter is involved).
> How does Flutter run my code on iOS?
> The engine’s C/C++ code is compiled with LLVM, and any Dart code is AOT-compiled into native code. The app runs using the native instruction set (no interpreter is involved).
> Can I access platform services and APIs like sensors and local storage?
> Yes. Flutter gives developers out-of-the-box access to some platform-specific services and APIs from the operating system. However, we want to avoid the “lowest common denominator” problem with most cross-platform APIs, so we do not intend to build cross-platform APIs for all native services and APIs.
> A number of platform services and APIs have ready-made packages available in the Pub repository. Using an existing package is easy.
> Finally, we encourage developers to use Flutter’s asynchronous message passing system to create your own integrations with platform and third-party APIs. Developers can expose as much or as little of the platform APIs as they need, and build layers of abstractions that are a best fit for their project.
Here is a good introductory video: https://www.youtube.com/watch?v=fq4N0hgOWzU
If you have an Android phone you can download Flutter Gallery app from Play Store, go to the menu and flip behavior from Android to iOS. Suddenly you have an app that behaves like an iOS app. Here is a demo like that from the early days: https://youtu.be/Mx-AllVZ1VY?t=11m23s
Now it allows for AOT and JIT on its Compiler Toolchain.