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.
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.
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
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
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.