Giter Club home page Giter Club logo

android-development-roadmap's Introduction

Android Development RoadMap for Beginners

This repository contains a complete roadmap for a beginner to start off with Android Application Development.

Table of Contents

What is Android

Android is a mobile operating system based on a modified version of the Linux kernel and other open source software, designed primarily for touchscreen mobile devices such as smartphones and tablets.

Tools and Frameworks used for Android Development

  • Native Android Development in Java and XML using IDEs such as Android Studio or Eclipse
  • Flutter framework - Developing cross-platform apps for Mobile (iOS and Android) and Web.
  • Kivy framework - Free and open source Python framework for developing mobile apps and other multitouch application software with a natural user interface.
  • React Native framework - Open-source mobile application framework created by Facebook, Inc. It is used to develop applications for Android, Android TV, iOS, macOS, tvOS, Web and Windows.
  • Xamarin platform - Open source mobile UI framework from Microsoft for building iOS, Android, & Windows apps with . NET from a single shared codebase.

Getting Started

  1. Before getting into the actual development of applications, it is really important to get the fundamentals right. That is, it is important to understand how android works and the fundamentals of applications. Read this article to know more.
  2. After having understood the fundamentals of applications, it is important to understand the Activity Lifecycle. Head over to this article to know more.
  3. Now that you have a clear idea about how apps actually work, it is crucial to explore and select the development tools and framework of your choice. Go through the aforementioned tools and frameworks used in the field of android development and make your choice.
  4. Make your Hello World App, which is a simple app that has a single screen displaying the text "Hello, World!".
  5. It is really important to try out some basic applications at first such as Calculator and To-do list app so that you make your fundamentals strong and also get familiarized with the intricacies of the development environment.
  6. Slowly pick up pace and start building some medium level apps such as Weather App, Quiz app or a News app where you get to learn about how to work with APIs.
  7. Start learning about databases such as Firebase, MongoDB so that you will be capable of building a full fledged, dynamic, full stack application.
  8. Also, it is very important to be a good UI/UX designer apart from having a strong grip in back end development. Start learning about Material Designs, Design patterns and fundamentals of UI/UX design using tools such as Figma or Adobe XD.
  9. Apart from all the points mentioned above, it is also important to have a great understanding of the Software Development principles and Component Based Software Engineering and Software testing which will help you develop great apps!

Beginnning with native android development

Which language to choose

Kotlin

Why kotlin ?

  • Official language since 2019, Android is now Kotlin-first.
  • Modern programming language with great features for faster development.
  • 70% of top 1000 apps are developed in Kotlin.
  • More than 60% of devs use Kotlin.

How to start ?

  1. Begin with kotlin basics
  2. Practice in Kotlin Playground
  3. Track your kotlin progress using Kotlin koans
  4. Begin with new to programming track of google android

Motivation

Google Developer Profile

You can earn badges completing android development using kotlin from google codelabs.

Java

How to follow java ?

  1. Android Fundamental
  2. Advanced Android Development

android-development-roadmap's People

Contributors

smv1999 avatar vatsalkesarwani12 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.