5 clouds for building mobile apps

1 2 Page 2
Page 2 of 2

Kinvey sells to IT as its primary customer because it provides an enterprise platform, not for one or two apps but for tens or hundreds of apps for an enterprise. However, it also engages and supports the developer community app by app.

Kinvey supports native, hybrid, and HTML5 apps. It has native toolkit support for iOS and Android. In addition, it supports Angular, Backbone, Node.js, Apache Cordova/PhoneGap, and Appcelerator Titanium, and it provides a REST API. Kinvey integrates with apps through libraries and API calls, and expects you to edit your app locally.

Kinvey cloud code is written in JavaScript, although not Node.js, and edited online. In addition to using standard JavaScript and external services, it can use Kinvey APIs for logging, accessing collections, sending push notifications, sending email, validating requests, date and time functions, asynchronous processing, rendering a Mustache template, and obtaining the back-end context. Cloud code can live in hook processing functions and custom endpoints. Cloud code is versioned internally in Kinvey.

Kinvey collections

Kinvey collections use MongoDB, which provides a schema-less, no-SQL database for use by your apps. This screen lets you create and design collections (only the creation step is necessary) and choose whether to enable or bypass your database business logic.

Kinvey supports deploying on almost any cloud, including private clouds. That includes deploying to HIPAA-compliant facilities and to facilities located entirely in the EU. Even Kinvey’s multitenant cloud is considered secure enough for most apps, as the company does end-to-end encryption, and customers that use data links can keep their data in databases behind their own firewalls. If you have a Google App Engine server, you can link it to your Kinvey back end.

Authentication can be done internally by Kinvey or through LDAP or Active Directory in the business and enterprise versions. Kinvey also supports Facebook, Twitter, Google+, and LinkedIn identities through OAuth.

Kinvey data links connect to Kinvey’s MongoDB data store. In most cases, customers forward the CRUD requests directly to the real back end, but some cache the data in MongoDB. Kinvey currently has data links for Microsoft Dynamics CRM, Salesforce CRM, Oracle Database, and Microsoft SQL Server.

Kinvey has an automated control setup for offline data synchronization, in which data is automatically pulled from the cache if the application is offline. If the application is online, data is pulled from the network and stored in the cache. Using automated control, your Kinvey app will attempt to synchronize any locally stored data when the device goes online again, but if the server data has also changed you’ll have a conflict. You can set your conflict resolution policy to clientAlwaysWins, serverAlwaysWins, or a custom conflict resolution function.

Parse

Parse was once the poster child for MBaaS, and despite its acquisition by Facebook, it is still a viable, low-friction mobile back end for limited-volume consumer apps. On the plus side, it is well-documented, with good native client support and a JavaScript client SDK based on Backbone. Parse also runs JavaScript code on the back end, which offers developers the option of an all-JavaScript application stack. On the minus side, Parse is missing big pieces necessary for business apps, such as data integration, offline operation, and online/offline synchronization. At the same time, its pricing seems geared to lower-volume apps.

Parse supports native mobile, JavaScript, and desktop apps. On the mobile side, it has native support for iOS, Android, and Windows Phone 8. On the desktop, it has support for OS X and Windows 8 (.Net), as well as Unity games.

Parse lets you run JavaScript code in the cloud using the same Parse JavaScript SDK as the client. Rather than have you routinely edit your cloud code in a browser, as FeedHenry and Kinvey do, Parse supplies a command-line tool for managing code in Parse Cloud and allows you to use your favorite JavaScript editor on your computer. However, you can view your code and your logs in your dashboard. The command-line tool is an app scaffold generator, app deployment tool, log printer, app rollback tool, and self-updater.

Parse dashboard data browser

The Parse Cloud data browser lets you import bulk data; add classes, columns, and rows; and view filtered data.

Parse can send Push notifications to iOS, Android, Windows 8, and Windows Phone 8. In each case, you’ll have to provision your push server, then provide the certificate or credentials to your app.

Parse has a fairly complete user system predefined, including the usual sign-up mechanism with email verification and a provision for anonymous users. A system of ACLs controls what data individual users can read and write. For more complicated use cases, Parse supports a hierarchy of roles, with a separate layer of ACLs for the roles. 

Parse has nine integrations with other services. Three of them -- Mailgun, Mandrill, and SendGrid -- are for sending email. Stripe is for charging credit cards. Twilio sends SMS and voice messages. Third-party modules are available to integrate Parse with Cloudinary, Instagram, and Paymill. 

As far as I can tell, implementing enterprise data integration with Parse requires writing a REST Web service wrapper for the data source and a JavaScript module for Parse. I haven’t seen any options for hosting Parse other than using its own multitenant cloud.

Mo' better MBaaS

As you can see from the scores listed at the bottom of the first page of this article, AnyPresence earned the highest marks: a combined score of 9.1 and an Editor’s Choice badge. I feel that AnyPresence offers more value than the others for enterprises that need to integrate their existing systems with mobile applications, as it generates customized SDKs, along with apps and back ends, from your model and design. Costing a “low six figures” per year, however, it won't fit into every company's budget.

FeedHenry, which earned an overall score of 8.6, is also an enterprise-oriented MBaaS. FeedHenry has a nice integration with Git for collaboration and version control, and I like its hosted app build service, its Node.js back end and curated Node modules list, and its drag-and-drop form designer. Like AnyPresence, FeedHenry may not fit into every company's budget. 

Kinvey, with an overall product score of 8.3, engages as a company with the developer community, as well as with corporate IT departments. I like the way Kinvey does enterprise data links through its internal NoSQL database API, and I appreciate the way it has structured its hooks for back-end business logic. 

I criticized Appcelerator for its apparent lack of effort to curate data integration modules, and considered that its high price relative to FeedHenry and Kinvey may diminish its overall value, giving it a net score of 7.8. However, Appcelerator as a company only recently pivoted into the MBaaS space. It may yet fill in its product’s missing functionality and adjust its pricing to be more competitive. 

Finally, I consider Parse suitable for building and operating back ends for consumer-facing mobile apps, and not business apps, given its lack of any data connectors other than a basic REST client. My other major reservation about Parse is its usage-based pricing, which lets a developer get started easily but could potentially bite an underfunded startup that suddenly had a viral hit on its hands without a real business model. Its score is 7.6, the lowest in this group. 

That isn’t to say you shouldn’t use Parse. It’s a viable, low-friction way to get started with back end as a service. However, if you choose to use it, go in with your eyes open, monitor your costs, and be prepared to throttle or eliminate service calls that are running up bills you can't afford. 

For business apps, AnyPresence and FeedHenry lead the pack in both ease and capabilities. Kinvey is not far behind, and its pricing is more favorable for smaller businesses.

Read the full reviews: 

This story, "5 clouds for building mobile apps" was originally published by InfoWorld.

Copyright © 2014 IDG Communications, Inc.

1 2 Page 2
Page 2 of 2
Bing’s AI chatbot came to work for me. I had to fire it.
Shop Tech Products at Amazon