digitalmars.D - djinni and D
- w0rp (24/24) Apr 12 2015 I was just watching this talk, and it is really interesting.
- "Ola Fosheim =?UTF-8?B?R3LDuHN0YWQi?= (3/5) Apr 13 2015 How fast is JNI now? I believe the now defunct Mosync framework
- Paulo Pinto (21/26) Apr 13 2015 Depends on which JVM you are speaking about.
- "Ola Fosheim =?UTF-8?B?R3LDuHN0YWQi?= (6/10) Apr 14 2015 It's a pity Google only need to make Android "barely
I was just watching this talk, and it is really interesting. https://www.youtube.com/watch?v=ZcBtF-JWJhM They are working with a C++ codebase they are sharing between different mobile platforms by mapping it to the languages specific to each platform. They explain in the talk, and as someone who has done a little iOS and Android development myself I understand this, that it's important to work with the platform specific tools so you can get the native look and feel specific to each platform. So they have a tool which generates code for connecting the platform languages to C++ and back. The best part is, this translation tool is actually free software. https://github.com/dropbox/djinni It uses Objective-C++ to connect to iOS with Objective-C, and JNI to connect to Android with Java. As I was watching this talk, my brain moved in a direction we can call a fanciful pipe dream. 1. Finish Objective-C support in D. 2. Finish iOS ARM support for GDC or LDC. 3. Finish Android ARM support for GDC or LDC. 4. Contribute to djinni, adding D (Objective-C) <-> Objective-C and D (JNI) <-> Java. 5. ??? 6. Profit! I'm pretty much just posting this to put that idea in the heads of others.
Apr 12 2015
On Sunday, 12 April 2015 at 19:37:43 UTC, w0rp wrote:It uses Objective-C++ to connect to iOS with Objective-C, and JNI to connect to Android with Java.How fast is JNI now? I believe the now defunct Mosync framework compiles C++ to a VM emulated on JVM...
Apr 13 2015
On Monday, 13 April 2015 at 13:56:14 UTC, Ola Fosheim Grøstad wrote:On Sunday, 12 April 2015 at 19:37:43 UTC, w0rp wrote:Depends on which JVM you are speaking about. As for the official Java JVMs (not Android), Mark Reinhold acknowledged that JNI was made hard on purpose to force developers to try to avoid writing platform specific code. Now that Oracle is trying to get the last mile in terms of performance given the increase of Java usage in the data centers, the JNI will get replaced as part of the Project Panama, currently targeted for Java 10. The bindings are based on the experience with Java Native Runtime and his being driven by Charles Nutter, one of the JRuby developers. http://openjdk.java.net/projects/panama/ In any case I doubt the Android team will do anything about it, looking forward to Google IO 2015, to see if there will be any announcement regarding either the dropped NDK support (not available in AS) or if Java 8 will ever be supported. Given the GCJ zombie code in the GCC, they could have brought the CNI back to life with ART, but not even that. https://gcc.gnu.org/onlinedocs/gcc-4.9.0/gcj/About-CNI.htmlIt uses Objective-C++ to connect to iOS with Objective-C, and JNI to connect to Android with Java.How fast is JNI now? I believe the now defunct Mosync framework compiles C++ to a VM emulated on JVM...
Apr 13 2015
On Monday, 13 April 2015 at 16:45:53 UTC, Paulo Pinto wrote:In any case I doubt the Android team will do anything about it, looking forward to Google IO 2015, to see if there will be any announcement regarding either the dropped NDK support (not available in AS) or if Java 8 will ever be supported.It's a pity Google only need to make Android "barely competitive". Android has always looked very unattractive to me, not that I find the iOS developer experience great either. Both ecosystems are built on "let's recycle desktop tech and build something on top of it and fudge it together, then evolve it".
Apr 14 2015