title | date | cover | author | category | tags | layout | preview | featured | ||
---|---|---|---|---|---|---|---|---|---|---|
How to get started with Android development in 2021 |
2021-03-13 |
android1.jpg |
oyac |
learn to code |
|
article |
Ever wanted to learn Android Development? Oya will help you get started. |
false |
Here we are with a new addition to our Learn to Code series. This edition is for those who are interested in becoming an Android developer. In this first article, I’ll try to guide you through how to start learning Android development from scratch and share some free, high quality, online resources.
There are over 2.5 billion Android devices over the world! Phones, tablets, watches, TVs, cars.. It’s a very huge market. As a result, there is a growing need for Android developers. By mastering Android development, you can land a job as an Android developer in a company, you can work as a freelancer, and you can create, publish and monetize your own apps on Google Play Store.
You don’t need to have a computer science degree or prior programming experience to start Android development. If you have prior programming experience, great, you’ll learn faster. But even if you didn’t write a single line of code before, it’s fine! There are courses designed for total beginners (some of which I’ll share below). It will just take a bit more time, since you’ll also have to learn general programming concepts in parallel.
The preferred tool for developing Android apps is Android Studio, which is totally free and available for all platforms. All you need is to make sure that you can work on a computer with 8 GB RAM, or at least a minimum of 4GB. You don’t need to have an Android device.
Until the last few years, Java was the programming language of Android development. In 2017 Google announced support for Kotlin and in 2019 they announced that Android development will be Kotlin first. Kotlin is a very concise yet powerful language, loved so much by developers. It makes Android development more fun. Moreover, it is an actively growing language that you could also use in cross-platform, front-end or backend development. More than 60% of professional Android developers are already using Kotlin and that number will only go up! So Kotlin is certainly the future of Android development.
However, there is also a history! There are many Android libraries written in Java, Stackoverflow questions answered in Java, many resources, tutorials written for Java, maybe most importantly, Android resource code itself is written in Java. Thus, along the way, you’ll frequently see some Java code. And even if you write all your new projects in Kotlin, you’ll probably need to maintain some legacy code written in Java at some point. Besides, if you want to work for a company, it is likely that they expect you to know both Java and Kotlin.
Thus, even if Kotlin is the recommended language for Android development today, it still helps to know some Java as well.
Most of the Android developers today will tell you that they learned Java first and then upgraded to Kotlin. They might also say that it helped them understand Kotlin better. I’m not an exception. However, I believe this is more of an historical fact than a logical sequence. We started with Java, because Kotlin was not yet that popular, or was not even an option, when we started.. But you, as a beginner in 2021, can directly start with Kotlin. And maybe along the way, whenever you feel the need, you’d take a Java course. Both are valid options.
The Internet is full of resources, articles, blogs, video tutorials.. However, this abundance of resources might be overwhelming when you are a total beginner and don’t know where to start. You risk losing time with badly designed or out-of-date resources. First of all, if you are totally new to Android development I would recommend you to follow a course designed for beginners, instead of jumping through independent articles or video tutorials. You can use independent tutorials as supportive material while you follow the curriculum of your course. And you should keep in mind that Android development has been changing rapidly in the last few years, so you should verify if your resources are up-to-date.
I’ll suggest two different roadmaps for learning Android development, depending on your previous experience, and share some high quality courses and resources along the way.
Note that I’ll be sharing several alternative resources below for each topic; take a glance at them and pick the one that works the best for you. You don’t need to study them all!
*I’ll be suggesting a roadmap for learning Android with Kotlin below. However, as I mentioned before, knowing at least a bit of Java would be beneficial in the long run. It is up to you to learn this in the beginning, or to skip it for now, and learn it later whenever you feel the need. In any case, I list some free Java courses that you can check out:
- Java Programming Basics : Free Udacity course
- Code Academy Java Course : Free online course
- Intro to Java Programming : Youtube video course by freeCodeCamp.org
Google’s Android team recently prepared this Android Basics in Kotlin course for people who have no programming experience. It teaches Kotlin and Android in parallel. It is mostly composed of codelabs, with supportive videos and extra resources. But more importantly, it is up-to-date and it teaches coding with the latest libraries and good practices. This probably makes it one of the best free courses you can find for beginners.
Although the former course teaches Kotlin from scratch, you might find it useful to check out some additional Kotlin courses. Here are some Kotlin courses designed for beginners:
- Codecademy Kotlin course : free online course
- If you prefer books, Atomic Kotlin is a good one for beginners, but it requires purchasing
- Kotlin Crash course : Youtube video course by Traversy Media
- Kotlin Crash course : Youtube video course by freeCodeCamp.org
At this point, you might take a break to learn a bit version control, more specifically Git and Github. This might not seem as fun as app development, but it is a lifesaver and must-to-learn for all developers. Here are some git/github courses:
- Free Udacity course: Version Control with Git
- A youtube playlist: Git and Github for Poets by Coding Train, which is a bit old, but I found it very intuitive for beginners (and fun!)
- Git and Github Fundamentals in Depth : Youtube video course by Tech with Tim
- Github itself offers you a learning lab, with several learning paths
It is important to understand how git works, but you don’t have to memorize the git commands. Android Studio has an extensive Git menu which lets you do almost everything you need without typing any commands. You can check out the article How to Use Git in Android Studio.
Once you cover the basics of Android development and Kotlin, you can start these free courses on Udacity(in the following order):
These are great courses prepared by Google’s Android team. They are up-to-date and they teach coding with best practices.
While you go over the courses, if there is anything you didn’t understand well, don’t hesitate to search it over the internet. You’ll probably find plenty of articles, blogs, video tutorials or forum discussions on the topic. In the second part of this blog, I’ll share some good websites and youtube channels to check out for extra information.
Since you don’t have prior programming experience, you should take some time to learn some general programming concepts and best practices to become a better developer, such as, data structures and algorithms, how to write clean code, how to write testable code, software design patterns, object oriented design principles, Unified Modeling Language(UML), software architecture and more. Learning all these concepts takes time and experience. I have written these under step 4, but you can also study these in parallel with step 3. Don’t get intimidated though: it’s fine not to be a software architecture master as a junior developer. But it would be good to start to learn these concepts and develop an eye for how to write clean, maintainable and testable code. And there is a chance they might ask you questions on those subjects during a technical interview.
I’m not going to list sources for these topics here as it would be a very long list. Instead, we’ll be preparing a separate blog on how to become a better developer. So keep an eye on it!
If you have prior programming experience, but you don’t know Kotlin, here are a few Kotlin courses designed for developers:
- Kotlin Bootcamp for Programmers : Free Udacity course prepared by Google team
- Kotlin for Java Developers : Free Coursera course prepared by Jetbrains, the company who created Kotlin language (Attention, on Coursera courses, when you click subscribe for a course, it prompts you to pay, however, there is a little link at the bottom of the prompt screen offering you “free audit”. If you don’t need a certificate, you can “audit” courses for free.)
- Kotlin Koans is a set of exercises carefully designed by the Kotlin team for you to get familiar with Kotlin syntax.
- If you prefer books, Kotlin in Action is a good one, written by some of Jetbrains Kotlin team members
Once you get familiar with Kotlin, you can start these free courses on Udacity(in the following order):
These are great courses prepared by Google’s Android team. They are up-to-date and they teach coding with best practices.
These courses are a great start to bring you up to speed on Android development. But there is always more to learn about Android development, and there are many other resources available over the web. In the second part of this series, we’ll look at other useful resources and discuss how to stay up-to-date in the ever-changing realm of Android.
In the second article, I’ll be sharing alternative resources and supportive material to go further in Android development, along with some tips on how to stay up-to-date. So keep an eye out for part 2!