pojala / electrino

Desktop runtime for apps built on web technologies, using the system's own web browser engine
MIT License
4.38k stars 101 forks source link

I wonder why size is small than electron #18

Closed amorenew closed 6 years ago

amorenew commented 6 years ago

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

I wonder why size is small than electron?

norman784 commented 6 years ago

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.

amorenew commented 6 years ago

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

norman784 commented 6 years ago

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.

Bizarrus commented 6 years ago

"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.

norman784 commented 6 years ago

I don't know what was the author of this package thinking but theres two thinks you can 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.