Skip to content

Developer Colophon

Flynn Duniho edited this page May 30, 2024 · 1 revision

A Development Environment for Non-Developers

Our past projects (e.g. PLAE, NetCreate) have used a UNIX-style command-line development environment with Git source control. Our end user researchers have needed to be comfortable using Git tools and the command line to download and deploy the software. While we've made the process as easy to follow as possible, it still requires a high comfort level with confusing computer concepts. We'd like to eliminate this from our new system.

The current R&D we're doing is to use Electron as a packaging tool to bundle deployable versions of the software that run like a regular desktop app on our target platforms (Macintosh currently). Integrating Electron into our existing command-line environment will require several tool changes and additions:

  • Switch from Gulp/Brunch to Webpack 4 with associated workflow changes
  • Recreate development QOL features such as "livereload" for three distinct subsystems
  • Adding our AppServer to the Electron main process
  • Port existing server code to Electron standard
  • Port existing LANClient code to WebPack 4 modules
  • Create an ElectronApp GUI for the AppServer
  • Refactor code to support packaging and network updates in Electron
  • Add remote testing and logging capability

Prototyping

This repo, MEME-PROTO is the prototype boilerplate to create all of those features. Once this is stable, we will create a clean version for the MEME tool itself.

See Development Updates for current state of the project:

Deployment