Event handling in Sciter
Event handling is a cornerstone of any UI application. And not only UI application, console application may also react on CTRL-C, LOGOFF and other events. For the note: Browsers and Sciter use...
View Articleinclude library “name”– native extensions
Since version 4.4.3.24 Sciter support native loadable extensions. Native Sciter Extension (NSE) is a dynamically loadable library (.dll, .dylib, .so) that exports at least one function: BOOL SCAPI...
View ArticleNative code exposure to script
Mechanism of native code exposure is more or less finalized. In general the architecture is a mix of COM’s IUnknown/IDispatch and Objective-C message passing approaches. Basic idea is pretty simple and...
View ArticleExtended C++ interface support in Sciter
If C++ would have reflection life will be a bit easier. It could be a breeze to add native functionality to Sciter using it – in particular to expose native objects to script. But no reflection in...
View ArticlePlus framework: proper use of repeatables
Proper use of bound collection observed by @each or @repeat elements Bound collections Bound collections are arrays or objects placed inside namespaces bound with DOM: namespace Data { var...
View ArticleSciter 4.4.0.0 with Reactor on board
4.4.0.0 is published so you can download it. It contains Reactor features, please read about it here. Essentially this version adds just two things implemented natively: SSX – JSX alike script syntax...
View ArticleReactor is getting shape.
Componentization For reactive components, script where they are defined should be the only source of truth. So components shall contain also style information so the engine will know how to style them...
View ArticleBuilt-in ReactJs in Sciter.
TL;DR: Sciter gets native implementation of ReactJs – you will not need any .js or .tis files in order to use React features. Browser’s way Consider this ES6 file from ReactJs tutorial: class Clock...
View ArticleNative support of JSX in Sciter
This is all about JSX that is quite popular with React and other “virtual DOMers” like Vue, Mithril. JSX in brief Essentially JSX is a notation (or embeddable DSL if you wish) that allows to use XML...
View ArticleOptional Chaining in Sciter Script
I am adding the subject to the script. Optional chaining is essentially this: var street = user.address && user.address.street; Note that user.address here is an optional object and to get safe...
View ArticleSecurity in Sciter-based applications
Please check “Security in Sciter-based applications” article of Juan Manuel Fernandez @ tarlogic. And here are recipes of how to deal with the problems explained in the article. Code injection...
View ArticleScript/CSS interaction: content:prop(foo)
I am adding new feature: ability to render script DOM element property values. If you have this declaration: widget::marker { content: prop(counter); } Then in script you can update counter property of...
View ArticleAnatomy of object/class relationship in JavaScript
As we know JavaScript (ES2015 spec) got classes. Well, kind of classes… Class declaration in ES2015 is just a syntax sugar for old Func.prototype mechanism (a.k.a. “prototype mess” for some). Let’s...
View ArticleOn the road to JS compatibility
First of all, about the goal… “JS compatibility” move in Sciter is NOT about creation of fully compatible JS implementation but rather to change the script to be compatible ENOUGH so that existing JS...
View ArticleEnd of 4.2.8.x series…
I’ve published today Sciter v.4.2.8.5 version and it is the last revision in v.4.2.8.x series. Next revisions will contain completely redesigned script compiler. New compiler uses AST as new ES6/7...
View ArticleScript: arrow functions
I am adding support of so called arrow functions from ES6 specification to Sciter’s script. And there are plans for more of those, like destructuring assignment and so on. The plan is to make Sciter...
View ArticleRevising assert and debug statements
assert <expr> : …; Sciter’s script has assert statement in the form: assert <expression> : <list-of-values>; Starting next version (4.1.8) this statement will be executed only if...
View ArticleEvent handling
Introduction. Event propagation Schema Sciter uses sinking/bubbling event propagation schema. It is the same schema as used in web browsers. Let’s consider the following markup: <html>...
View Article