Utility to convert JSON in Appcelerator's JSCA format to JavaScript
Latest commit 9cd016a May 22, 2015 @navinpeiris Merge pull request #17 from jvandijk/feature/ti-4.0.0
Add Titanium 4.0.0 SDK documentation



This project provides a set of utilities to convert APIs written in Appcelerator's JSCA specification to JSDoc annotated JavaScript files.

A good use case for these utilities is to generate a JavaScript file for the Titanium JSON API, which can then be used in IDE's such as IntelliJ IDEA, NetBeans or Sublime Text 2 (using SublimeCodeIntel plugin) for code completion and documentation lookup.

If you drop this Javascript API in the root of your Titanium mobile project, smart JS editors' code completion will help you write this kind of stuff easily:

var win = Ti.UI.createWindow(options);
win.<completion for Window proxy object>

Also, this project tries to find Alloy framework JSCA files and convert them too.

Converting JSCA JSON to JavaScript

The main function used to convert JSCA JSON to JavaScript is named convertJsca2Js and is provided through the jsca2js.py script. This function expects a JSON object containing the API in the JSCA specification and produces a string containing the converted JavaScript.

Creating the Titanium JavaScript file

The titanium-mobile.py script can be used to create a JavaScript file for Titanium Mobile API. This script will automatically fetch the api.json file from the Titanium Developer site (and cache it locally) and produce the corresponding JavaScript file.


titanium-mobile.py <titanium-version> (optional)<alloy-titanium-version>


The script will produce the JavaScript file in the current directory with a name that follows the following format:


If the script would find Alloy JSCA file too, it will produce one more file with a name:



Be aware that versions of Titanium and Alloy framework can be different. Check firstly Appcelerator Portal in JSON SDK section to find the proper latest version of Alloy framework. The titanium version for alloy is in the URL for the alloy file (eg. the 1.3.x alloy json is at version 3.2.0 of titanium).