Appcelerator Titanium Shows Its MADP Mettle

Development Tools / Utilities
  • Smaller Small Medium Big Bigger
  • Default Helvetica Segoe Georgia Times


Appcelerator's mobile app development platform provides a wealth of tools and services for creating multiple mobile apps from a single code base.

While it's tempting to think of developing applications for mobile devices in traditional terms, carrying out that function for an enterprise is actually lending itself to a different mindset. Specifically, it's the idea that the first step isn't the classic, long-drawn-out process of asking for user requirements, but instead simply starting with a prototype user interface and working forward from there.

Illustrating this point of view is Appcelerator, Inc.'s Appcelerator Platform (which includes the Appcelerator Titanium SDK). (Appcelerator was acquired by Axway in January 2016.)

A white paper on Appcelerator's web site touts this strategy. Classical app development procedures include such tasks as soliciting requirements from user departments, building a product requirements document, and then setting up a database to handle status reports on all the requirements. Because change is moving too fast in the mobile world for this strategy to be successful, mobile development often involves going directly to developing a prototype UI that the stakeholders can play with and refine as a starting point for developing a finished app. This method also avoids the traditional pitfalls of long meetings, extensive phone calls and memos, and associated misinterpretations of what this user meant when she said that. Naturally, the Appcelerator Platform and its Titanium SDK lend themselves to this approach.

Hopping on the Appscalator

The Appcelerator Platform consists of SDKs, cloud and mobile services, and tools for creating, testing, and managing mobile and cloud applications. Appcelerator refers to its products as "opinionated," which simply means the products guide you into doing development and deployment tasks in certain ways.

The platform runs under the Mac OS, Ubuntu, or Windows and requires 2 GB of RAM, the Oracle JDK, and Node.js to fully function. The current version of the SDK is 6.0.1 and was released in December 2016. The platform consists of the Titanium SDK, Appcelerator Dashboard, Appcelerator Studio, Appcelerator Mobile Backend as a Service, Appcelerator CLI, Appcelerator Arrow, and Alloy. Developed apps and UIs can run natively on Android, iOS, and Windows or be rendered as HTML5.

The Titanium SDK is a cross-platform software development kit that helps developers build apps for multiple mobile platforms using a single JavaScript code base. Among other abilities, the SDK helps developers access local and remote data sources, work with various media APIs (e.g., images, audio, video), access mobile-device GPSes to add maps to apps, send notifications to an app's user base, integrate web content, integrate third-party modules into apps, and submit finished apps to app stores and marketplaces.

Titanium currently includes 5,000 APIs for its supported platforms and generates native, hybrid, or mobile web apps. Open-sourced, Apache-based Titanium lets developers reuse 60-90 percent of code between platforms and is supported by a community of more than 900,000 mobile developers with 75,000 apps deployed on more than 280 million devices. In addition, Appcelerator offers hundreds of supplemental modules to extend app capabilities.

The Titanium SDK also incorporates Hyperloop, Appcelerator's gateway to APIs. While the Titanium SDK provides common native APIs, Hyperloop facilitates use of even obscure APIs. It gives users maximum flexibility by providing the ability to access any native API or use third-party API libraries, enables creation of custom effects like animations in JavaScript, and facilitates reuse of app and API code in up to 95 percent of situations.

Appcelerator Dashboard is a web app that lets users manage the Appcelerator Platform. Users can control client apps, manage app development teams and other organizations, view app metrics and analytics, monitor cloud API usage for each app or the entire enterprise, monitor app crashes and overall performance, and manage app testing. The Dashboard home screen provides a live geographic map showing locations and numbers of active application sessions, even worldwide if necessary, with zoom-in controls and granular session counts by region. In addition, Dashboard includes a feature that collects and presents realtime data about an application's engagement and usage, as well as enabling creation of event funnels, a set of custom events that lets analysts track entire business processes or application flows.

An Eclipse-Based IDE

Appcelerator Studio is an extended version of Aptana Studio, an open-source, Eclipse-based IDE for developing Web apps in CSS, HTML, JavaScript, PHP, Python, Rails, and Ruby, although Appcelerator Studio itself now supports development only in JavaScript. Studio includes code assists for supported languages, a debugger, app deployment tools, .git source controls, and a built-in terminal for executing system commands and language utilities. Studio incorporates JavaScript editors and lets programmers associate a file type, or even a single file, with a different editor or external program within Studio. Some editors can issue warning and error messages and enable developers to set code breakpoints for debugging.

Studio includes App Designer, a WYSIWYG design tool for mobile apps. Developers can choose between a design view and an XML code view. Additional views consist of a Properties view that lets programmers explore how changes to UI elements are reflected in the Design view, an Elements view that lists all supported UI components, and an Outline view that presents a hierarchical tree of the currently active project. Another feature is Liveview, which lets developers see changes they make in an app in real time instead of having to go through the process of building, deploying, and launching to see how the latest version of an app looks and operates. Finally, Studio also includes a sample project that first-time users can activate to familiarize themselves with the studio's app import, run, test, analysis, and other features.

Appcelerator's Mobile Backend as a Service (MBaaS) option lets developers back up apps and APIs to cloud storage, manage users, deliver information from apps without specific user requests for it, push notifications to users, and integrate with social networking services like Facebook and Twitter.

Appcelerator CLI is a command-line interface that provides unified control of all Appcelerator command-line tools and helps with development and deployment of mobile and web apps. Users can develop through Studio or via the CLI or other IDEs like Atom.

Using the Arrow Framework

Appcelerator Arrow is a framework for building and deploying APIs to the cloud and includes Arrow Builder and Arrow Cloud. Arrow Builder is part of Appcelerator Arrow and includes Model Wizard, which lets developers assemble APIs, models, and connectors via a point-and-click interface or via JavaScript coding. The Connector SDK in Arrow Builder lets users create connectors to any data source, as well as optimizing payload size and data formats for specific mobile devices. Also included are pre-built connectors to data sources such as Azure, Box, MongoDB, MySQL, MS SQL, Postgres, and Swagger. There's also a composite connector for orchestrating multiple data sources. Arrow Blocks are filters that pre- or post-process data. Finally, Arrow Builder includes self-generating documentation for APIs and models, as well as a visual interface to manage records for created APIs and models.

Arrow Cloud is a scalable Node.js container stack for running all generated apps. It includes Arrow DB, offering pre-built REpresentational State Transfer (REST) objects, which are objects that can be represented textually, such as users or photos. Arrow Cloud also provides Arrow Push, which sends information from apps without specific user requests for it to mobile devices that have subscribed to push channels.

Alloy is a Model-View-Controller (MVC) framework that helps developers build apps using Titanium and includes an XML editor.

Multiple Licensing Levels

Appcelerator licenses are available in three levels of complexity. Indie is a single-seat license that includes Titanium, the Appcelerator Studio IDE, Arrow Builder (a framework for building APIs), and user analytics. The Pro level includes everything in the Indie license, plus Hyperloop, App Designer, App Preview, multi-seat collaboration ability, and premium app modules. Enterprise level includes everything in Pro plus mobile test automation, crash detection, and elite support. There is a free 45-day trial period, although users have to commit to a licensing level when the trial period expires or users want to publish an app to an app store.

If you're in the market for converting existing server apps to access via the mobile devices supported by Appcelerator, or developing completely new ones, Appcelerator's extensive feature set and supporting services are worth a look.