Just like the software industry in general, mobile app industry is growing at a rapid pace. Instead of browsing the web by traditional means, more and more users are opting to install web-connected apps, which often provide far better users experience and allow the level of interactive use that is unachievable in a browser, such as posting pictures on social media instantly after taking them.
With the popularity of augmented reality apps like Pokemon Go, the demand for mobile app developers is projected to soar in the near future.
As the demand for app developers outgrows the supply, salaries in the sector grow higher. However, unlike most other well-paid professions such as doctor or a lawyer, the profession of a mobile app developer does not require costly qualifications and certificates that take years to obtain.
Although computing-related degree is helpful, the ability to code is valued much higher in the industry and there are many people out there who either have degrees unrelated to computing or no degree at all.
I have previously explained how to become a web developer by doing free online courses from the comfort of your home. The good news is that you can also learn everything that is required to become a mobile app developer absolutely free of charge, regardless what platform you chose to develop on.
This articles lists the most fundamental technologies that you would need to know and the links to the best free online resources to study them with.
Whether you chose to develop for Android, iOS or any other mobile platform, you would need to know Extended Markup Language or XML. This is a declarative language that is used for arranging user-visible layouts, store app configuration and transfer data. It is very similar to HTML, the language used by web pages.
To learn XML in sufficient detail, you can visit one of the following free tutorials:
Back-end programming language
XML on its own will not be sufficient to build a functional app. As well as having the user interface, the app needs to perform actions. This is achievable by an object-oriented language in the back-end.
The language that you would need to learn would depend on the platform of your choice. Android uses Java. Apple uses Objective-C in its iOS platform on iPhone and iPad. Or you can choose to write your codebase in C# on Xamarin, which will allow you to later compile it into either an Android or an iOS app.
The tutorials below will allow you to learn all of these languages to good standards:
Official Microsoft C# tutorial
Tutorialspoint iOS Objective-C tutorial
As well as knowing a programming language specific to the platform of your choice, you will need to know how to use it on that platform. This is why you would need to learn Application Programming Interface (API) for your specific mobile operating system.
I have found that the official API tutorials are harder to follow than unofficial ones from sites like w3schools.com and tutorialspoint.com. However, as manufacturers of mobile devices, especially Android, are known to deprecate, remove or change various features in different releases of their operating systems, official tutorials are the only 100% reliable sources of information. Otherwise, you may spend hours following instructions that have been written a few years ago and no longer work on the most recent release of the mobile OS.
Learning entire API is not necessary. As it would take very long time to do so, my recommendation is to go through he basics and then learn additional specific features as you need to implement them in your app.
Official Android tutorial is available here
Practice by developing your own apps
These tutorials will give you the basics, but to truly master app development, you need to make your own apps. All manufacturers of mobile OS allow you to do so and it is quite easy to get started.
If you are not sure what to do, start with the apps that would extend the functionality of your mobile device to something that you want it to do that it doesn’t do on its own already.
Your first app doesn’t need to be completely unique, but if it is of reasonable quality and free, people will download it. For example, my very first Android app, Pocket Interest Rate, has been downloaded well over 500 times without any proper marketing.
Having your own apps published on any major app market and making them available for free is the only way to show off your skills to prospective employers if you don’t have any formal qualifications or experience related to app development. Also, this is much more exciting than simply following tutorials that will teach you how to make a very basic app that writes “Hello World” on the screen.