Android developer roadmap
Welcome to Android Developer Roadmap 2023.01, The main purpose of this roadmap is to help any one who wants to kick off his android career or to level up his experience and knowledge. This contains all topics to help you find what you are looking for quickly
๐๏ธ Disclaimer
This is from the Author's diligence and experience, so i may be biased to what i like
โจ Contribution
This repo is open to contributions if you found a blog, tutorial that looks useful or even if you are a blogger or instructor feel free to include your material directly by submitting a pull request.
If you have any questions, suggestions let's have it over Issues
Loved the roadmap? Please consider donating ๐ธ to help it improve!
๐บ๏ธ Roadmap
โ How to use it
Up to down, use color coding to know the topic's difficulty of the topic, green are easy/basic, yellow are intermediate and red are for advanced/hard topics. I recommend doing the projects #1 and #2 while learning, personally i feel practicing while learning makes more sense and give you more oppurtionity in understanding how really things work. Below, you'll find categories for every topic and many helpful links
New to software engineering?!
If you are new to software engineers, don't have enough experience. I'd recommend kicking off your learning path by checking CS50 Course from Harvard you'll learn the entry point to Computer Science world
Table of contents
๐ชต Fundmentals- ๐ฏ Languages
โ๏ธ Tools๐๏ธ Project Structure- Android
- ๐จ UI
๐ก Networking๐พ Storage/Cachingโพ๏ธ Threading๐งฉ Architecture Patterns๐ Performance- ๐ Security
๐ค CI/CD- ๐ Release
๐๏ธ Podcasts๐ฐ Blogs & Newsletters๐งโ๐ป Interviews๐ง Problem solving๐ Book shelf
๐ชต Fundmentals
Data Structures
OOP
Gradle build system
๐ฏ Languages
Kotlin
Java
C++
โ๏ธ Tools
Terminal
Android Studio
Version Control (Git)
Project Structure
- Android project directory structure | manifests directory |resource directory | layout directory
- Projects overview
Android
Platform Architecture
Services
Entry point / Navigation
Notifications
Content Providers
Lifecycle
Broadcast Receivers
Intent filters
Sensors
Permissions
๐จ UI
Design guidelines
Activities
Fragments
UI Components
Compose
Custom Views
Networking
Storage/Caching
Threading
- Looper
- Processes and threads overview
- Work Manager
- Thread Pool Executor
- Better performance through threading
- Kotlin Flows
- Kotlin coroutines on Android
Architecture Patterns
- Guide to App Architecture
- Design Patterns
- Dependency Injection in Android
- Reactive Programming for Android
Performance
Security
CI/CD
Release
Libraries
- Creating android library
- Android Arsenal - place to find new libraries
- android-library topic on Github
- Awesome Android repo
Products
Application performance monitoring
Crash Reporting
Debugging
- AppSpector remote app debugging
- Charles for local Network interception
- Httptoolkit for local Network interception
- Stetho by Facebook for local app debugging / inspection
Podcasts
Blogs & Newsletters
Interviews
- How to crack any Android Interview
- Android interview Questions /Topics 2022 - Crack any android interview.
Problem solving
Inspired By
Book shelf
Contributers
Support
If you would like to support the repo, you can optionally buy be me a coffee. Thank you for all the wonderful support
๐ License
Copyright (c) 2023 mzelzoghbi
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.