Creating an app with PhoneGap Build – Part 6: Summary
This is the sixth and final part of a six part series detailing the creation of an HTML5 mobile app using jQuery Mobile for TRINUG that was eventually transformed to an Android app available in Google Play via PhoneGap Build. In this post I summarize the experience and give my thoughts about this process.
The Final Output
I set out to learn mobile development and publish an app to an app store. I started by creating a mobile targeted website for TRINUG using jQuery Mobile. I then determined that Android’s Google Play marketplace had the quickest and most inexpensive road to publishing. From there I made sure to follow some Android development guidelines and created an installable Android app with the TRINUG mobile website via PhoneGap Build. I then published the app to Google Play.
Will I Pursue to Make This Available to Other Mobile Operating Systems?
This raises an interesting question. On one hand I could rightfully justify not publishing my free app on iTunes or the WP7 market because I’d have to pay $99/year for the privilege. However, there are a few other concerns as well. One being that in order to sign an iOS based app, you need a Mac which I do not have. The other is the question I realized at the end of the process: does a jQuery Mobile layout work as a universal layout across all mobile operating systems? I’d say the answer to that is no when you think of WP7. Although I have a Windows Phone App Hub account and could technically publish my app for WP7, I don’t believe the current layout shares the WP7 ‘experience’.
What you say, a WP7 ‘experience’? That’s right, if you open almost any WP7 app you’ll see it has a black background and has top-level side-swipe menus. I guess it’s called a
Metro Modern UI layout, I’m not really sure. I do know is that if I submitted this “one-size-fits-all” PhoneGap Build based app using a jQuery Mobile layout, it would be an inconsistent layout to all other standard WP7 apps. The real solution here may be to use PhoneGap within a native application and not use PhoneGap Build. Or maybe I just say that since I’m a .NET developer, I write a completely native app. Either way, you can see that there are situations where PhoneGap Build isn’t the master key to mobile app development where one set of source code rules all ecosystems.
PhoneGap Build’s Future
The introduction of PhoneGap and PhoneGap Build has been revolutionary. Anyone can now design and maintain a single code base and deploy it to multiple platforms. It may not be suitable for every single platform (à la WP7), but it does make the time it takes to publish an app much quicker and cheaper than maintaining multiple code bases per mobile operating system.
PhoneGap Build’s true power comes from its ability to use the PhoneGap API features to access native phone controls. Although I didn’t use that API in version 1 of the TRINUG app, I see huge potential for its use in future versions.
There’s no question that jQuery Mobile is easy to use, well documented, has a large community base, etc. However, I think the next time I attempt a mobile app, I’d give Telerik’s KendoUI a close look. The main difference from a consumer standpoint between jQuery Mobile and KendoUI is KendoUI customizes the UI per device where as jQuery Mobile attempts to look the same on every platform. For instance, using KendoUI, a button on iOS would look like a native iOS button where as on Android that same button would look like a standard Android themes button.
I also learned that your app will only be perceived to be as good as it looks. If you use a standard jQuery Mobile theme and layout as seen on a mobile website, your app will look like a mobile website wrapped up in an Android app. In order to pull this off in any sort of professional way where you’d consider charging money for your PhoneGap Build based app, you’ll want to make sure you consult with a designer to make the app look as native as possible.
In the end though, one has to admit that PhoneGap is revolutionary with all the barriers it breaks down for native mobile application development. If you told me a year ago that an app with my name as the publisher would be in the Android marketplace, I wouldn’t have believed it.