9 Browser-Based Distribution

As an alternative to packaging a Kiss application as a desktop application with Electron, the application can be distributed as a standalone, browser-based package. This approach uses the system’s default web browser as the user interface and requires no additional frameworks beyond Java.

The resulting distribution is a single zip file that works on Linux, macOS, and Windows — a single package for all platforms.

9.1 Prerequisites

The target system must have the following installed:

No other dependencies are required. The distribution includes its own embedded Tomcat server.

9.2 Building the Distribution

9.2.1 Step 1: Build the Application

./bld build              [Linux / macOS]
    or
bld build                [Windows]

This compiles the application and deploys it to the embedded Tomcat server.

9.2.2 Step 2: Create the Distribution

Run the distribution build script from the project root, passing the desired distribution name as an argument:

./build-dist MyApp

This creates work/MyApp.zip ready for distribution to end users. The name argument determines both the zip filename and the directory name inside the zip.

9.3 What the Distribution Contains

start.sh

Launcher script for Linux and macOS. Checks for Java, starts the server, waits for it to be ready, and opens the default web browser.

stop.sh

Shutdown script for Linux and macOS.

start.bat

Launcher script for Windows.

stop.bat

Shutdown script for Windows.

tomcat/

The embedded Tomcat server with the application pre-deployed in tomcat/webapps/ROOT/.

9.4 End User Instructions

  1. Install Java 17 or later if not already installed.
  2. Unzip the distribution zip file.
  3. Run the appropriate start script:
    ./start.sh               [Linux / macOS]
        or
    start.bat                [Windows]
    
  4. The default web browser will open to http://localhost:8080.
  5. To shut down the application, run:
    ./stop.sh                [Linux / macOS]
        or
    stop.bat                 [Windows]
    

9.5 Comparison with Desktop Application

FeatureBrowser DistributionElectron Desktop
Cross-platform from single packageYesNo (build per OS)
Dedicated application windowNo (browser tab)Yes
Custom application menusNoYes
Distribution size~30 MB~150 MB+ per OS
Requires JavaYesYes
Requires Node.js / npmNoYes