truedat101 / dlang-sv-community

A community repository for stuff related to #dlang Silicon Valley Meetup group
http://www.meetup.com/D-Lang-Silicon-Valley/
2 stars 1 forks source link

Devs would like a way to integrate D easily into library and app development on Android (D-Droid project) #16

Open truedat101 opened 8 years ago

truedat101 commented 8 years ago

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.

truedat101 commented 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.