Software Quality Insights

Sep 5 2013   6:31PM GMT

New journeys in mobile application development start with a single step

James Denman James Denman Profile: James Denman

A week ago today, I sat in on a really interesting informational workshop. I learned all the basic pieces of building an incredibly simple mobile application. I write a good deal about mobile application development, but as yet, I hadn’t actually done any coding for a mobile app. I still don’t think I’ll stop writing about it and start doing it any time soon, but I do now have a much better appreciation and understanding of the practice of building mobile applications. The demonstration application we built was a simple HTML 5 app designed to run on multiple platforms – iOS, Android, and Windows Phone, for the most part.

We built the user interface (UI) with tools from Codiqa. Ordinarily, those would be pay per use tools, but our instructor managed to score us a free trial version so we could start the process. Those tools let us build the basic frame of our UI visually by dragging, dropping, and configuring elements from a short list. Most of the items were pretty intuitive to use, but there were still some bright folks that needed help finding the right way to tailor this or that. And there were some features even in our trivial starter app that we had to hack into the code to get set the way we wanted. Overall, I’d say the Codiqa tools saved considerable time, but were limited in their usefulness.

Then we added an API backend. This is probably about the simplest way to add a basic database to a simple mobile app possible. Our UI code calls the API with simple GET/PUT/POST-style commands. The API does the heavy lifting. Mobile BaaS makes programming a mobile application a purely client-side experience. Of course some organizations will want, or even need (for compliance reasons), to keep certain aspects running on their own internal servers. Still, moving portions of that storage and processing to the cloud can make things easier on the development team. Exposing internal processes via a private API might be the way to ensure that business critical application logic is safe and still streamline the development process for the user experience designers that build great mobile applications.

At this point we had a working Web app, built in HTML 5 and ready to run on a mobile device. We just had to get the thing off our laptops and onto our mobiles. We did this part with the PhoneGap framework. Once we got the PhoneGap software installed on our machines and properly configured, it was pretty easy to get our simple little app switched over from Web-based HTML5 to mobile HTML5. It was basically just dropping the index.html file we built and its dependencies into the right folder and hitting the Go button. I imagine if your dependencies are long and complicated, this process could be too.

I’d like to note here that PhoneGap is almost (but not quite) synonymous with Apache Cordova, and that there are other similar tools that perform the same basic function. The same goes for Codiqa and for API tools venders. There are always options. Do your homework before choosing your tools. I’d also like to send my thanks to Nima Vadiee, a developer advocate from Apigee, for being nice enough to travel around giving these free workshops to undeserving souls like me.

I don’t know if that will help any of you in your quest to go mobile, but I thought I would share my experience with it. If you have any questions about this project or other similar topics, please do ask me. I probably won’t know the answer, but I can definitely find someone who does. So until next time, happy belated Labor day, by the way (bor day).

 Comment on this Post

There was an error processing your information. Please try again later.
Thanks. We'll let you know when a new response is added.
Send me notifications when other members comment.

Forgot Password

No problem! Submit your e-mail address below. We'll send you an e-mail containing your password.

Your password has been sent to:

Share this item with your network: