Jsi is a small javascript interpreter implemented in pure C that includes built-in support for Sqlite, WebSockets, JSON and Zvfs.

Jsi allows the creation of Zero Install database applications with seamless web access. Moreover, Jsi's C-API is well suited for embedded development (it's modelled after Tcl).

To get started with Jsi, see the Download page. Also, Cookbook recipes detail a number of build, configuration and usage scenarios for Jsi.

Why Use Jsi?

1) Applications are being held hostage by their user interface, be it QT, GTK or IOS. Increasingly, web browsers are being used as the GUI, but this requires having internet access, or at least access to an appropriate server everywhere that you want to run your program. While you can certainly install a LAMP server everywhere that the application needs to run, the complexity associated with doing this is daunting. Jsi is meant to provide most of the functionality of a LAMP stack, without the complexity.

2) Many moderately complex applications end up requiring script support. Lua for example is often used in this context. However, if your using the Web already for your GUI, then you are already using a script language: javascript. Much time, energy and effort can be saved by using the same language on both ends. In fact, the same scripts can even be run in both the browser and the app. Moreover, you don't have to deal with incompatible data structures: JSON provides seamless data interchange.

PDQ Interfaces Inc.

Page last modified on May 25, 2014, at 01:59 PM PST