starter4j

Auto updating launcher for JavaFX and Swing applications

MIT License

Stars
5

desktop-desktop.starter

Russian version Status: beta We want to create java desktop starter which can help to run java app faster and better. There is functionality to update your default application with low traffic and check the environment (memory amount, correct temp directory, etc.). We have detailed instructions to create installers for Windows, Linux, MacOS that will let you install java if your computer doesn't have it. Allows you to easily change your application configs on the server side. This solution is created on our 6-year experience in this area. It works for: Linux, MacOS, Windows. The project has the following life cycle: You need to prepare files from your desktop application:

To run your desktop app will have next steps:

Additional features of the starter: Solves the problem of changing the encoding if the username is in russian language, usually in this case it is impossible to run the application, we change the working directory to C:\program_name and display a message to the user about this. You can check how the test desktop application installers work by downloading ready-made for:

  1. Windows Installer
  2. Linux
    Installation is done through the terminal, to do this, open the terminal and run the following command
wget https://github.com/gdevby/starter-app/blob/master/example-compiled-app/os_installer/installDebPackage.sh -O - | sh
  1. MacOs
    Installation is carried out through the terminal and from the browser. To run from a browser, you need to sign code signing your installer. In this example, we'll show you how to run it from the terminal. Open a terminal and run the command
curl --remote-name https://raw.githubusercontent.com/gdevby/starter-app/master/example-compiled-app/os_installer/starter-1.0.dmg && chmod +x ./starter-1.0.dmg && open -W ./starter-1.0.dmg 

These modules can help you develop desktop applications:

  1. Java paths, OS identification, user directories, in details desktop-common-util
  2. Multi-threaded download files and cache configs for desktop application, in detail http-download
  3. Get information on GPU, downtime and system activity, in detail desktop-common-util-additional

This project solves similar problems as launch4j, but it solves differently:

  1. Doesn't pack jar into exe. An installer is created that will download the launcher and run your jar file
  2. There is an update functionality, therefore it suits better for projects with a large audience
  3. It also provides ready-made functionality for desktop applications (validation)
  4. Solves some bugs with java

link to the next instruction