The field of mobile development is evolving very quickly. Smartphones are the leaders in the market of technological goods in the world; their share among all household appliances and electronics is 44% and according to Gartner analytic company, in 2018, consumers bought 1.56 billion smartphones.
At the same time, the Android operating system remains the most popular from year to year. In the same 2018, more than 80% of all smartphones in the world were released on Android. And if you imagine how many devices exist besides smartphones – watches, tablets, televisions, terminals and even refrigerators, then the share of Android will be even higher.
But given the growing popularity of this OS, user requests are also constantly changing and increasing. A modern person needs an application for any task: to pay for services at the bank, order food, chat with friends or spend some time in the game. Such applications are constantly appearing on the Play Store.
That is why the profession of a mobile developer on Android has great potential for development; you can work in the largest companies and create useful applications that will be used by thousands of people.
In this article, TProger and NIX Solutions will tell you where to start learning about mobile development in case you decide to become an Android developer. What languages should you learn first? What stages should training be divided into? And also answer the question whether a modern specialist needs to know several programming languages at the same time.
Where to begin?
There are many languages of mobile development but we recommend starting the journey with the most basic and traditional – Java. It has consistently been the 1st or 2nd language in popularity among programmers since 2002 (according to the TIOBE index of programming languages).
Once you learn the basics of programming on it, all other languages will be given to you easily. However, we advise you not to learn several languages at once. It is better to first deal completely with one, and only then move on to another.
It is in Java that most projects and applications are written, as well as large enterprise applications, such as online banks. It is classic and typed, which means it is perfect for the entry level.
What are the advantages of Java, we can immediately note:
- Java code is verbose and long. On the one hand, this can immediately scare off, but this is a plus. In the process of writing the code, everything is so clear that you are less likely to make a mistake.
- Java has few language constructs, and most of them are interpreted unambiguously.
- It has backward compatibility, that is, when a new version of a language is released, nothing breaks in the old code, unlike more specialized languages, for example Swift.
- For a beginner, there are many advantages to the popularity of Java. At least that it has a huge community. This means that finding people who understand the details and can help with the study is very easy. For example, among friends, on word of mouth or just in groups on social networks and channels in instant messengers.
- There are also a large number of articles, videos and books that are constantly updated, so finding help will be easier than with an exotic language.
Therefore, Java is a suitable language to start learning programming, to master mobile development. It is worth making your first application in Java, and only then develop further and learn other languages.
How to start writing Java code?
If you start learning Java from scratch, then answer this question immediately: how much time you are willing to devote to practice? Because any programming language is like English: you won’t be able to learn it only by books and theory.
First, you need to understand the basic concepts of programming. They are similar in all languages, start with variables and data types in Java, conditional statements, loops, functions and arrays. These are exactly the syntax constructs of the language that you will then use to build the code.
It is important to pay attention to OOP – object-oriented programming. This is the paradigm of describing things from the real world in code by combining properties and methods. For example, each car has a set of characteristics: it’s make, type of fuel, power, year of manufacturing – these are the properties of the car. In turn, each car has a set of functions: it can drive, brake, control the headlights, etc. In OOP, it is as important as knowing the functions and characteristics of the car for the driver.
At this stage, this basic knowledge will be enough for you to create your first application, for example, a simple calculator or a game.
Note that if you already know the basics of programming, then in 2 weeks you can start writing in Java. And given that the language forces you to explicitly and unambiguously spell out your every intention, the study goes smoothly. If you start learning Java from level zero, it’s best to lay at least 2 months on the basics and practice.
Now we will address the issue of choosing the most convenient way to learn Java. We offer several options. First: getting the specialty of a programmer at the university. On one hand, this will allow you to learn not only Java, but also other languages and types of development. You will also receive fundamental programming knowledge. But studying at a university is too long and difficult for those who want to start developing on Android quickly.
The second option: learning the basics yourself by books, videos and articles. As we wrote above, the network has a lot of relevant materials on mobile development, and in particular on Java. This way of learning is suitable for those who have a lot of patience and perseverance. You will have to learn and understand everything yourself. And if your level of knowledge is zero, then even the basic concepts and constructions may seem too complicated and incomprehensible at first. Moreover, a theory without practice cannot give a complete picture.
There is a third way: getting the necessary knowledge and skills in additional courses, for example online. Now Java courses are offered by different schools, and you can choose the complexity and duration of the program for you. The advantage of this approach is that you will study with a mentor that checks homework and shows what knowledge gaps you still need to close. The standard duration of such a program is about 4–5 months.
But you should not stop learning Java. After you have understood the basics and have written your first applications, we advise you to study another language, which is gaining popularity and gaining recognition from major market players today.
The Next Stage – Kotlin
Kotlin is as compatible with Java as possible, and so the process of learning it will be much easier and faster for you.
The Kotlin language is considered young. Although it has existed since 2011, it was not until May 2019 that Google declared it a priority programming language for the Android platform. And given that Google is developing Android, after this event, the popularity of Kotlin among developers is growing rapidly. Following trends, many employers are also starting to demand Kotlin knowledge.
In addition to being recognized by Google, Kotlin’s popularity in mobile development is driven by ease of use.
- The language is fully compatible with Java. As a matter of principle, you can even write half the project in one language, and then switch to another. Due to the transition, access to existing code, libraries and the Android SDK is not lost.
- Kotlin code is much shorter and more expressive than Java. Everything that can be written in Java in 4–5 lines will fit into one in Kotlin. Sometimes developers want to speed up and not be as verbose as with Java.
- Even though new versions of Java are constantly being released, this does not affect the world of Android development, where everything is stuck at the Java 6 level. And although there are workarounds for using new features, new features appear in Kotlin more often and do not require any mumbo-jumbo.
- Kotlin is the brainchild of JetBrains, the creators of Intellij Idea – the IDE underlying Android Studio. Thanks to this, Kotlin has excellent support from the IDE: smart tips, code refactoring, file navigation, etc.
Kotlin is easy to learn
Kotlin can be called a “sweet” addition to Java, they are really similar in many respects. Therefore, for those who are already familiar with the basic language itself, it will take a maximum of 1-2 weeks to learn Kotlin. At the same time, you do not need to immediately use all the features of the language; you can start writing in the “Java style” and embed this in your code gradually learning new things.
So, for starters, the developers of the JetBrains language themselves advised to consult the official resources about Kotlin. They have libraries of materials for beginners, as well as detailed descriptions of the history of the language and the specifics of the structures.
Note that if you know the basics of Java and already write applications on it, even the simplest ones, you do not need to go the same way to learn Kotlin. You know common constructions, variables, and data types. You can start writing code very similar to Java and then add more chips from it while learning Kotlin.
In total, we offer an understandable and universal way to enter the sphere of mobile Android development. The first step is to learn Java with its long, but traditional and understandable syntax constructs. And after their development you can proceed to Kotlin. This order will be comfortable for you.
Knowing the two most popular mobile development languages — Java and Kotlin — will give you an edge over other Android developers. As already mentioned, more and more employers are looking for developers with knowledge of Kotlin, and since knowledge of Kotlin is impossible without Java, you will only be in the black. In any case, you should learn how to write mobile applications in different languages in order to ultimately choose the one that you and your future team will like.