Before diving into the list of 15 resources for learning mobile app development, you should be familiar with a few important statistics.
Did you know that 1 in 5 people in the world owns a smartphone? And 1 in 17 people in the world owns a tablet. And both phones and tablets heavily rely on mobile apps.
Furthermore, in the US alone there are 224 million monthly app users who are active at any given time. You get the point: mobile is hot, and it’s in high demand.
That’s exactly why it’s a great time to learn how to create mobile apps. Of course, the most difficult part will be pinpointing which mobile app platform to focus on. There are Apple and iOS, Google’s Android — across a whole slew of different devices — Windows Phone and even Blackberry. Android and iOS are the two obvious choices to pursue since they’re the most widely used.
Whichever platform you choose, however, you’ll need to learn a different language. Luckily the fundamentals of programming largely remain the same no matter what you’re developing.
However, before diving into mobile app development, having a handle on programming basics will help.
What Language or Platform Should I Learn?
Objective-C is the primary language for Apple devices like the iPhone, iPad, and iPod Touch. (However, Swift is up and coming.) The official language for Android development, on the other hand, is Java. However, you can create mobile applications for Android through the Android Native Development Kit (NDK) using C and C++ but it’s not recommended or promoted by Google.
Windows Phone apps are designed in multiple ways: XAML is used for the UI and C# or Visual Basic is used for the programming aspect. With the latest version, Windows Phone 8, you can develop applications with C++ using Direct3D to take advantage of powerful graphics hardware. The latter is relevant if you want to develop mobile games.
We’re not going to explain Blackberry in depth because you can use a wide variety of languages with it. Moreover, the platform is no longer popular among mobile users.
As far as choosing a platform, your best bet is to choose the one you intend to use most. If you don’t have a variety of test devices then stick with the platform that matches the current device you own. This will allow you to test and prototype your work on an existing mobile device.
Where Should You Start?
Unlike learning other programming languages, mobile app development takes more time and involves multiple layers.
Nonetheless, it is very possible to teach yourself mobile app development. You don’t have to spend tons of money going back to school or even invest in one of the more exclusive coding boot camps.
You can easily hone your skills through hands-on practice.
To help you get started in the world of mobile app development, we compiled a huge list of resources. Some are free, and others cost money. Either way, they all hold value in some way.
Top Websites to Learn Mobile App Development
The following list is broken down into three sections:
- Android Development and Resources
- iOS (Apple) Development and Resources
- Other Mobile App Development Resources
We’ll explain which options are more suitable to your tastes — whether you’re at a beginner, intermediate or expert level.
Android Mobile Development Resources
1. Learn Java for Android Development
This paperback book is ideal for beginner to intermediate programmers. If you have absolutely no prior experience coding then don’t fret, this guide will walk you through getting started, as well. Since Java is integral to Android app development, that’s what you’ll be focusing on.
Price: Starts at $25
2. Android Development Community Forums
Andrew or the Android Development Community is dedicated to mobile app dev on the Android platform. It’s primarily a forum where like-minded individuals can discuss mobile dev related topics. However, there is also a great deal of useful tutorials available. It’s a great place for developers of any skill level.
3. Official Android Developer’s Community Portal
You won’t find tutorials or coding advice on the official Android Developer’s Community portal managed by Google devs. However, you will find plenty of information about the Android platform as a whole. This is where they announce software updates, new features and discuss important development information.
4. Official Android Developer’s Training
This guide is hosted on the official Android Developer’s Community, but it’s definitely something you’ll want to bookmark as a mobile dev. Experienced coders might not want to visit the guide often, it walks you through getting started and building your first app. That said, it’s great as a resource when you want to know how to do something specific.
5. Learn Android SDK from Scratch by Tuts Plus
If you’re a newbie to coding you should check out the Tuts Plus Android SDK tutorial. It’s free, and it walks you through using the Android Software Development Kit, which can be a pain to setup if you’ve never handled something like it before. It’s also a great resource for intermediate level coders. Experts might not find anything worthwhile.
6. Creative, Serious and Playful Science of Android Apps on Coursera
This course for beginners is a great place to learn the basics of computer science and programming. First, it will walk you through the introductory material and then it will move on to Android specific lessons using Java and standard software development tools. You do not need any prior coding experience to get started.
7. Developing Android Apps Udacity Course
Udacity is yet another online coding school, but their Developing Android Apps course was actually built by Google. If you make it through the course, you can continue learning more in depth topics in regards to Android development. It’s great for beginner to intermediate coders.
Price: $199/month after free 14-day trial
This website offers a wide variety of high-quality Android development tutorials, and they all happen to be free. Coders of all skill levels can find something here. The tutorials are well written, provide in-depth tips and information and include a bunch of useful code snippets and exercises. There are links to more resources too if you need them.
This website is run by Paresh Mayani, a popular Android developer, who specializes in mobile dev tutorials. Technotalkative is essentially where he compiles all his guides and writes about his experiences with Android development. After you’re done, you can head to the main blog where he addresses working with various aspects of Android.
10. Android Hive
This blog is by Ravi Tamada another renowned Android developer. Many of the posts are step-by-step guides on working with Android development tools. He also details some specific functions that you can use with your own projects.
11. Made in Android
This website is yet another blog or online publication that offers a wide variety of Android app development tips, tricks, and guides. It’s great for all skill levels, especially if you’re looking for help with something specific like making a custom listview in your app with a search box or creating a Google Map enabled the application.
12. Codelearn Android Tutorial
Codelearn specializes in a quite unique form of teaching. Their lessons show you how to build applications — with a number of different programming languages — right in your browser. They recently launched an Android-centric portal which is more than useful.
13. Android Example
Used to working with Android and want to know how to handle some of the more advanced features and functions? Android Example is a blog focused on the niche topics. There are step-by-step guides on using Shared Preferences, opening the file browser with the camera application and much more.
14. Android Begin
This is another great resource for intermediate to experienced coders. It’s a blog — updated regularly — that discusses a great deal of topics related to Android development.
15. My bring back Android Development for Absolute Beginners
This YouTube series by My bring back is pretty self-explanatory. It’s a bit dated now but there are still a lot of useful concepts particularly when it comes to working with the fundamentals. It will have you up and run in a matter of days.
iOS (Apple) Mobile Development Resources
16. iOS Dev Center
Apple maintains a free online resource for those interested in iOS app development. It contains starter guides, tutorials, videos and important documentation. Coders of all skill levels would do best to keep this portal in mind.
17. iPhone Dev Forums
This is a community forum for iPhone developers. You’ll find lots of resources, tutorials, guides, helpful advice and, of course, an active community of iOS developers.
18. Developing iOS 8 Apps with Swift
This course by Stanford is hosted through the iTunes online university. Obviously, the course has been updated for iOS 8 — the latest version of the OS — and Swift. To attend, or view the lessons, you’ll need to have iTunes installed on your computer. However, they are free. Due to the nature of the course material, it’s probably best left to those with prior coding experience. Intermediate programmers and up.
Ben Scheirman from NSScreencast has a great way to teach iOS development with XCode and objective-C, through what he calls “bite-sized” video tutorials. The videos are published on a weekly basis, and each one explores a new area or topic regarding iOS app development. There are a bunch of free lessons, but if you want access to more content you can subscribe for $9 a month and that nets you unlimited access to the entire library of videos hosted on the site.
Price: Limited selection of videos are free; $9/month for complete library.
20. Flatiron School iOS Development Prework
The instructors from Flatiron School compiled a collection of useful iOS development resources and order them in a lesson structure. It serves as the ideal starting point for beginner coders and offers plenty of resources even for the more experienced out there. Topics covered in the course include iOS basics, principles of object-oriented programming, iOS UI tools, customizing UI kit, mobile design, Map Kit and much more.