StoryTeller Javascript integration
This document aims to discuss technical aspects and possible benefits of integrating Document Platform with Javascript programming language. Javascript (as a programming language together with whole ecosystem around it) has many advantages and so can be very beneficial for future extensions of Document Platform and related services.
The indisputable fact is that Javascript is very popular among developers for many reasons:
- It is the only language natively supported in web browsers, it is sometimes called “The Language of the Web”
- It is very easy to learn (at least the basics)
- Knowing the language well is not necessary to use it effectively
- It has enormous expressive power (dynamic language supporting many programming paradigms)
- There are lots of libraries available for almost anything (due to a network effect thanks to its popularity)
- Despite its dynamic nature it is surprisingly fast (thanks to highly optimized interpreters available)
- JSON as a Data Exchange Format is basically an integral part of the language
- …
Javascript can be used on client side (in any modern web browser), on server side (in Node.js or similar environment) as well as embedded in a C++ or Java project (thanks to modern Javascript Engines like v8, JavaScriptCore, Rhino or SpiderMonkey).
Javascript Extending vs. Embedding
Javascript can be utilized in two ways in respect to Document Platform:
- The first possibility is to extend Document Platform and wrap its services in a set of Javascript interfaces. This way it would be possible to transform data and format documents directly from a Javascript enabled environment.
- Another possibility is to embed an implementation of a Javascript Interpreter right into our Document Formatter. That way it is possible to write runtime formatting scripts in Javascript Programming Language, access Variables and alter the formatting of individual Layout Objects just like it is now possible with StreamServe Scripting Language.