robovm
Avian
Our great sponsors
robovm | Avian | |
---|---|---|
7 | 2 | |
919 | 1,214 | |
1.3% | 0.0% | |
7.8 | 0.0 | |
13 days ago | about 3 years ago | |
Java | C++ | |
- | GNU General Public License v3.0 or later |
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.
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
Avian
-
Nintendo 64 Java
There's been plenty but they've fallen aside for various reasons.
- GCJ (iirc only pre 1.5-1.6 java support so never with generic versions, not sure if they ever implented JNI but relied on their own so libraries with native bindings had to be manually ported iirc)
- Excelsior JET was a strong option for a long time on desktops up until 2018, main selling point was resistance to decompilation but not sure if they ran afoul of Oracle licensing or couldn't keep up with the accelerated pace of JDK releases in later years.
(The below were options to various degrees for iOS developers)
- Avian VM ( https://readytalk.github.io/avian/ ), opensource and seems to be up but never really saw an uptake or proper debug tooling iirc, seems inactive by now.
- Robo VM was another strong option with strong support for IDE debuggers,etc since it was used by gamedevs and the initial libgdx author was involved in it. Sadly they were sold out to Xamarin shortly before MS bought out Xamarin and then promptly shut down since MS only had interest in Xamarin for their C# iOS/Android toolkits.
- RoboVM forks, luckily RoboVM core was liberally licensed so forks were possible for those working on mobile games with iOS ports even if the tooling wasn't as slick as the official RoboVM project (No idea if any of the open source variants have caught up, it was a bit chaotic initially with many forks).
- Intel had(have?) some AOT compiler for Java that was an option for libgdx developers for a while but RoboVM being more "native" had more eyes and no idea if Intel really had a business case for it's Java things ? (
(Funnily enough, I was actually doing an AOT one during late uni times to write a thesis on game GC's (and hoping to maybe commercialize), then Oracle bought out Sun and I wrote a JS AOT prototype instead. Hearing of Oracle vs Goog it felt sane but Oracle did showcase RoboVM later on so maybe it was silly)
-
Options for targeting ios with Java
Avian
What are some alternatives?
JaCoCo - :microscope: Java Code Coverage Library
OpenJ9 - Eclipse OpenJ9: A Java Virtual Machine for OpenJDK that's optimized for small footprint, fast start-up, and high throughput. Builds on Eclipse OMR (https://github.com/eclipse/omr) and combines with the Extensions for OpenJDK for OpenJ9 repo.
JByteMod-Beta - Java bytecode editor
ParparVM
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.
JDK - JDK main-line development https://openjdk.org/projects/jdk
proguard-core - Library to read, write, analyze, and process java bytecode
jfx - JavaFX mainline development
ComposeClock - Particle clock created with Jetpack Compose framework
java_grinder - Compile Java byte-code to native CPU's.
libGDX - Desktop/Android/HTML5/iOS Java game development framework
Dragonwell8 - Alibaba Dragonwell8 JDK