A Leiningen template for creating desktop applications with Electron using Clojure and ClojureScript.
Lein-template-descjop is a Leiningen template for creating desktop applications using Electron with Clojure and ClojureScript. It provides a pre-configured project structure that handles Electron setup, ClojureScript compilation, and packaging, allowing developers to build cross-platform desktop apps with a functional programming stack. The template solves the problem of manually configuring Electron projects with ClojureScript, reducing initial setup time and complexity.
Clojure and ClojureScript developers who want to build desktop applications using Electron without dealing with low-level configuration. It's ideal for those familiar with the Leiningen build tool and functional web development.
Developers choose descjop because it offers a batteries-included template specifically tailored for Clojure/ClojureScript and Electron, with built-in support for popular UI libraries like Om and Reagent. Its convention-over-configuration approach and comprehensive Leiningen aliases streamline the entire development and packaging workflow.
A Leiningen template(Clojure/ClojureScript Project) for Web based desktop application with Electron (atom-shell).
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Handles download, initialization, and packaging for multiple platforms through grunt-download-electron, as shown in the Gruntfile.js setup.
Supports separate compilation for Electron main process and frontend renderer process, with externs generation for optimization, detailed in the usage steps.
Includes templates for Om or Reagent-based projects, leveraging established ClojureScript UI frameworks, with specific commands like `+om` or `+reagent`.
Built-in aliases for figwheel hot-reloading, one-time builds, and externs generation streamline development, as listed in the aliases section.
Uses electron-packager to create distributable apps for OS X, Windows, and Linux, with specific aliases like descjop-uberapp-osx and descjop-uberapp-win64.
Requires Leiningen, Node.js, grunt-cli, and electron-packager, adding complexity to setup and maintenance, as noted in the requirements section.
The change log stops at Electron 1.6.6 in 2017, making it severely outdated and requiring manual updates via Gruntfile.js modifications.
The README states 'will build nw.js based later...', but this feature is not yet implemented, limiting options for alternative desktop frameworks.
Heavily tied to Clojure and ClojureScript, making it unsuitable for teams using other languages or preferring different functional paradigms.