Friday 6 January 2012

How I'm Learning Mobile App Development

by: wkriski

I started out my journey to learn mobile application development by using Google to make sense of the landscape. Because I didn't want to learn a myriad of different platforms (for each type of mobile device) I persistently searched for a better way.



Eventually I found out about PhoneGap which allows you to write mobile apps using HTML5, CSS, and Javascript which is great because these are standard technologies. While I have some experience with them things have changed quite a bit.

So I bought a few book on these topics (including jQuery) and read the books to get an overview. But when I started coding I realized in general the books aren't that helpful. I was still pretty clueless. It's hard to find what you're looking for and they don't have examples for your specific problem.

So my basic workflow is:
■ come up with an idea for an app you want to build
■ build it with HTML5 and view it on a browser. I'm using jQuery Mobile for styling the app
■ search Google and often StackOverflow.com to find an example of what you're trying to do
■ search these sites again when something doesn't work, describing the problem 'jQuery mobile how to
   pass parameter to another page', 'jquery mobile how to append li to ul' and so on
■ sometimes blogs have examples or tutorials that help. Nettuts is a good site for tutorials as well.
■ jQuery Mobile is where the main help resides
 
I set up my xCode environment on my iMac and purchased a Developer licence so I can install the app on my iPhone for testing. But for the most part I am building the bulk of my app using HTML5 and viewing it in a browser (as a separate, small window to mimic the phone). You can also ftp the files to your server (I use hostgator) and view in on your phone in the browser.

This post is about 'how to learn' most effectively. It is 'exception based' meaning we learn when something doesn't work. Many people love 'The Khan Academy' videos but some have found that there are critical misconceptions even after watching the videos. So merely passively watching videos is not enough. Solving problems that will reflect these exceptions are key to learning. Anyone can do a very basic problem that is similar to what was in a lesson.

So in summary, if you are in a new area for yourself then read a few books and do some tutorials. But the real learning happens when you attempt to actually do something, in which case Google is your best friend.

No comments:

Post a Comment