robovm
proguard-core
Our great sponsors
robovm | proguard-core | |
---|---|---|
7 | 9 | |
919 | 269 | |
1.3% | 1.9% | |
7.8 | 9.1 | |
13 days ago | 4 days ago | |
Java | Java | |
- | Apache License 2.0 |
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
proguard-core
-
Any news on the Classfile API?
Anyways, have you looked at Proguard core?
-
Resources for generating and execution JVM bytecode
For generating Java bytecode/class files you could take a look at ProGuardCORE . It's a bytecode manipulation and analysis library that grew out of ProGuard.
-
JEP draft: Classfile API
The MethodBuilder "low-level" example looks like the ProGuardCORE API for building classes & code sequences, which can be written as:
-
Show HN: I spent my vacation writing a modern JVM assembler
Something else that could make your code generation for your JVM language easier: ProGuardCORE (https://github.com/Guardsquare/proguard-core). It can be used to read, generate and analyse Java bytecode.
Some examples for code generation: ProGuard where the project originated (https://github.com/Guardsquare/proguard), Brainf*ck compiler (https://github.com/mrjameshamilton/bf), Lox compiler (https://github.com/mrjameshamilton/klox)
Disclaimer: I work at Guardsquare on ProGuardCORE so may be biased ;)
-
Looking for resources on building a compiler
I implemented Lox in Kotlin based on the book's Java interpreter then added a JVM backend using ProGuardCORE: https://github.com/mrjameshamilton/klox
-
Building a simple Log4Shell detector with ProGuardCORE
You can find out more about ProGuardCORE on GitHub and the manual contains some further examples.
-
Is there any books or guides on how to target JVM bytecode?
Not a book or guide but a useful library for working with/generating JVM class files is ProGuardCORE. It's the underlying library used by ProGuard and I also recently used it to add a JVM backend to my implementation of Lox from the Crafting Interpreters book.
-
Concise language to write an interpreter for?
After completing the first part of the book (using Kotlin instead of Java), I added a JVM backend using ProGuardCORE (https://github.com/Guardsquare/proguard-core).
-
AppSweep, mobile application scanning for developers
The biggest difference is our initial goal of creating a tool for application developers rather than a security team. This means we aim to exclude information that the application developer definitely knows and doesn't want to see again, e.g. the list of permissions an application is requesting. Furthermore we try to focus on nice and intuitive UX that is familiar to this audience, enabling an application developer to be very efficient in reading & interpreting the results (e.g. easy comparison of two builds). Also note that this is built on the same core technology as ProGuard. This foundation of compiler components (e.g. our partial evaluator) and the knowledge and experience at Guardsquare that comes with it will unlock many more in-depth code checks.
What are some alternatives?
JaCoCo - :microscope: Java Code Coverage Library
proguard - ProGuard, Java optimizer and obfuscator
JByteMod-Beta - Java bytecode editor
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.
emv-qrcode - Java Based EMV QR Code Generator and Parser (MPM, CPM)
ComposeClock - Particle clock created with Jetpack Compose framework
appsweep-gradle - This Gradle plugin can be used to continuously integrate app scanning using AppSweep into your Android app build process
libGDX - Desktop/Android/HTML5/iOS Java game development framework
bytecode-viewer - A Java 8+ Jar & Android APK Reverse Engineering Suite (Decompiler, Editor, Debugger & More)
proposal - Go Project Design Documents
Maker - Lightweight, full-featured, low-level dynamic Java class generator designed for ease of use.