
The future is mobile…
This was the re-occurring message at SXSWi last March 2010.
Today, in the New York Times (January 30th, 2011) I was reading about Apple and "The Power of the Platform". Near the end of the article Steve Lohr compared the sales of the Android (61 million) with the iPhone (48 million). (The article didn’t list how many iPads or iPhone Touch devices were sold in 2010.)
61 million potential customers. 48 million potential customers. Sweet.
You may be unemployed. You may be working but wouldn’t mind making a few bongo bucks on the side. You may just love programming. Now is the time to start exploring the future: Your future.
As I read these numbers I kept thinking, "What do I need to program for the Android? For the iPhone/iPhone Touch/iPad?" and, "Which platform should I start with?" and then, "What are the obstacles for each platform?"
UPDATE: 02-10-11 One of my students just sent me this link describing in more detail how to get going into mobile apps on the Android. Here is the best part from the article: In addition to native Android applications written in Java, Adobe Flash and Adobe AIR support were added in Android 2.2, enabling a whole new group of developers to target Android devices.
Here’s my one-line summary:
Focus on the Android. More units sold and it looks like an easier (and cheaper) startup.
Here’s your list of ingredients:
(1) Java – If you’ve taken my online Java course then you have what you need. This class will be offered again in August.
Don’t want to wait until next August? (Good for you!) There are lots of great books out there where you can learn Java. I recommend Programming Java by Malik. It’s a bit expensive, but my students rave on how easy it is to understand. Also, you can get an older edition because all you need are the basics of the language.
(2) Eclipse – This is a free, open-source Java editing platform that runs on all platforms. I use it in almost all of my programming classes. Learning Eclipse will not only help you program for mobile but is a great skill set to have for any programming position that uses LAMP (Linux, Apache, MySQL, PHP) and/or Java-based technologies.
(3) The Android SDK - A free Software Development Kit that will work inside of Eclipse, giving you access to the Android features.
(4) A good idea for a software program. Keep your first one simple while you learn the system and then build up from there. As you learn how to leverage your programming experience in the Android environment, keep a list of different program ideas. Each thing you learn will trigger other ideas on what you type of programs you can design and write. Keep writing these down so you don’t lose them!
The best site I’ve come across for Android tutorials and information is Developer.Android.com
Here is a list of bookmarks out on my Diigo account. It includes both Android and iPhone resources: http://www.diigo.com/user/webExplorations/mobile
But, you are dying to develop for the iPhone? I know. It looks like so much more fun!
Here’s your list of ingredients:
(1) A Macintosh Computer as your development environment - You need the Mac OS X operating system. A Mac mini, Mac Book or MacBook Pro.
(2) Objective C – The programming language for the Mac. If you know Java or C++ you’ll be right at home with Objective C.
(3) An Apple developer license. The license is free but if you want to get the full benefits join the Apple Developer’s Program for $99/year.
(4) The iPhone iOS SDK – This is free allowing you to build and test an application. But, you can’t submit it until you get a License.
(5) A device to test your program on. If you are writing for an iPad you need to test your software on a iPad, etc. A great opportunity to buy lots of electronic toys for you and your family!