4 ms·
The same could be said about any platform - e.g. why can't I write my iOS apps in python? Transpiling languages like that nearly always ends up messy, and adds
by GeneralTspoon 10y ago
The same could be said about any platform - e.g. why can't I write my iOS apps in python?
Transpiling languages like that nearly always ends up messy, and adds another layer of potential bugs to the system. Taking the time to learn the platform will end up better in the long run (at least with the current state of transpilers).
And as it stands, you can write Android apps with a native UI in Java, Kotlin, JS (React Native) and C# (Xamarin). And you if you want you can write business logic using any language that will compile to a C binary (using the NDK).
- rtpg 10y agoSo the multidex issue I was referring to makes it pretty hard to write things that will compile to C with the NDK. In order to get any access to the Android APIs, you have to do C-JDK bridging through JNI. And in android VMs, there's a hard limit on the number of symbols you can reference in the lifetime of an app. It's the equivalent of if python was like "yeah you can use the standard library, but only up to 100 functions!" iOS, since it goes through the LLVM framework stuff, doesn't have that many barriers to transpiling from other languages. You can just do raw function calls to the OS libs. But Android doesn't allow this, forces you to go through the JNI, and makes you have to work around this symbol limit.