Impact of this announcement on Android ?

  1. 3 months ago

    Norman P

    May 12 Pre-Release Testers, Xojo Pro great-white-software.com/blog

    Is android using kotlin as the underlying language
    I suspect not since I have heard JNI mentioned more than once in relation to Xojo and Android (which means its using the JVM)
    Google has seemingly settled on a "Kotlin First" strategy which means features and functionality are going to be present there first
    How is this going to affect Xojo's plans ?
    Are Xojo apps going to be "second class citizens" day 1 ?

    https://techcrunch.com/2019/05/07/kotlin-is-now-googles-preferred-language-for-android-app-development/

  2. Rick A

    May 12 (Brazil. GMT-3:00)
    Edited 3 months ago

    Kotlin First means Kotlin instead of Java. Google wants to break apart from Java as Oracle is a legal troll and Java is a kind of legal Trojan Horse inside Android. Kotlin was created because Java is unproductive and missed desired features. Kotlin mixes functional programming and object orientation. Kotlin is concise, Java is verbose. That's all. Differently from Apple, Google won't harm any initiatives with other languages. If you code parts of your system in Java, please, "upgrade it" to Kotlin as soon as possible (few YEARS from now, you are plenty of time). Java is second class citizen now, just it. Kotlin is JVM compatible, today. Not sure in the future.

    The only thing Xojo must have in mind is that they are entering in the ecosystem too late, and in few years from now will need to think again in terms of "Fuchsia", that, by the way, already have compilers for Rust, Kotlin, Swift, CLang, Dart... But Android still have a long run, go for it.

  3. Travis H

    May 12 Xojo Inc

    As we recently discussed at XDC, Android code and frameworks are a blend of both Xojo and Kotlin code. Kotlin is a JVM/JNI language like Java is on Android- and all calls are available to both today. But we picked Kotlin instead of Java because Google had already indicated going in that direction as their platform language of choice.

  4. Rick A

    May 12 (Brazil. GMT-3:00)
    Edited 3 months ago

    Yep. Kotlin is 100% "Java compatible" under Android. But there is another Kotlin flavor which emits native machine code for the selected platform instead of Java Bytecode; in the future, maybe a JVM couldn't even be necessary.

  5. Norman P

    May 12 Pre-Release Testers, Xojo Pro great-white-software.com/blog

    @Rick A Yep. Kotlin is 100% "Java compatible" under Android. But there is another Kotlin flavor which emits native machine code for the selected platform instead of Java Bytecode; in the future, maybe a JVM couldn't even be necessary.

    This is what I believe the direction google wants to go is - native code. No JVM. But they're not abandoning the JVM and Kotlin can still target it. Juts that "Kotlin first" will be "native" first not JVM first

  6. Rick A

    May 12 (Brazil. GMT-3:00)
    Edited 3 months ago

    You won't see a Java free Android (No JVM compatible) for years to come. So no worries, and as Travis said, the foundations for an almost zero impact for Xojo, when, or if it comes, are done. The "Kotlin first" is really just "avoid java source code ASAP", and right now, this is not tied to "Kotlin native only", at least for Android.

  7. I'm not so sure Fuchsia OS means Google dropping OpenJDK (which is now maintained by Red Hat): https://9to5google.com/2018/11/09/fuchsia-friday-java-borrowing-from-android/

    My guess would be Fuchsia will replace Android's Linux underpinnings but the virtual machine will remain. Android runs on so many different types of devices from an app developers point of view you'd want a virtual machine to save you from a nightmare.

    As for Kotlin, maybe it helps Google distance themselves from Java's API which seems to have been the basis of Oracle's court case?

  8. Rick A

    May 13 (Brazil. GMT-3:00)

    @Steve W I'm not so sure Fuchsia OS means Google dropping OpenJDK

    Kind of, Fuchsia does not mean dropping JDK and also means dropping JDK. Fuchsia is a modular OS able to run in different platforms, from a complex one full of resources (memory, HiDef Displays, storage, multicore CPU, GPUs, etc) to a basic IOT thing not having resources to have the luxury of carrying an elephant like JVM. For such scenarios, the "apps" probably will run native code, with limited sets of basic libs.

or Sign Up to reply!