Skip to content

03 goals

Anna Powers edited this page Jun 18, 2017 · 2 revisions

Background: "web platform" Spectrum

#1 #2 #3 #4 #5 #6 #7
web app (pre-HTML5) SPA / HTML5 PWA Electron Chrome App hybrid desktop native
2001 2010 2017 2015 2014-16 2009 1995

This is the table from spectrum wiki page..

Goal: A New Hybrid (4+ years)

Electron is the best platform for innovation, but one of the least efficient when it comes to bundling & updates, considering a power user might end-up with 20 copies of chromium on their machine.

With this "electron-plan" project I plan to come up with tools to reuse the same electron shell. You know how NPM deploys multiple versions of the same library in different ways: as a "sibling dependency" if the version can be shared, or as a "child dependency" inside the parent module folder if it the versions are incompatible? I'd like this set of APIs and "platform" code to make those decisions for electron apps. The goal is to allow multiple "web platform apps" to live side-by-side and share the same electron shell, and to allow reuse of shared module dependencies across the installed applications.

Eventually I'd like to see this platform expand beyond the "Electron + npm" runtime. In 2-3 years I hope electron-plan could also manage applications that have a "web platform front-end" backed by "local HTTPS" back-end/server. In other words, an app comprised of an Electron front-end talking to local service in GoLang/Python/etc.

Goal: Bring "cloud innovation" to local apps

This is the "Alchemy" mode of the electron-plan project.

Long-Term

Still in early days. There's plenty of work to do to make the first few goals "real", see the editorial pages for the author's long-term goals (which are not yet concrete enough to be considered project goals).