Open truedat101 opened 8 years ago
Full app development in D would be very cool, but it's important to understand that would require a larger effort to document first the APIs are available. That might be very possible given D's close relationship with C/C++. Right now it is possible to create fully native App in C or C++. It's not common because from a development standpoint, the API surface below the Java APIs are not well documented and aren't really recommended for use by App developers. A feasibility study could be done to understand how to do this. At the end of the day, the toolchain spits out a .dex file, which is the binary format for the Dalvik (and now ART) VM . See details: https://source.android.com/devices/tech/dalvik/dex-format.html
You can introspect the symbols to understand a bit better how the process works for making something that can run on the VM. For now, it's easiest to get the first cut toolchain integration done to allow library integration with D. Have a look at Rust and Go to see how they've done their integrations.
Initial work would be to help developers easily integrate D libraries and native code into Android apps and services.
Need:
The trick will be to get the ndk-build support able to automagically build D when ndk-build is run. This may require a patch to the NDK toolchain scripts. Essential ndk-build is just Gnumake made a bit more complicated by Android. Gradle comes into play with making this easily usable in Android studio or automated builds on the command line.