/electron-java-app

Electron Java application - What if you could build Desktop applications on Java with HTML 5 UI

Primary LanguageJavaApache License 2.0Apache-2.0

Electron+Java Demo

Java Desktop Application with HTML 5 UI based on Electron and Vaadin.

Uses

  1. Node JS
  2. Electron
  3. Gradle
  4. JDK 11
  5. Jetty HTTP Server
  6. Vaadin 14

Features

  1. Easy building with Gradle
  2. Jetty server with Web Sockets enabled
  3. Vaadin UI code in plain Java
  4. Bi-directional WebSocket connection with Vaadin Push and Jetty WebSocket module
  5. Two way communication between Electron and web application using javascript functions
  6. Auto start / stop of server side on application init / exit
  7. Custom window header
  8. Menu option to show developer tools only when running in debug mode

Want to know how to implement all the features? See complete tutorial: https://github.com/cuba-labs/java-electron-tutorial !

Try it!

Preparations

Run debug version:

}> gradlew runApp

Building standalone app

}> gradlew bundleApp

Application will be bundled to build/bundle

Run in production mode

}> gradlew runApp -Pvaadin.productionMode

Or

}> gradlew bundleApp -Pvaadin.productionMode

If you want to see a real world application that is built with this approach take a look at CUBA Studio https://www.cuba-platform.com/discuss/t/cuba-studio-se-a-desktop-application-based-on-electron/2914

If you want to support the project

Buy Me A Coffee

Screenshot

Demo Image