This repository contains a complete roadmap for a beginner to start off with Android Application Development.
- What is Android
- Tools and Frameworks used for Android Development
- Getting Started
- Beginnning with native android development
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.
- 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.
- 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.
- After having understood the fundamentals of applications, it is important to understand the Activity Lifecycle. Head over to this article to know more.
- 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.
- Make your Hello World App, which is a simple app that has a single screen displaying the text "Hello, World!".
- 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.
- 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.
- Start learning about databases such as Firebase, MongoDB so that you will be capable of building a full fledged, dynamic, full stack application.
- 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.
- 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!
- 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.
- Begin with kotlin basics
- Practice in Kotlin Playground
- Track your kotlin progress using Kotlin koans
- Begin with new to programming track of google android
You can earn badges completing android development using kotlin from google codelabs.