An increasing number of first-time mobile app developers are also first-time developers. This makes sense if you think about it; mobile is the hot new platform and the barrier to entry is a lot lower for mobile devices.
Furthermore, a simple — yet well-done — mobile app can be functional and a big success; look at the prevalence of tip calculators, flashlights and other applications. It's much harder to find that sort of success with a small, single-purpose desktop app.
Although the barrier to entry is lower for mobile app development, you still need to be prepared to learn. If you have no previous experience in programming for the web or in a language like C, Java or C#, grasping the basics is going to take more time. Thus, we've traversed the web, the bookstore and bugged our developer friends to find some of the best resources — online and off — for the beginning mobile app developer.
There are development platforms — like Appcelerator's Titanium — that can make it easier for web developers to transition to mobile platforms, but we also think it pays off to invest time in actually learning the programming languages for your mobile platform of choice.
On iOS, this means learning Objective-C and also learning Cocoa Touch. Android programming is very similar to Java, but with Android-specific APIs and frameworks. Microsoft's Windows Phone 7 uses Silverlight, which means if you have experience with C# or .NET, you should find yourself at home.
iOS Books, Sites and Resources
For learning the basics of iOS programming, the Apple Developer site is chock-full of great information. Registration for access to developer documents is free, though you have to pay to become an iOS developer ($99 a year) to get access to extended tutorials, videos from WWDC and other tools.
There are also literally dozens upon dozens of books about developing for the iPhone. I'm a big fan of technical book resources, but keep in mind that because of how quickly mobile platforms evolve, it isn't uncommon for information to be out of date — or less up-to-date — upon publication.
Still, some of my picks for really great iOS/Objective-C/Cocoa/Cocoa Touch education include:
>iPhone App Development: The Missing Manual — This book by the Iconfactory's Craig Hockenberry is a really great guide to the ins and outs of iPhone development.
>iPhone Programming: The Big Nerd Ranch Guide — If you have the money and can take a week or two off of work for some hands-on education from some of the best instructors around, you should seriously check out The Big Nerd Ranch. If you don't have that kind of time, then you take a look at the book version by Aaron Hillegass and Joe Conway. Hillegass is also the author of the seminal >Cocoa Programming for Mac OS X, now in its third edition.
>iOS Developer's Cookbook — My friend and former colleague, Erica Sadun, is about to release the third edition of her book on iPhone and iOS programming. It'll be out in January and I have no doubt it will rock.
>Programming in Objective-C 2.0 — This is the bible for users who want to go in depth with Objective-C 2.0. The principles are often applied to Mac OS X programming, but they carry over to iOS programming too. A third edition of this book is expected in early 2011.
In all honesty, the iOS Dev Center is probably the best resource on the Internet. Apple has a seriously in-depth resource library, reference list, sample code library and there is a developer forum where you can interact with other iOS developers and Apple engineers. However, you do have to be a member of the iOS Dev Program to get access to much of the best stuff. If you haven't paid your $99 yet, check out these online communities:
iPhone Dev Forums — This is a solid site that is moderately active, and a good place to go for lists of resources.
iPhone Dev SDK — This is a fairly active forum with lots of channels to discuss various topics surrounding iPhone development and the business side of iPhone development.
iPhone-Developers.com — From the team behind XDA Developers (see below) comes iPhone Developers, a new forum and community focused on the iPhone.
Note: You need a Mac in order to develop for iOS. There are a few tools, like Adobe's Flash to iPhone tool that will work in Windows, but in order to submit your application, run Xcode and test on the emulator, you need to be using a Mac.
Android App Development Zone
As you would expect, Google's Android Developers portal has tons of useful information, guides and tools. The SDK, emulators and development tools are all accessible for free, and there are tons of examples and tutorials on the site.
Android's selection of print or e-books isn't as complete as what is available for the iPhone — and you need to be sure that the book you look at is focused on Android 2.0 or above. Still, if you look at the number of books projected for publication into next year, you can see this is an area that is on the move, big time.
Here are a few recommendations:
>Learn Java for Android Development — If your Java experience is nil, check this out to jumpstart your overall Android development.
>Android Programming Tutorials — The third edition of this book by long-time Android author Mark L. Murphy contains more than 40 different exercises and tutorials for Android devs or beginning Android devs.
Some of the best Android stuff is available online; here are some sites to keep in your bookmarks:
Anddev.org — This forum is for Android development and Android tutorials.
Android Developers Community Portal — This is part of Google's official Android Developers page, but it's a good guide to the various mailing lists and Google Groups for Android development.
Windows Phone 7 Apps
Windows Phone 7 just launched in Europe and Asia and will be in the U.S. on November 8. This platform is brand new and already shows a lot of promise.
Perhaps more than any other software company, Microsoft excels at providing developers and would-be developers with tons and tons of resources and development tools. Unintentionally hilarious or not, Steve Ballmer's famous "Developers, Developers, Developers" speech wasn't that far-off.
Windows Phone 7 is just in its infancy and the development tools are still being modified and adjusted. Because of this, we would actually suggest that first-time programmers wait a few months before jumping into Windows Phone 7. However, if you have C#, .NET, Silverlight or WPF experience, building apps for Windows Phone 7 is going to be a very easy transition.
Here are some places you can go to get more information of Windows Phone 7 development:
App Hub — The App Hub is Microsoft's portal for Windows Phone and Xbox 360 developers. It provides access to tools, forums and blog entries and documentation from the experts.
Getting Started with Windows Phone — This page contains links to hands-on labs and videos about how to get started developing for Windows Phone 7.
Silverlight for Windows Phone — This portal offers lessons and training on using Silverlight to build Windows Phone 7 apps.
XNA Framework 4.0 for Windows Phone — This training course contains lessons and videos for using the XNA Framework to build games for Windows Phone 7.
Note: Developing for Windows Phone 7 requires Windows.
What are some of your favorite books or resources for getting started in mobile development? Let us know!
Web Development Job Listings
Every week we put out a list of social media and web job opportunities. While we post a huge range of job listings, we've selected some of the web development job opportunity from the past two weeks to get you started. Happy hunting!
PHP Developer at Synacor in Los Angeles, CA.
Web Developer at Web Developer in Plainsboro, NJ.
Ruby on Rails Developer at Mashable in San Francisco, CA.
Web Developer at IMRE, LLC in Sparks Glencoe, MD.
Flash Developer at Bean Creative in Alexandria, VA.