Skip to content

Latest commit

 

History

History
123 lines (74 loc) · 11.9 KB

learn-to-code-how-to-get-started-with-android-development-in-2021.md

File metadata and controls

123 lines (74 loc) · 11.9 KB
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
post
guest-post
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.

Why Android development?

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.

What do I need to begin with? Any prerequisites?

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.

Kotlin or Java?

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.

Can I start directly with Kotlin?

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.

Where to start?

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!

Case 1 – You have no prior programming experience

Step 0*: Java

*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:

Step 1 : Learn basics of Android and Kotlin

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:

Step 2 : Learn version control

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:

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.

Step 3: Becoming an Android developer

Once you cover the basics of Android development and Kotlin, you can start these free courses on Udacity(in the following order):

  1. Developing Android Apps with Kotlin
  2. Advanced Android with Kotlin

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.

Step 4*: Becoming a better developer

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!

Case 2 – You have prior programming experience

Step 1 : Learn Kotlin

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

Step 2: Becoming an Android developer

Once you get familiar with Kotlin, you can start these free courses on Udacity(in the following order):

  1. Developing Android Apps with Kotlin
  2. Advanced Android with Kotlin

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!