3 ms·
Slightly orthogonal... In my Sciter, that uses QuickJS (no JIT), instead of JIT I've added C compiler. That means we can add not just JS modules but C modules
by c-smile 2y ago
Slightly orthogonal...
In my Sciter, that uses QuickJS (no JIT), instead of JIT I've added C compiler. That means we can add not just JS modules but C modules too:
import * as cmod from "./cmodule.c"
Such cmodule will be compiled and executed on the fly into native code. Idea is simple each language is good for specific tasks. JS is flexible and C is performant - just use right tool that is most optimal for a task.
c-modules play two major roles: FFI and number crunching code execution.
Sciter uses TCC compiler and runtime.
In total size of QuickJS + TCC binary bundle 500k + 220k = 720k.
For the comparison: V8 is of 40mb size.
https://sciter.com/c-modules-in-sciter/ https://sciter.com/c-modules-in-sciter/
https://sciter.com/here-we-go/ https://sciter.com/here-we-go/
- pjmlp 2y agoEven if I am not a big C fan, the idea is rather cool, it is a bit like having C++ on .NET via C++/CLI.
- vanderZwan 2y agoInteresting project! After clicking around on the website: > In almost 10 years, Sciter UI engine has become the secret weapon of success for some of the most prominent antivirus products on the market: Norton Antivirus and Internet Security, Comodo Internet Security, ESET Antivirus, BitDefender Antivirus, and others. What an intriguingly specific niche of customer! How come all these different anti-virus companies decided to use your platform?
- c-smile 2y ago> anti-virus companies decided to use your platform? One of the reasons: AV application should look modern to give an impression that the app is adequate to modern threats. So while app backend is relatively stable, its UI shall be easily tweakable. CSS/HTML is good for that. Check this: https://sciter.com/wp-content/uploads/2018/06/n360.png https://sciter.com/wp-content/uploads/2018/06/n360.png
- mathverse 2y agoI actually really love it. Typically AV products UIs feel snappy and lightweight and it is the backend engine that does most of the work and feels horrendously as a bottleneck. Which I think is an interesting phenomena when considering modern desktop applications where typically the backend code does very little and the frontend one is the one being bloated (Electron). It's a bit sad that there is not a lot of talk and re-usable components from these companies for Sciter that can help us create snappy apps!