This repository contains a prototype application browser for multi-language JVM based GUI and command line apps.
Visit graviton.app to learn more
We discuss these ideas in the #graviton-browser channel of the Kotlin Slack.
- A Chrome-style silent background auto update, that registers with the operating system task scheduler so the runtime can be kept up to date regardless of whether it's in use or not. This ensures the user never sees an update prompt or delay.
- DMG/EXE packaging using javapackager is also provided for Mac and Windows. Unfortunately we can't use jlink yet.
- A simple graphical shell with a 'new tab' equivalent that let you start programs by Maven coordinate. The goal of this is to both be useful, and to test whether we can match the startup time of web apps by streaming from Maven repositories.
- A command line interface that lets you start any program by Maven coordinate.
If you want to try the command line launcher:
gradle installDist
cd build/install/graviton/bin
./graviton org.jetbrains.kotlin:kotlin-compiler -help
Any Maven coordinate that has a main class and identifies it in the JAR manifest should work. You can also specify the version. If it's omitted the latest version will be used. Try:
graviton com.github.ricksbrown:cowsay -f tux --cowthink moo!
or
graviton com.github.spotbugs
to see it run a GUI app.
There is a graphical shell that lets you start apps and see their output. Start it by running Graviton with no arguments.
You can then provide a command line like those above in the edit and press enter to run it. JavaFX apps inherit the shell
window. Try net.plan99:tictactoe
for an example.
The first milestone is to get Graviton to the point where we can distribute alpha builds to interested people, which will auto update indefinitely. The tasks required are tracked here
This section will be moved to the about box, once implemented.
- Background art courtesy of Vexels.
- Icon courtesy of icons8.com
- 'Wire One' font courtesy of Google Fonts.