Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/jreznot/electron-java-app

Electron Java application - What if you could build Desktop applications on Java with HTML 5 UI
https://github.com/jreznot/electron-java-app

desktop electron electron-java java vaadin

Last synced: about 8 hours ago
JSON representation

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

Awesome Lists containing this project

README

        

# 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

0. Easy building with Gradle
1. Jetty server with Web Sockets enabled
2. Vaadin UI code in plain Java
3. Bi-directional WebSocket connection with Vaadin Push and Jetty WebSocket module
4. Two way communication between Electron and web application using javascript functions
5. Auto start / stop of server side on application init / exit
6. Custom window header
7. 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](./docs/app-window.png?raw=true "Application Window")