Open omerfeyyaz opened 7 years ago
There is nothing too special used. Standard jpeglib, pnglib, zlib for graphics. And HTML/CSS/script handling was written from scratch.
Yet in some cases I am using the following:
Optional Skia library, sponsored and managed by Google. Skia is used for rendering when the engine is configured to do so.
KIWI Cassowary Constraint Solver by Chris Colbert and The Nucleic Development Team.
Optional DyBase library by Konstantin Knizhnik. Used for script persistence.
And here is Sciter's script implementation - as it was 7 years back - so badly outdated.
Very cool! What version of EcmaScript does tiscript
implement? Is it ES 5?
TIScript is not a ES / JS. Its runtime is compatible with ES5 but syntax is closer to ES7 with some additions ( like built-in event name $(selector) { code }
declarations).
Specification (sort of) is here: https://sciter.com/developers/sciter-docs/script/script-language/
Outline: https://www.codeproject.com/Articles/33662/TIScript-Language-A-Gentle-Extension-of-JavaScript
Reasoning for going distinct path with script was simple: 10 years ago (when project started) JS had no classes and other features that I needed all these years.
If someone needs exactly JS then there are plenty of implementations: V7, V8, MS Chackra, etc.
Choice depends on project goals. V7 is quite compact but is a direct AST interpretation.
V8 and Chackra have JITs so faster but with the price of binary size - comparable with whole Sciter binary that includes DOM, HTML/CSS parsers and layout implementation other than just script compiler and VM.
In my own vision script is a "configuration glue" that links one native function call to another. So it is not that fast as V8 on numbers crunching but because of merely half of jQuery methods are implemented natively overall UI speed is very well comparable with GC, IE and FF.
#facebook/hermes It may be a good option, although you have to add some things
I'm in love with this project but how did you do it? Did you use? Which libraries did you use? I have such a project in my mind ❤️