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

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.

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)