Nim programming language finally hit 1.0
Petar
Petar
Fri Oct 4 16:28:31 UTC 2019
On Friday, 4 October 2019 at 15:56:28 UTC, Ola Fosheim Grøstad
wrote:
> On Friday, 4 October 2019 at 15:34:32 UTC, Paulo Pinto wrote:
>> JNI is pretty much a requirement for anything that isn't
>> OpenGL, Vulkan, Audio, ISO C or ISO C++ standard libraries,
>> even accessing files outside the APK install directory
>> requires Java due to SAF.
>>
>> Additionally since Android 7 Google has been clamping down the
>> NDK APIs to minimize exploits via native code.
>
> But Flutter is made by Google, so they clearly have a path to a
> Java-free environment? Or does Flutter depend on Java?
We're using Flutter at work for one of our applications, so I can
answer that.
The Flutter project is divided in two parts: engine and
framework. The engine is written in a mix of C++, Java and
Objective-C where Java and Objective-C are respectively used to
access the platform APIs. The framework (what Flutter apps are
directly using) is written in pure Dart.
Flutter is using a technique called system channels which is
basically an RPC-like thing that marshals method calls to/from
C/C++/Java/Objective-C from/to C++ and Dart. It's slower than
calling the method from the same language.
I believe Flutter will be framework of choice for their upcoming
Fuchsia OS, but currently Dart is very much a second class
citizen on Android (unlike Kotlin), just like it is on iOS.
Fortunately, Google have done a stellar job of creating good dev
experience by providing a solid CLI and editor plugins that
abstract the platform differences.
More information about the Digitalmars-d
mailing list