Little Bit About me ! NC based Software Engineer, big linux fan. ! Started with PHP in early days 3.x or PHP F/I ! Started with AppC in 2011 as Trainer for Certiﬁcation Programs ! Currently Architect with Solutions Engineering Group
Little History on This Topic ! Built my ﬁrst large scale project in 03/04. Online Admissions Web Application for school. Real y became a stickler for this process. ! PHP 4/5, LAMP stack, Fedora Linux as base. ! Ran into 2 diﬀerent schools of thought ! Code should be written to be readable ! Document regardless to explain code logic ! My philosophy merges the two, PhpDocumentor was the cure
Documentation for Titanium Mobile Applications ! No standards existed for documentation, been a ﬁnd your own ﬂavor. ! #appcelerator uses it for our own SDK documentation. ! About a year ago internal y, after discussion with Rick Blalock mentioned he had some success using JSDuck. After playing around with it, we agreed this could be a good standard to recommend ! I began the R&D on the best way to implement this as easy to use for general public use.
A NPM was born ! Roughly about 6 months ago. ! First initial versions are out, stil young in usage. Glad to be here to introduce it oﬃcially to the community.
One requirement is JS Duck ! JS Doc Generator supported by Sencha labs
! I have always been a fan from Ext.JS days ! Required for this npm package to work. ! gem install jsduck
Features for Titanium- ‐JSDuck ! Instal able through npm install ! CLI options to automate the setup in your mobile applications ! Injects itself on every compile to simulator/device (alloy.jmk post:compile ) ! Options to generate documentation without compiling
Verify Installation ! Run titanium- ‐jsduck from command line, wil return this help screen
Activating your Mobile Project ! Open terminal to the root of your titanium project ! Type the fol owing command:
You’re Done ! You’re al set from there!!! Start documenting. ! A few things wil change after instal ! If alloy.jmk does not exist, we create it ! If does, we back it up (alloy.jmk.txt) to preserve any existing conﬁg ! Docs folder wil appear ( source for JS Duck to use )
Document Your Code to Integrate ! Please view Sencha Labs Documentation for Convention @ https://github.com/senchalabs/jsduck/wiki ! Jsduck wil scan your /app JS ﬁles for doc syntax ! Control er ﬁles ! Lib folder contents
How do I View the Documentation ! 3 options exist via CLI ! Detects to see if Browsers are instal ed in Applications folder
Typical Dev Workﬂow ! Create Mobile Project & Instal NPM ! titanium- ‐jsduck install ! Code & Document your project ! docs self generate on compilation, no need to check into source control ! Open Browser to View Documentation as you code ! titanium- ‐jsduck open ( ﬁrst time ) ! titanium- ‐jsduck run ( subsequent + refresh browser )
Hello World Demo TITANIUM- ‐JSDUCK NPM MODULE
Roadmap ! Additional command line arguments to conﬁgure looks and feel of documentation site ! Another instal option for deluxe documentation to include ( test plans, version release notes, etc ) ! Testing for compatibility with Windows 8.1 ! Compatibility with Platino in development ! Open for more suggestions on more improvements