Low-code mobile development tools

Review: 7 excellent mobile app builders

Alpha Anywhere, AnyPresence, and Salesforce1 lead a rich field of low-code mobile development tools

Low-code mobile development tools

Show More
1 2 3 Page 2
Page 2 of 3

Appcelerator

Appcelerator Titanium has been a player in the mobile development space for several years, with a JavaScript-based development environment that compiles to native code for iOS, Android, and other targets. With the release of Appcelerator Studio 3.3 and Appcelerator Platform 2.0 in July 2014, the company added an MBaaS with about 25 APIs, Node.js support, and online analytics. Also, Appcelerator has published interfaces to its MBaaS that developers can add to apps built with native SDKs, although it hasn’t yet supported native SDKs in its own Studio IDE.

As with AnyPresence, I originally rated Appcelerator as an MBaaS. Of course, it is also a very good app builder with an excellent IDE.

Appcelerator has multiple frameworks on the client side and multiple API types for the cloud. At the base level on the client, Appcelerator offers the Titanium SDK, which provides an interface between JavaScript and native services. At a higher level, Appcelerator offers the Alloy Framework, which is based on the model-view-controller architecture and contains built-in support for Backbone.js and Underscore.js. When you create a new client app from Studio, you’ll typically generate one that uses Alloy.

On the cloud side, you can reach the Appcelerator Cloud Services using a REST API, via bindings to the Titanium SDK, via Node.ACS, and via native SDKs. The REST API will always work, though it’s the least convenient option. You’ll mostly want to use REST calls to reach new services that don’t yet have bindings to the Titanium SDK.

appcelerator titanium studio

Appcelerator Studio's app configuration screen.

Appcelerator can call REST and even SOAP services using HTTPClient and its built-in parsing routines. If you’ve set up a REST wrapper for a database query, you can get the JSON data into your app fairly easily. That wrapper might be implemented on Node.js or on another server, as in the case of a Web service extension to the database server.

A more serious MBaaS would already have tested, integrated modules set up to easily map the major databases to a form consumable by its apps, certainly for Oracle, SQL Server, MySQL, and PostgreSQL. I view leaving this as an exercise for the developer as a cop-out, even though writing RESTful database wrappers isn’t rocket science, especially on Node.js.

Appcelerator says it has a few enterprise connectors it sells on the MBaaS layer, such as for SAP and Salesforce.com. And one of the advantages of Node is the supply of community-developed modules for many other sources such as MySQL, SQL Server (which works on a Windows server with Node.js), PostgreSQL, and many NoSQL databases.

Similarly, Appcelerator can use a local SQLite database on a device, work with pair storage, cache in-memory, and detect when the device is online. However, it has no complete framework in place for handling intermittently connected apps, especially not conflict resolution. According to the company, most of its customers use Alloy models to handle some of this.

Appery.io

Appery.io is a rather capable cloud-based mobile Web and hybrid mobile development platform with online visual design and programming tools and integrated back-end services. You can think of it as a cross between an app builder and an MBaaS.

The Appery.io app builder generates HTML5, jQuery Mobile, AngularJS, Bootstrap, and Apache Cordova code, and the Appery.io build server generates iOS, Android, Windows Phone, and HTML5 apps. The Appery.io MBaaS provides hosting, a MongoDB database, push notifications, JavaScript server code, and a secure proxy. It allows HTML hosting to its own cloud, to Heroku, and (manually) to third-party hosting providers.

The Appery.io app builder has tabs for the app settings, your model and storage, your pages as you create them, dialogs, templates, themes, CSS, whatever services you define, your JavaScript, and any custom components you define. The builder uses a WYSIWYG design metaphor with a palette of more than 25 controls, including those for external services such as Google Maps and Vimeo, and displays a property sheet for each item. You can switch from design view to source code view to see your generated HTML, CSS, JavaScript, and any device-specific code: Java for Android, Objective-C for iOS, and XAML backed by C# for Windows Phone.

Appery.io design

Appery.io features a drag-and-drop page designer. The platform automatically generates source code that you can view online. When you are happy with the app, you can export it to mobile Web and mobile hybrid targets, including app binaries.

Appery.io can talk to essentially any REST APIs, whether or not the company has prebuilt the interface. Tying a prebuilt REST interface to a service is a matter of a few minutes; building the REST interface from scratch takes a little longer and requires knowing a little more, but it’s not a big job.

You can test your HTML5 app as you go, both in your desktop browser and in your phone and tablet browsers; everything that doesn’t depend on Cordova will work. To test your Cordova code (for example, to use native device capabilities or get push messages), you build your app, download it to your device, and run it there. For convenience, Appery.io will display QR codes for your HTML5 app and your binaries so that you can download them directly to your device. For even more convenience, you can install the Appery.io Native Test App shell on your device and point that at your code.

In general, I found the Appery.io app builder easy to learn and use. Appery.io has done a good job of designing its IDE so that mobile developers will not usually be surprised by what they get.

It’s nice that Appery.io has its own cloud-based builder and build service. Coupled with the browser-based IDE, this means that mobile developers don’t need to have multiple computers or multiple VMs to create native apps, and they don’t have to maintain multiple native SDKs and IDEs.

EachScape

EachScape accomplishes the hat trick of generating iOS, Android, and Web apps from an online drag-and-drop designer. In addition, EachScape provides mobile back-end services for apps you build with its platform, Web preview for all apps, and an online build service.

The architecture that allows EachScape to build iOS, Android, and HTML5 apps from a drag-and-drop editor (the Cloud Studio) depends on blocks and modules, as well as layouts and actions. Under the hood, EachScape has implemented a set of classes in Objective-C for iOS, in Java for Android, and in CoffeeScript for Web apps that correspond to ads, buttons, containers, controls, data connectors, data input, HTML, images, maps, media, navigation, placeholders, RESTful remote queries, social networks, and text. Advanced developers can build new blocks and modules for EachScape to extend its capabilities, using its SDKs.

EachScape Web Studio

In EachScape Web Studio, you can drag and drop blocks and configure them to create an app.

The EachScape back-end services include Cloud Collections (explained below), data connectors, analytics, mobile ads, social media access, push notifications, location services, and billing. EachScape does not currently offer back-end services outside of platform subscriptions.

The EachScape Cloud Studio has a Microsoft Visual Basic/Borland Delphi kind of development paradigm. Drag a block onto a page of the app, position it visually, and configure its properties. View a Web preview, play with it, and iterate. Use a cloud data collection or another data source to populate the app with data.

When you’re ready to try the app on a device or in a simulator, build the app online and check the targets you’d like from various ranges of Android versions, iOS 7 and 8, and HTML5. Once any target has been built on the EachScape cloud (which can take a few minutes, especially the first time you build an app for a given target) you can download the app for testing in a device or simulator. A QR code on the build history screen makes the download to a device painless.

The Cloud Collections feature of EachScape is a little like the MongoDB implementation in most MBaaS platforms and a little like the CMS in WordPress. The EachScape data connector is essentially limited to RESTful XML, RSS, and JSON data sources. EachScape currently offers no tools of its own to create RESTful wrappers around systems of record. According to the company, those will be coming in Q2 2015.

At a Glance
1 2 3 Page 2
Page 2 of 3