Over the last few months, we’ve been running a few projects in parallel all using Laravel back end with native Android and iOS app based front ends.

Laravel (the ‘Ruby on Rails’ of the PHP world) is a stable and powerful MVC framework written in PHP. As such it’s a great tool for quickly building a bespoke CMS (content management system). There are many add-ons to Laravel and in pre-work for a recent project we reviewed the latest crop of CRUD (create read update delete) libraries available that sit on top of Laravel. These include Backpack and Voyager. But as with all software packages, the skill is knowing at which point to stop buying in and start implementing. We think that Laravel as it is without too many helper libraries is the best starting point.

Alongside the CMS, apps need a way to get the data presented to the user. There are a couple of general ways to do this. The first (which is suitable for simple applications with limited custom styling) is to use a WebView inside the app and serve HTML configured for the various screen sizes.
A second method involves more effort in the app development, but allows for greater customisation of the app look and functionality. This method uses a file format called JSON (Javascript Object Notation).

On top of this, you will require authentication which can range from SSL encrypted + HTTP basic auth to OAuth2 using a third party service.