3 ms·
So if I understand right, what makes this lighter than electron is the fact that only webkit2 is used instead of embedding the whole chromium app.
by antoineMoPa 7y ago
So if I understand right, what makes this lighter than electron is the fact that only webkit2 is used instead of embedding the whole chromium app.
- jacobush 7y agoI don't understand, it seems like it runs in any browser? Are they using webkit2 as a replacement for node and the system browser for the GUI?
- hellofunk 7y agoI agree that they really need to explain this better on their site somewhere.
- antoineMoPa 7y agoIt seems to me that the Javascript runs in the client. The Javascript side calls the system via the local network, passing through this router: https://github.com/neutralinojs/neutralinojs/blob/master/core-linux/src/router.cpp https://github.com/neutralinojs/neutralinojs/blob/master/cor... I hope that there is some form of authentication to make sure no random web apps are accessing the API.
- jonmaim 7y agoIndeed I think they don't ship the whole browser package. What they might actually do is to locally launch a HTTP server which renders the app if you call it on any browser (localhost:8080 in the examples). The chrome of the app is actually a thin layer that use the default OS web browser. That is why the memory footprint is much less higher that alternatives like electron.
- pcr910303 7y agoLooks like it's using system controls on macOS, Windows and dynamically linking to webkit on Linux for rendering the served HTML/CSS/JS (from node). I see mentions of WKWebView(the system webkit) in the code[0], and while I don't know any Windows programming, they are #including <mshtml.h>[1] - looks like a system included web view (presumably the one that edge was based on). The linux build requires libwebkit2gtk-4.0-dev to be installed[2] - they're dynamically linked to webkit2gtk. [0] https://github.com/neutralinojs/neutralinojs/blob/b10e065c97aef495d960c0619bed7b64a084f17b/core-macos/lib/webview.h#L1915 https://github.com/neutralinojs/neutralinojs/blob/b10e065c97... [1] https://github.com/neutralinojs/neutralinojs/blob/07fdc3c1c79f53c86e383518d71d0bbeed4600f8/core-windows/src/webview.h#L63 https://github.com/neutralinojs/neutralinojs/blob/07fdc3c1c7... [2] https://github.com/neutralinojs/neutralinojs/blob/master/README.md#build-neutralino-platform-in-linux https://github.com/neutralinojs/neutralinojs/blob/master/REA...
- antoineMoPa 7y agoI think you are right except when you say that the HTML/CSS/JS is served from node. The website says it is not served from node which makes it lighter than alternatives. Developing an app requires node, but it will not be needed at runtime if I get this right.
- ASalazarMX 7y agoI guess it needs only 400 Mb of RAM instead of 500 then.