{ RESTful } API Web App for mobile

Written by

I am trying to create a web app as a backend service for my mobile app.  This is an experimental project with no budget.  So, my aim is to host the web app with minimal cost while using the most convenient and promising open source technology.

Hosting

In choosing the hosting service, I came across a list of PaaS/SaaS (Platform/Service as a service) provider, including Amazon Web Services (AWS), Google Cloud Platform, Microsoft Azure, RedHat OpenShift, VMware, Docker, Digital Ocean.  After some extensive comparison and testing, I choose my beloved RedHat OpenShift.  It is by far the most generous and most flexible in my experience.  I am familiar with it as I have multiple websites (including this one) hosted by it already.  The platform itself is open-source while the hosting has a very good reliability.  Being open-source is particularly important as I can install a local copy for development purpose.  It also gives me the choice of hosting my own OpenShift platform in the future as I see fit.  Lastly, it is very important that OpenShift is customization with (relatively) few constraints compare to other PaaS.  Being able to install a custom copy of PHP, apache, and SQL is critically essential, as many open-source software have dependencies requirement difficult or impossible to fulfill by other means.

 

Web Technology

Initially, I attempted to build a web app from scratch using Google App Engine (GAE), which must be hosted on the Google Cloud platform.  Very soon, I feel not comfortable my project being bounded to a single commercial platform, so I search for an alternative.  I then realize Google made GAE open sourced, a fork designed for RedHat OpenShift is called CapeDwarf.  So I began spending a lot of time trying to install CapeDwarf on OpenShift.  Despite being successful in the installation, the system is very unstable and buggy.  The pre-configured OpenShift cartridge is outdated too.  At the end I gave up on GAE and yet another attempt to search for alternative.

To make the story short, I came across the API approach to develop web app.  It is actually the most standard and widely applied method.  The API act as an interface to backend services likes push notification and database.  This approach is neat and secure.  More importantly, it reduced tremendous amount of redundancy in coding from scratch.  After all, all "login with Google+" uses the identical protocol.  Why build it from scratch?  In my view, programming for the infinity expanding set of new platforms and technologies is getting ridiculously out of reach of even the most knowledge programmer.  I can see an up rising trend of a new era of programming.  I will discuss this vision in a separate article.

So, the API approach to web app is very promising.  

 

Read 743 times

MY PROJECTS

These are projects and problems I encountered in the past, some of them are still in progress.  These are my pride and love!  The page was initially meant to serve as a documentary archieve for my-self and my friends.  But I decided to make it public, so that someone like you can by-chance come across this site, and share my love.  I hope you enjoy these projects as much as I do.  Feel free to leave some comments.

List of articles