c-smile / sciter-sdk

Sciter is an embeddable HTML/CSS/scripting engine
http://sciter.com
Other
2.11k stars 224 forks source link

a product that truly embellishes your imagination #60

Open omerfeyyaz opened 6 years ago

omerfeyyaz commented 6 years ago

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 ❤️

c-smile commented 6 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:

And here is Sciter's script implementation - as it was 7 years back - so badly outdated.

styfle commented 6 years ago

Very cool! What version of EcmaScript does tiscript implement? Is it ES 5?

c-smile commented 6 years ago

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.

ecreeth commented 4 years ago

#facebook/hermes It may be a good option, although you have to add some things