pojala/electrino

I wonder why size is small than electron

amorenew opened this issue ยท 5 comments

A "Hello World" app takes 115 MB using Electron, but only 167 kB using Electrino:

I wonder why size is small than electron?

This is because electron include the chromium engine and the node binaries and electrino uses the Apple frameworks so your SO has the frameworks and your app only contains your code, but this is on mac only, I think the Windows version was not implemented and theres no Linux version, I think this last one will be big b/c Linux has not a standard web render engine installed by default in all their distros.

that's a brilliant idea
but I think it could be more dynamic like if no engine is there then it downloads it in app installation.
like adobe air apps
next app will use the engine which is already there

This sounds a bit like Adobe Air, but indeed, it can maybe install the chromium engine with node from an official or custom repo and use the shared libraries between apps also.

"This is because electron include the chromium engine and the node binaries"

Do you know, why? Okay, Chromium is a little bit huge, sure. But all other of your "scripted app" is based on node. When you use local resources like the webview/browser on your OS, you have not all possible API or functions depends on security specs. If you're using your local engine, you have only an limit of access. Can you handle local files, systemfiles, or other?

The second, you write on the main repository, that "electrino" is an "desktop runtime" . Where? It's only for Mac. Not for Linux, not for Windows, for Mac. "Desktop runtime" is the badest word here - Write "Mac runtime". And then, it's clear for other developers.

I don't know what was the author of this package thinking but theres two thinks you can do:

  • Bridge nodejs with the webview.
  • Implement your own subset of node (this is what quark is trying to do).

So yeah, for sure this project only runs on mac, actually is only a proof of concept / prototype and not a fully implemented library, but it is stated in the readme (you can check there all the details), and the main goal was to run on linux, mac and windows.