Introducing Jaxon
Published 08/24/2024
📝 You can view the Jaxon project here
A few years ago I came across Simple Java Compiler by Stefan Frenz. This compiles a subset of Java 1.6 to IA32 & AMD64 assembly. There is no concept of bytecode, and you supply your own runtime. Like most things I come across, I left it for another day.
In June 2024 I was exploring esoteric ways to compile Java to native (these days we just use GraalVM). Thankfully I was able to remember SJC and decided to try and learn it. I was instantly hooked. I had worked with something similar in the past with Java2ME mobile, but this worked for PCs. Stefan released enough for the project to build operating systems, 32 & 64 bit executables, and more.
I figured I could help out by creating Jaxon - Designed to be a “batteries included” SDK built on top of SJC.
- This essentially means providing templating for projects.
- Package managing, since there is no concept of bytecode, all libraries have to be source code.
- Build wrapper for making the command-line slightly easier.
- Provides an easy way to install SJC onto your system path.
- Allows you to create a JDK that JetBrains tooling will be compatible with.
The goal is to provide any kind of assistance that would help make development with SJC easier and painless.
There is a lot I’m planning to do with this project, when I’m more familiar with it again I’ll do a writeup of my long term plans / ideas / goals for Jaxon.
If this sounds interesting, or you’d like to help out feel free to contact me here.