7 ms·
What I find very interesting here is the QuickJS engine used in this. Developed by none other than Fabrice Bellard!
by jblazevic 6y ago
What I find very interesting here is the QuickJS engine used in this. Developed by none other than Fabrice Bellard!
- ptrott2017 6y agoC-smile (OP) ported Fabrice Bellard's gcc code to standard C (without gcc extensions). The Sciter engine currently uses TIScript - a language c-smile orginally developed and the kickstarter proposal is to open source Sciter as is, then replace TIScript with the QuickJS engine. (TIScript is a very nice scripting language in itself that is easily picked up by JS devs) The standard C version of QuickJS can be compiled using visual studio on windows as can be seen in this repo: https://github.com/c-smile/quickjspp https://github.com/c-smile/quickjspp (Edit to update to latest repo)
- nly 6y agoVery much in the same vein as Duktape[0]. It looks like Duktape is smaller and has a more useful standard library, but is slower and doesn't support ES2020 features. https://duktape.org/index.html https://duktape.org/index.html https://bellard.org/quickjs/bench.html https://bellard.org/quickjs/bench.html
- inque3d 6y agoNot just es2020, Duktape doesn't even support arrow functions and classes. QuickJS seems interesting, but I couldn't manage to compile it on Windows (without MSYS2).
- nly 6y agoc-smile (author of Sciter) maintains a MSVC compatible fork https://github.com/c-smile/quickjspp/ https://github.com/c-smile/quickjspp/
- kjksf 6y agoYou can use this fork for msvc support: https://github.com/c-smile/quickjspp https://github.com/c-smile/quickjspp
- horsawlarway 6y agoDuktape supports ES5, with only partial support for anything ES6+ (and not much partial support, at that). That said - having used Duktape in production, it's a very handy little library. Small, easy to drop into projects, great way to add support for custom user scripts or to run js code somewhere outside of a browser context. Also - insanely easy to target still, despite the lack of ES6+, as long as you already have babel somewhere in your build pipeline.