API Development

Dash for offline API reference with Stack Overflow fallback

Online documentation is always up to date, but it can also be slow-ish. We use JSDuck, which preloads the full API reference. Great once it’s loaded, but frustrating when you’re in a flow, just need to look up when Ti.UI.Window.url was removed and then have to wait for a whopping 19MB to finish downloading.

Meet Dash by Kapeli:

dash

Dash is available for both OS X and iOS and contains up to documentation for 150+ APIs including Appcelerator Titanium and Alloy. Plus, you can import other docsets in various other standards, integrate with Appcelerator Studio, Sublime or Atom, and manage code snippets that you can use from any IDE, editor, or other apps.

Integrate with Appcelerator Studio and other editors

Almost any editor has a plugin for Dash as well, including Atom and Sublime Text.

To enable lookups in Dash for selected text in Appcelerator Studio you can use the Eclipse plugin for Dash. As you follow the instructions in the README you’ll notice the Plug-in Development option in File > Export is indeed missing, but so is the General Purpose Tools the README says you should fine under Help > Install New Software. To resolve this, in that Available Software dialog, click the Available Software Sites link and select the Eclipse Kepler Update Site:

dash-sites

Then back in the dialog, select this site from the dropdown. It will then fetch the available software, which should now include the tools you were asked to install:

dash-available

Snippets

Snippets work in any app. Simply begin typing the abbreviation (best practice: prefix with a backtick: `) and it will be inserted. If it contains placeholders a shiny dialog will appear for you to walk through them first.

dash-snippets

Stack Overflow

Finally, what is also great about Dash is that it always includes a link to Google and Stack Overflow in the search results. So if you have a question related to an API, help is just one click away! Don’t forget to add the #appcelerator tag.

dash-so