https://github.com/guasam/electron-imgui
Electron ImGui (EmGui) boilerplate for making realtime desktop application using OpenGL & Immediate Mode GUI.
https://github.com/guasam/electron-imgui
electron-imgui graphics imgui imgui-js imgui-typescript nodejs realtime webpack
Last synced: 12 months ago
JSON representation
Electron ImGui (EmGui) boilerplate for making realtime desktop application using OpenGL & Immediate Mode GUI.
- Host: GitHub
- URL: https://github.com/guasam/electron-imgui
- Owner: guasam
- License: mit
- Created: 2022-03-25T09:38:57.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2022-05-26T11:08:46.000Z (about 4 years ago)
- Last Synced: 2025-03-22T18:30:55.158Z (over 1 year ago)
- Topics: electron-imgui, graphics, imgui, imgui-js, imgui-typescript, nodejs, realtime, webpack
- Language: TypeScript
- Homepage:
- Size: 157 KB
- Stars: 16
- Watchers: 1
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# Electron ImGui (EmGui) - Experimental
Electron ImGui (EmGui) is a minimal boilerplate for writing Desktop (Realtime) Graphics Applications using [Electron](https://www.electronjs.org/), [imgui-js](https://github.com/flyover/imgui-js), [React](https://reactjs.org/), [Webpack](https://webpack.js.org/) & [TypeScript](https://www.typescriptlang.org/).
## Screenshot

## Core Features
- ๐ Electron
- ๐ ImGui (imgui-js)
- ๐ TypeScript
- โ๏ธ React
- ๐ถ LESS Loader
- ๐จ CSS Loader
- ๐งน ESLint
- ๐ฆ Electron Forge
- ๐ฑ Webpack & Configuration
- ๐งฉ Aliases for project paths
- ๐ Package Bundling (Distribution / Release)
## Installation
#### To install the EmGui Boilerplate you need to run following commands
```bash
# Clone repository
git clone --recurse-submodules https://github.com/codesbiome/electron-imgui
# Change to cloned repository folder
cd electron-imgui
```
Install dependencies using [Yarn](https://www.npmjs.com/package/yarn) or [NPM](https://www.npmjs.com/) :
```bash
yarn install
```
## Start : Development
To develop and run your application, you need to run following command.
Start electron application for development :
```bash
yarn start
```
## Lint : Development
To lint application source code using ESLint via this command :
```bash
yarn lint
```
## Package : Production
Customize and package your Electron app with OS-specific bundles (.app, .exe etc)
```bash
yarn package
```
## Make : Production
Making is a way of taking your packaged application and making platform specific distributables like DMG, EXE, or Flatpak files (amongst others).
```bash
yarn make
```
## Publish : Production
Publishing is a way of taking the artifacts generated by the `make` command and sending them to a service somewhere for you to distribute or use as updates. (This could be your update server or an S3 bucket)
```bash
yarn publish
```
## Packager & Makers Configuration
This provides an easy way of configuring your packaged application and making platform specific distributables like DMG, EXE, or Flatpak files.
This configurations file is available in :
```
tools/forge/forge.config.js
```
For further information, you can visit [Electron Forge Configuration](https://www.electronforge.io/configuration)