MBaaS shoot-out: 5 clouds for building mobile apps

cloud computing concept 136627333
Credit: Thinkstock

MBaaS (mobile back end as a service) is a fairly new product category that has largely supplanted MEAPs (mobile enterprise application platforms). Over the past two months, I've closely examined five MBaaS systems: AnyPresence, Appcelerator, FeedHenry, Kinvey, and Parse. In this article, I'll wrap up the series by summarizing all five systems, surveying their common ground and key differences, and drawing conclusions.

MORE ON NETWORK WORLD: How to build a private cloud

The general idea of MBaaS is that mobile apps need common services that can be shared among apps instead of being custom developed for each. Mobile apps using MBaaS follow a loosely coupled distributed architecture, and MBaaS systems themselves typically have more distributed architectures than MEAP systems, which tended to be unified middleware servers.

MBaaS systems typically provide push notifications, file storage and sharing, integration with social networks such as Facebook and Twitter, location services, messaging and chat functions, user management, the ability to run business logic, and usage analysis tools. Enterprise-oriented MBaaS systems also provide integration with existing applications and databases.

Back ends don’t exist in isolation, so MBaaS systems provide some level of mobile client support. This ranges from exposing REST APIs to all comers to providing app generation for iOS, Android, some flavors of JavaScript, and perhaps other mobile platforms.

In addition, back ends need to be customized and programmed, so MBaaS systems provide a combination of online and desktop development environments. Finally, back-end services are intended to be in continuous operation, so they need a level of application monitoring and error logging in addition to usage analysis. Monitoring and analytics might be provided directly by the MBaaS vendor or through integration with a third-party service.

For extra credit, MBaaS systems can generate mobile SDKs. This is most useful when a vendor is exposing its services to partners doing mobile app development. In addition, MBaaS systems can support offline operation of their mobile apps and offline/online database synchronization. MBaaS systems may provide their own mobile device management or integrate with an MDM vendor. MBaaS systems may also support device-specific services where appropriate, such as iBeacon on iOS devices.

Commonalities and differentiators

In the course of reviewing FeedHenry, Kinvey, Appcelerator, Parse, and AnyPresence, certain capabilities and implementations became very familiar. For example, all five MBaaS products provide storage using MongoDB, an open source NoSQL document database that stores JSON objects. All of these products provide a data design UI for their MongoDB data store, and these UIs all look similar. It wouldn’t surprise me if the UIs were all based on the same MongoDB sample code.

All five MBaaS systems are available in a multitenant cloud. All have online documentation. All provide push notification and user authentication APIs. All support native iOS and Android apps at some level, and all have some way for developers to implement custom server logic.

The differentiators between these products are telling. For example, their support for integration with enterprise applications and databases ranges from the basic ability to call external REST interfaces that return JSON to deep integrations with common applications and databases. The time required for a developer to implement a given enterprise integration with an MBaaS ranges from days down to minutes, depending on how much of the work a given MBaaS vendor has already done for a specific integration.

Some MBaaS systems are available on-premise, and some are available in private clouds. Some can be hosted in compliance with HIPAA, PCI, FIPS, and EU data security standards. Some have their own testing capabilities, and some offer cloud builds of mobile apps.

Some support HTML5 and hybrid apps. Some compile JavaScript to native device code. Some support PhoneGap, some support Apache Cordova, and some avoid both wrappers for hybrid apps in favor of other solutions, such as generating native apps.

Some run their back ends on Node.js, some on Rails, and some on unspecified platforms. Some support BlackBerry, Windows Phone 8, Windows 8, or Unity clients.

Some have hosted app and back-end IDEs in their cloud, some provide multiplatform desktop IDEs, and some have desktop command-line interfaces for cloud control. Some support multiple popular JavaScript frameworks, such as Backbone and Angular, and some use their own JavaScript frameworks, which may be adaptations of specific open source frameworks.

MBaaS five ways

As we’ll see, the different MBaaS vendors have targeted slightly different markets and made slightly different technical choices. Nevertheless, they have a high degree of overlap and commonality.

AnyPresence

The goal of AnyPresence is not only to help enterprises build back ends for their mobile apps. AnyPresence combines app building, back-end services, and an API gateway.

AnyPresence has an online designer that generates back-end code, mobile app code, and even customized mobile API code. All the generated code can be downloaded, edited, and run on compatible platforms. To cite one of AnyPresence’s favorite customer examples, MasterCard has used AnyPresence to enable partners to easily build mobile apps against MasterCard's Open API services.

AnyPresence generates app UIs (or starter kits, if you wish) for jQuery, Android (XML layout), and iOS (storyboard), and it generates app SDKs for Java, Android, HTML5, Windows Phone, Xamarin, and iOS. The design environment refers to the generated JavaScript/HTML5 SDK as “jQuery.” In fact, AnyPresence actually generates CoffeeScript that uses the Underscore, Backbone, and jQuery libraries.

AnyPresence generates back-end servers for Ruby on Rails. In the future it will also generate Node.js back ends, which will be a good development. The AnyPresence environment can generate deployments to Heroku (usually for a Rails back end) to Amazon S3 (usually for HTML5 apps) to native iOS and Android apps with or without Apperian security. You aren’t limited by AnyPresence’s deployment choices, however. The generated code can always be downloaded and deployed elsewhere, assuming you have compatible deployment environments.

AnyPresence generate app build

AnyPresence's app build selection screen. Note the wide assortment of SDKs and the small assortment of prototype app UIs that can be generated.

1 2 3 Page 1
Must read: Hidden Cause of Slow Internet and how to fix it
Notice to our Readers
We're now using social media to take your comments and feedback. Learn more about this here.