The Heroku Mobile App Template

October 2, 2014 by

One of the challenges when starting a mobile app project is deciding what technology stack to use. Should the client app use iOS or Android native, mobile web, or a hybrid? Do the backend in Node, Ruby, or Java? Or skip the backend and use an Mobile Backend-as-a-Service?

To help avoid needing to answer all those on your own we are open sourcing the Heroku Mobile Template. This app provides a full-stack starting point for creating new hybrid mobile apps and deploying them to Heroku.

What’s in the box?

The template application implements a simple real-time mobile Quiz app called “Quiz Live”. It uses an AngularJS client-side application which runs on the phone, and a Node.js server side application to provide authentication, data storage, and notifications. Persistent data is stored in a Postgres database.

This app collects a curated set of libraries and patterns to give you a complete template for building a new mobile app:

Getting started

Head over to Github and fork the repo https://github.com/heroku/mobile-template1. Now click the Heroku Button on the README to deploy your own copy of the template app.

To run the app locally you just need Postgres and Node.js installed on your machine.

Integrating with Force.com

To integrate with data and services from Salesforce, checkout the notes on Force.com integration from the template. The Quiz app includes an example showing how to create Lead records based on users that register for the Quiz.

If you are working in Ruby or another technology on the server, checkout this post detailing some other good packages for integration with Force.com.

Going further

Salesforce is bringing back the $1M hackathon this year, and the prizes will go to the best mobile apps built on the Heroku and Force.com platforms. We hope this app template can help everyone who is looking for an easy way to get started.

Obviously this template doesn’t do everything you might want to do in your app. If you need a different kind of front-end, have a look at the Ionic tutorials to learn about how to choose a different theme or layout for your UI.

For more device capabilities, checkout the growing registry of Cordova plugins that enable all sorts of functionality.

For push notifications there are a number of service providers in the Heroku Add-on marketplace.

If you’re ready to deploy to an app store, checkout the instructions for wrapping your app in a Cordova wrapper. Deploying to the Google Play store is fairly straightforward, but deploying through the Apple App Store still requires that you enroll with Apple’s developer program and follow their steps for App Store submission.

We recognize that this mobile template doesn’t work for every type of app. Many games or apps that heavily rely on device features will need to be written as native apps. But we’re confident that a growing class of world class apps can be built using this template. We are still improving this template, and we welcome your feedback. And we’d love to hear about the apps that you’ve built.