-
-
Notifications
You must be signed in to change notification settings - Fork 154
State of Electron frameworks [May 2021]
There are a lot of templates, guides and boilerplates on how to make Electron apps, but many are out of date due to the rapid frequency of updates to the core Electron library (which is a very good thing!). I wanted to create an objective comparison to these templates in order to guide users for picking the template that makes sense for them.
For each boilerplate/template, public metrics such as the number of stars, commits, open/closed issues, repository create date and Electron version will be listed to you a good overview of the health and status of the template. The top contenders will be given further review later in this post. All of the specific Electron versions will be marked with a ✅ or ❌ based on the currently supported versions of the framework [as of this writing].
Name | Author | Supported | Electron version | URL | License | Stars | Commits | Issues (open/closed) | Create date | About |
---|---|---|---|---|---|---|---|---|---|---|
secure-electron-template | reZach | ✅ | 12.0.5 | Github | MIT | 687 | 184 | 7/49 | 2020-01-02 | The best way to build Electron apps with security in mind |
electron-boilerplate | sindresorhus | ❌ | 7.1.1 | Github | MIT | 655 | 94 | 2/13 | 2015-04-23 | Boilerplate to kickstart creating an app with Electron |
generator-electron | sindresorhus | ❌ | 7.1.1 | Github | MIT | 1.5k | 58 | 5/12 | 2015-04-23 | Scaffold out an Electron app boilerplate |
electron-boilerplate | szwacz | ✅ | 12.0.2 | Github | MIT | 3k | 441 | 0/210 | 2015-04-25 | Boilerplate application for Electron runtime |
electron-react-boilerplate | electron-react-boilerplate | ✅ | 11.0.1 | Github | MIT | 17.5k | 986 | 104/1300 | 2015-05-18 | A Foundation for Scalable Cross-Platform Apps |
lein_template_descjop | karad | ❌ | 1.6.6 | Github | MIT | 393 | 98 | 6/7 | 2015-04-17 | A Leiningen template(Clojure/ClojureScript Project) for Web based desktop application with Electron (atom-shell) |
electron-quick-start | electron | ✅ | 12.0.5 | Github | CC0-1.0 | 8.5k | 290 | 11/210 | 2015-10-16 | Clone to try a simple Electron app |
bozon | railsware | ✅ | 12.0.2 | Github | MIT | 693 | 523 | 6/53 | 2016-04-26 | Command line tool for building, testing and publishing modern Electron applications |
electron-vue | SimulatedGREG | ❌ | 2.0.4 | Github | MIT | 13.9k | 844 | 237/656 | 2016-05-12 | An Electron & Vue.js quick start boilerplate with vue-cli scaffolding, common Vue plugins, electron-packager/electron-builder, unit/e2e testing, vue-devtools, and webpack |
electron-next-skeleton | leo | ❌ | 1.7.10 | Github | MIT | 169 | 129 | 3/3 | 2017-07-16 | An example Electron app built with Next.js |
electron-sandbox-boilerplate | kewde | ❌ | 1.7.15 | Github | MIT | 71 | 83 | 9/4 | 2017-09-13 | A simple example for a (more reasonably) secure electron application, by enabling the sandbox and forcing communication over IPC |
angular-electron | maximegris | ✅ | 12.0.2 | Github | MIT | 4.6k | 449 | 12/477 | 2017-04-02 | Ultra-fast bootstrapping with Angular and Electron (Typescript + SASS + Hot Reload) |
photon | connors | ❔ | Unknown | Github | MIT | 9.6k | 261 | 66/37 | 2015-09-28 | The fastest way to build beautiful Electron apps using simple HTML and CSS |
basic-electron-react-boilerplate | pbarbiero | ❌ | 7.1.2 | Github | MIT | 230 | 28 | 9/9 | 2017-02-22 | Minimal and modern react+electron+webpack boilerplate |
enhanced-electron-react-boilerplate | pbarbiero | ❌ | 7.1.2 | Github | MIT | 61 | 30 | 7/2 | 2017-02-22 | Modern and somewhat opinionated react+electron+webpack boilerplate |
reactron | WilianZilv | ❌ | 8.2.3 | Github | MIT | 76 | 11 | 1/0 | 2020-04-21 | A tiny Electron + React boilerplate |
electron-gatsby-boilerplate | zonayedpca | ❌ | 9.4.0 | Github | MIT | 28 | 53 | 0/1 | 2020-04-10 | Simple Minimal Electron Gatsby Boilerplate. Create new BrowserWindow easily and speed up your development experience. Also included Automatic Linting, Redux, TravisCI Configuration and GitHub Release |
electron-react-redux-boilerplate | jschr | ❌ | 8.2.2 | Github | MIT | 511 | 114 | 2/50 | 2020-04-10 | A minimal boilerplate to get started with Electron, React and Redux |
electron-react-redux-advanced-boilerplate | ganeshrvel | ❌ | 4.0.1 | Github | MIT | 10 | 67 | 0/0 | 2018-09-20 | Advanced and highly scalable boilerplate built using Electron v4, React v16, Redux v4, Webpack v4, Babel v7 {HMR, Loadables, Dynamic Reducer Injection, Selectors, Code splitting} |
Based on our initial review, we can see that only a few templates have current versions of Electron, let's focus on these projects as they are the most up-to-date.
- secure-electron-template
- electron-boilerplate (szwacz)
- electron-react-boilerplate
- electron-quick-start
- bozon
- angular-electron
For each of these templates, we will compare features each template provides, as well as what front-end js framework that is used.
Note - (library) is used if a library is used for this feature. (example) is used if the code is a raw implementation of that feature.
Name | Hello world | E2E tests | Bundler | Create distributable | JS framework | Page routing | Local data store | Custom context menu | i18n support | License key validation |
---|---|---|---|---|---|---|---|---|---|---|
secure-electron-template | ✅ | ❌ | Webpack | ✅ (library) | React | Redux | ✅ (library) | ✅ (library) | ✅ (library) | ✅ (library) |
electron-boilerplate | ✅ | ✅ (library) | Webpack | ✅ (library) | JS | ❌ | ✅ (example) | ❌ | ❌ | ❌ |
electron-react-boilerplate | ✅ | ✅ (library) | Webpack | ✅ (library) | React (w/ Typescript) | ❌ | ❌ | ❌ | ❌ | ❌ |
electron-quick-start | ✅ | ❌ | ❌ | ❌ | JS | ❌ | ❌ | ❌ | ❌ | ❌ |
bozon | ✅ | ✅ (library) | Webpack | ✅ (library) | JS | ❌ | ❌ | ❌ | ❌ | ❌ |
angular-electron | ✅ | ✅ (library) | Webpack | ✅ (library) | Angular | ✅ (library) | ❌ | ❌ | ✅ (library) | ❌ |
After this review, the up-to-date templates are placed into three camps: kitchen-sinks, hello worlds and bare minimum.
These templates have more features than other templates. These templates may include features you may or may not desire for your application.
These templates have just enough to get you started, but may not have all the components set up for a production-ready app.
This template is likely best if you want to write the entire app with nothing extra from the template.
It has been the trend to move towards more secure way of building Electron applications. We will do a security review based on the checklist from the Electron team on the most up-to-date templates.
Name | Load secure content |
---|---|
secure-electron-template | ✅ |