How to Start Android App Development !
Android App Development in Kotlin & Java

How to Start Android App Development !

Yes, the most basic question an individual asks when he/she wants to start Android App Development. From where do I start? My peers gave me so many advice but I don't know what to do? It's all messed up :(

Well, hold on buddy. I got your back. I went through the same pain when I was going to start Android App Development, nearly 9 months ago. Which language to use? Where are the properly structured resources? I was asked by many people and I just gave some simple answers to them till now. So I am publishing this article to guide all of you who want to step in the market as an App Developer or want to just learn this skill. I will provide you all with the roadmap and resources of where to start and what to learn.

Prerequisite : A basic knowledge about any programming language. If you know OOPS, you have a head-start🧐✌️. If you don't know any, I still have something in the closet for you.

Beneficiary : Useful for those who want to learn Android App Development using either Kotlin or Java as base language for development.

Levels - For learners having no experience in App Development. Although I have material for intermediate level developers too.

Let's start then. Fasten your seat belts, we are going to start in 3..2..1..GO 🤩

STEP 1 : LANGUAGE SELECTION

Firstly, select the language in which you want to learn App Development :

JAVA :

  1. App development in Java has been going on for so many decades and hence there is a very large support and developer community for all your errors.
  2. While some companies have shifted to Kotlin and re-configured 60-80% of their source code to Kotlin(Google, Flipkart, Swiggy, Pinterest, Voot, Uber, etc), some remain to maintain legacy code in Java.
  3. As it's old, it has a lot of tutorials on free platforms to learn from.
  4. Java has an option for checked exceptions meaning that sometimes when you try exceptional things like (12/0), java has optimal try-catch handlers which do the exception handling and hence error recovery is better here.
  5. Java codes are heavy ie. they are very large. A simple clicking option takes 4 lines of code. Java 8 provided support for this using lambda functions(so you have to write less code for some functions like handling click events and all).

KOTLIN :

  1. Google announced Kotlin as its preferred language for App Developers in 2017 I/O. As this is new, there is lesser range of community for problem/error solving ( personally, I have experienced that errors in StackOverflow are solved in Java for most of the cases, and we have to change correct code to Kotlin).
  2. Kotlin has the functionality of interoperability with Java meaning an existing Java project can have new kotlin classes and files and they would work properly. That's why most big companies are shifting to Kotlin as they can change their current Java code to Kotlin and add new Kotlin too.
  3. If you think converting Java code into Kotlin would be a mess, Android Studio is there for you. They have excellent in-built code converters which change copy-pasted Java code to Kotlin code with the best ever accuracy. So if you have an error and you get correct Java code from Stack Overflow, just copy-paste it into Android Studio file and it will auto convert it after asking you.
  4. Kotlin codes have low or no boilerplate code. A java code of 8-9 lines will be of 3-4 lines in Kotlin in maximum cases. Kotlin has provided many functionalities to remove boilerplate code ( which was one of the motive to create Kotlin).
  5. Kotlin has smart-type casts ie. you just write var a = 5 & compiler will automatically detect the data-type for you ( You can explicitly provide data-type if you are not sure compiler will detect it properly).

COMPARISON BETWEEN KOTLIN & JAVA

Although Java has a wider community, Kotlin has far more better functionalities over Java. Kotlin has Data Classes(beautiful thing once you learn it), it has co-routines to work in background (correspondingly Java has background threads, but they are hard to implement & maintain). Kotlin solved the biggest blunder of Java - The Null Pointer Exception ( Billion Dollar Mistake ). It was a problem which was so hard to conquer that companies had to spend billions to get that small code where a null pointer exception was coming, and hence the name. Kotlin removed it by having non-null data types ie. the variables can never be null until & unless you declare them so.

For those who don't know either of Java & Kotlin, I would advise using Kotlin as according to me the companies are shifting more towards Kotlin and it has a lot more functionalities than Java (Greedy Approach : More pros, less cons).

If you haven't decided yet, what language to choose, here are some links to clear your doubts and a really in-depth comparison between both the languages based on several aspects : Link 1 Link 2 Link 3

STEP 2 : RESOURCES

Congratulations on finding your language😎. It's OK if you didn't find it till now. You can contact @ Author anytime to help you in a better manner.

Now that if you have found what you actually wanna start with, the time comes to ask : From where do I study in a structured manner ? There are many resources on the internet which are scattered here & there and many a times we aren't able to filter what to study and what not. So here I will provide you with a good structural path to study from.

Disclaimer : The sources for you to learn here are completely free. For certification purposes, some of the sources have their own paid programs.

Note : From here on I'll be using the abbreviation AAD for referring to Android App Development.

Firstly, the basics which developers of both languages should know about.

STEP 2.1 : User- Interface(UI)

A User-Interface is one of the most important things you want to learn before starting AAD. There is an Udacity course based on UI only. You should first learn basic UI things before running into AAD. Also, I suggest watching videos for this because videos and imagery shows us the UI in a better way vis-a-vis theory. You can watch it if you have no experience in coding as well.

Android Basics: User Interface | Udacity

When you have a basic insight of Android UI, now comes the basics for the language part.

STEP 2.2 : Basics of Language

Java : If you are beginning from scratch, watching this part is a must however if you know any one Object-Oriented Programming language, it is not much important. Also, in further programs, teachers will teach some of the basics & you can search Google anytime. So, I am just providing a basic playlist for this. Original content provider, copyrights, and property of Navin Reddy.

OOPs Object Oriented Programming System - YouTube

Kotlin : If you want to start with Kotlin, I think you would want to learn the basics of Kotlin first, right ? Well, I have something very elite for you.

Kotlin Bootcamp for Programmers (Video Course)

Kotlin Bootcamp Course (Codelabs - Read & Implement)

This Bootcamp will teach you everything you want to know about Kotlin for programming before starting AAD. They both are the same thing(in terms of content), you can switch between the two of them according to your convenience.

STEP 2.3 : Going into Real Development

From here things will start diverging much. But no worries, take your time and then DIVE IN for the next journey.

For beginners, the tracks I suggest are provided below with details.

STEP 2.3.1 : Beginners' Track - JAVA

  • Android Developer Fundamentals - YouTube : English, ~68 Videos, structured by Google Developers India, contains all the fundamental topics for creating an app of intermediate level for your portfolio.
  • Developing Android Apps | Udacity : English, much structured course by Google, for intermediate level apps. Do Android Basics: Multiscreen Apps course as a complimentary course to the above Udacity course.
  • CodeWithHarry - YouTube : Hindi+English, ~34 Videos, very fundamental playlist to cover basic topics and create a beginner-intermediate level app. Very enthusiastic teacher 😜 will never get you bored. Original content provider, copyrights, and property of CodeWithHarry Youtube Channel. You have to learn extra topics from point 1 after this because it contains purely basic topics
  • (For readers) Codelabs for Android Fundamentals : DIY technique, read the content and apply in Android Studio to create great apps.
  • Complete Android App Development Course -Youtube English, heavy Course(~126 videos)everything from scratch to advanced course. Original content provider, copyrights, and property of CodeWithHarry youtube channel.

STEP 2.3.1 : Beginners' Track - KOTLIN

Now, in my view if you do any one of them with your heart, you will have intermediate knowledge of AAD. By this time, you must be familiar with words like Views, Recyclers, Databases, UI, Architecture etc. Let us now move to some advanced topics of Android.

STEP 2.3.2 : Advanced Track : JAVA

STEP 2.3.2 : Advanced Track : KOTLIN

For side adventure, you can learn other things in deep if you want to. If any of them is in a language which you don't understand, don't worry. You just have to understand the concepts. You can apply them in your own language or can get help from Google OR Stack Overflow anytime for any kind of doubt. The community is always there to help you. I am providing links to some other resources which will be extremely helpful to you.

I think that is all I had to share. These resources are more than enough for a complete beginner to take a big leap in market as an Android App Developer. All of the resources are already there on the internet, I just gathered and structured them so that newbies don't get confused. All the links and references' copyright belong to individual creators(Banner picture credit : codinginflow.com).

Thanks for reading the article🤗. Hope I cleared your doubts about how to get started for your Android App Development journey. I wish you all ALL THE BEST for your future endeavours.

Cleared alot of doubts Thank you...😌

Like
Reply

Thanks very much....this is very helpful and this is also one service that helps me https://t.co/hWIS6cTiMU?amp=1

To view or add a comment, sign in

Others also viewed

Explore content categories