aot
robovm
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
aot
robovm
- MobiVM, ahead-of-time compiler for Java bytecode, targeting iOS, macOS and Linux
-
Backward Compatibility, Go 1.21, and Go 2
Naturally depends on the use case, yet they work good enough to be in business for 20 years.
https://www.ptc.com/en/products/developer-tools/perc
https://www.aicas.com/wp/products-services/jamaicavm-tools/
https://www.codenameone.com/
Android 5 & 6 (only changed back into JIT/AOT due to long compile times), https://www.infoq.com/news/2014/07/art-runtime/
Unfortunely the best well known, Excelsior JET, is no longer in business, most likely due to GraalVM and OpenJ9 being available as free beer, while PTC, Aicas Codename One are safe in their domains.
There is also RoboVM (https://github.com/MobiVM/robovm) as free beer, however it actually started as a commercial product, and the acquisition from Xamarin kind of stagnated it (naturally).
-
Options for targeting ios with Java
I think libGDX still uses RoboVM, but I’m not sure if it’s being actively developed anymore.
-
Specific libraries java-flutter
For iOS the RoboVM project intends to be an AOT compiler for Java bytecode.
- Jetpack Compose announced for Web Development
-
Kotlin from zero with no previous programming experience
Kotlin is not ideal for iOS development afaik (maybe with RoboVM). With regards to Android development, it is perfect. For desktop applications it's good, there are always tradeoffs here. With regards to payment, I believe it is generally the case that you're paid more the harder the language is to learn (so C > C# > Python). This also affects how much people are looking for a certain kind of developer - there are more JS jobs than jobs requiring a C++ developer. Kotlin is a good choice to start though. It's not too complicated, it's not so simple that it's limiting you somehow, it's not too slow for most applications (+ it supports native somewhat) and it has a good environment with stable libraries you can rely on.
-
Sorry Java, Write Once Run Anywhere (WORA) Is Now JavaScript
Yes, these are the native code compilers for Java, able to target Apple mobile platforms.
https://www.codenameone.com/
https://gluonhq.com/products/mobile/
https://github.com/MobiVM/robovm
What are some alternatives?
Cosmic-IDE - A next-gen Ide for JVM development on Android
JaCoCo - :microscope: Java Code Coverage Library
jtransc - Bytecode to source converting Java & Kotlin code into JavaScript, C++, D, C#, PHP, AS3, Dart and Haxe and run it everywhere. Also use JVM code in your favourite language as a library.
JByteMod-Beta - Java bytecode editor
Paguro - Generic, Null-safe, Immutable Collections and Functional Transformations for the JVM
Codename One - Cross-platform framework for building truly native mobile apps with Java or Kotlin. Write Once Run Anywhere support for iOS, Android, Desktop & Web.
mycompany - ERP-system for small businesses
proguard-core - Library to read, write, analyze, and process java bytecode
londogard-nlp-toolkit - Londogard Natural Language Processing Toolkit written in Kotlin
libGDX - Desktop/Android/HTML5/iOS Java game development framework
FXGL - Java / JavaFX / Kotlin Game Library (Engine)
ComposeClock - Particle clock created with Jetpack Compose framework