AnyPresence Aces Enterprise Mobile Apps

AnyPresence combines broad client support, useful code generation, and a rich set of options for data storage and enterprise integration

apps
Credit: Pixabay
Editors Choice

In our series of reviews of MBaaS (mobile back end as a service) solutions we have examined Parse, Appcelerator, Kinvey, and FeedHenry. Given our classification of Parse as best for consumer-facing applications, it seems clear that AnyPresence, very definitely an enterprise-oriented MBaaS, competes with Appcelerator, Kinvey, and FeedHenry. However, in some ways AnyPresence stretches into a category of its own, as we’ll see.

AnyPresence is designed “to meet the evolving needs of mobile-enabling a developer ecosystem with fully portable run-time source code and zero platform lock-in.” OK, that’s a mouthful of marketing-speak. What it means, however, is that 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 not only generates back-end and mobile app code, but also customized mobile API code. All the generated code can be downloaded, edited, and run on compatible platforms. To go with 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. 

Now, it isn’t necessary for you to have partners developing against your APIs for AnyPresence to make sense for your business. If you think about the generated app code as “app UI starter kits” (the term AnyPresence likes) or test apps for your back end, then the generated mobile API classes would be building blocks for your developers’ “real” apps.

AnyPresence new deployment

Deployment options in AnyPresence include Heroku (usually for Rails apps), Amazon S3 (usually for HTML5 apps), and native iOS and Android apps with or without Apperian security. 

Client support

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, what AnyPresence actually generates is CoffeeScript that uses the Underscore, Backbone, and jQuery libraries. For example: 

class AP.auth.Authentication
   _.extend @, Backbone.Events

# if server ever responds with 401, assume the session expired
$.ajaxSetup
   complete: _.debounce ((xhr, result) => @destroySession()         if xhr.status == 401 and result == 'error'), 150

AnyPresence generates back-end servers for Ruby on Rails, and in the future will also generate Node.js back ends, which will be a good development. If the developer folklore and publicly reported cases (such as LinkedIn) are to be believed, Node tends to scale better than Rails for many applications.

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. 

Deployment options in AnyPresence include Heroku (usually for Rails apps), Amazon S3 (usually for HTML5 apps), and native iOS and Android apps with or without Apperian security. 

AnyPresence generate app build

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

Design and deployment environment

The AnyPresence design environment exists online and runs in most browsers. According to the company, the environment supports older browsers that are still in use at enterprise customers, but I didn’t break out Windows XP to test IE6. I tested in the most current version of Chrome running on OS X. For the one day when Chrome “broke” the site (and many similar sites), I used Safari 7.1.

The design environment has a dashboard; a settings screen; screens to create and monitor environments, deployments, and builds; screens to generate and deploy apps, back ends, and SDKs; screens to add and manage data sources and data objects; screens for authorization, roles, and authentication strategy; screens for stock and custom extensions; the interface designer; and a customizable set of themes.

The data sources screen is where you add integrations with enterprise applications (such as Salesforce.com) and databases (such as Oracle). I found the selection of data sources to be good, and the implementation of the provided MongoDB data store to be on par with other MBaaS systems. What sets AnyPresence apart is the way the data model integrates throughout the design environment and into all the generated code.

The place you add most monitoring integrations, such as Airbrake and New Relic, is hidden deep in the Deployments/Addons tab, since it’s dependent on the runtime environment, and AnyPresence is designed to be environment-agnostic. For Splunk integration, you have to enable syslog output on the back end to push all the logs/events into Splunk systems for reporting and monitoring.

AnyPresence S3 deployment

Amazon S3 deployment detail for an HTML5 app. From here we can view a preview and download the generated files. 

1 2 Page 1
Download the CIO October 2016 Digital Magazine
Notice to our Readers
We're now using social media to take your comments and feedback. Learn more about this here.