Electron-discussion

From UVOO Tech Wiki
Jump to navigation Jump to search

Electron

Electron is a modified version of google chromium which integrates Nodejs into the browser. This allows developers to create desktop applications using HTML/CSS/JS and the node APIs.

Examples: - Atom - VS Code - Slack

Pros: - well integrated with OS (file dialogs, recent docs, etc) - functions like a regular desktop application - no need for a backend, all work can be done in the client - cross platform - easy for customers to install and run

Cons: - enormous file size (chrome + V8 at a minimum) - large memory consumption - no access to node for running external process

Local Server

A local server would integrate with the operating system. The server would run in the background and the user would connect with their web browser. This process could be made seamless.

Examples: - Jupyter Notebooks - Remix

Pros: - small file size (use their existing browser) - access to node for running scripts, etc - significantly reduced memory usage.

Cons: - more communication protocols between browser and server - roundabot OS integration. (file system access, etc) - more difficult for customers to install and run

Carlo

Carlo is an experimental project recently released by Google. Rather than installing a copy of chrome for each program, it locates the chrome on the user's system and integreates it with node: https://github.com/GoogleChromeLabs/carlo