Show HN: Sciter and Node.js versus Electron
terrainformatica.com
terrainformatica.com
I am thinking of making Sciter as UI module for NodeJs.
1. Strip down version of Sciter - only HTML/CSS/Graphics modules. It will use JavaScript of NodeJs (either V8 or Chackra).
2. That version will be Open Source in the same way as NodeJs itself.
The goals are:
1. To provide more optimal alternative to Electron - faster and far less resource consuming.
2. Modular and reusable implementation. Example: Sciter contains my own Graphics C++ library that wraps various backends: Direct2D/Write, CoreGraphics, Skia, Cairo, GDI+. Such Graphics module library alone can be useful in other projects. Same is for HTML/CSS modules.
Not sure if all that is interesting for someone. If it is - please let me know.
I will say open source or not is not an issue for most. Few look at source and rare modify it. I just want an easy API.
Check minimal integration sample: https://github.com/c-smile/sciter-sdk/blob/master/demos/mini...
As of PDF generation: Skia backend is capable of PDF generation but that functionality is not exposed to script yet.
Another option: Windows supports PDF print drivers so you can just print on it to get PDF.
I mean that Visual Code has way more scripts to support different languages but these are text, highly compressible, files. In any case they are not loaded all at once but RAM consumption is still 6 times more than it could be for that type of application.
It has as sort of WYSIWYG editor as markdown source editing so it is conceptually close to html-notepad.
All basic ratios are the same - it consumes RAM 4-5 times more than it should. Same with distribution size and size on disk.
Yet I think that it will be fair to compare Sublime Text and Visual Code as they have close functionality. Sublime (has its own DOM and uses script for plugins) consumes 10 times less RAM than Visual Code.
Each Electron application is a full scale browser with its own JS VM instance and Node.js that is full scale web server with another instance of JS VM. It is just that for communication they use IPC rather than HTTP.
As many E applications you are running as many browsers and servers you have in memory. That is by Electron's design - nothing new here.
As of menu: sdk/samples/menu