Git Product home page Git Product logo

android-developer-roadmap's Introduction

Android Developer Roadmap 2020

GitHub contributors

Para a versão em português, clique aqui

Para la versión en español, clic auquí

Voor de nederlandse versie, klik hier

Based on the Developer Roadmap that helps web developers with a path of what to learn on this extensive area, we developed the Android Developer Roadmap with the same goal.

We hope that with this roadmap new developers will find it easier to start building beautiful Android applications.

How to read

This content is a suggested learning path to help guide your Android studies. To use this content, have in mind that the roadmap has macro boxes, that are in the middle (following the line path), and from them we have micro boxes, that are more refined content about the topic of the parent box.

So, in this way, we suggest you read from the macro to the micro boxes, from the top to bottom direction. This is how we think a roadmap should flow, in terms of needs and difficulties.

In addition, it is good to know that you don't need to know everything in the image bellow to be a good Android developer. You can follow your needs (in your studies, projects, etc) and it will be ok!

Remember that this is a collaborative content, so, if something is missing or incomplete, please think about how to improve it for the community.

Android Roadmap

Android Roadmap

Roadmap Study Content

You can now access this file to see all suggestions for community content, related to the topics on our roadmap!

Android app

To help you keep track of your progress @Fren1100 created an Android app with all the subjects. You can download the app here.

Acknowledgments

We want to thank the Android dev community all over the world that helped us with some great insights, especially Android Dev BR. Without you this project wouldn't be as complete as it is.

Contribute

If you think anything is missing or should not be there, or should be different, please open a pull request with your ideas.

Here you can find how to contribute to the roadmap.

Authors

  • Ana Coimbra alt textalt text
  • Diogo Cabral alt textalt text

License

License: CC BY 4.0

android-developer-roadmap's People

Contributors

anacoimbrag avatar asaikarthikeya avatar davidprecopia avatar diogorcabral avatar drcabral avatar emenjivar avatar fabiorbap avatar firdaus1453 avatar fren1100 avatar lucalves avatar luisfertr avatar nitramtasu avatar twisterrob avatar yhdesai avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

android-developer-roadmap's Issues

Suggestions after attend AndroidFestBH talk

Hey folks,

First of all, thanks for this awesome work. The Android community was claiming this for a long time.
Well, after attend your talk at the AndroidFestBH I would like to suggest these changes/fixes on the roadmap:

  • XML ​​is a markup language (not a programming language), I would recommend to move to somewhere else like "File formats" and put it there with JSON standard.
  • In accordance with the Android web-site the four App Components are: Activities, Services, Broadcast Receivers and Services (https://developer.android.com/guide/components/fundamentals). My suggestion would be move Fragments to the User Interface section.
  • I can't see Notifications Block connected to anywhere. I think it can be moved to User interface section.
  • imho ListView and GridView are not layouts, they are ViewGroup's. My suggestion would be add a "Data Views" section (or something) and put ListView, Spinner, RecyclerView there under UIComponents section.
  • Spinner is a AdapterView, so it should be under the UI Components> AdapterView section (or to the section I mentioned above).
  • Under tests section, would it be "Smoke Tests" instead of "Somke Tests"?
  • All architectures under "Architecture> Code Architecture", are standards to organize the presentation layer. My suggestions would be change to "Presentation Architecture", "Presentation Patterns" or something similar.
  • I would remove Volley under networking and add the "Data Transfer Format" (or something similar) and put REST, GraphQL, Protocol Buffer and FlatBuffer.
  • AndroidX and Jetpack is the same thing, so I would remove AndroidX box.
  • It would be nice to have a reference for each jetpack component from its respective topic. Eg: SQLite -> Room, MVVM -> View Model, Services -> WorkManager, Activity / Fragment Lifecycle -> Lifecycle (this is missing). So, I think it's better to spread the components along the graph than centralize them in a single section.
  • Under Security, add R8.
  • Move (or put a reference to) Animated Vector Drawables to Animation section.

Thanks in advance ;)

Include "How to read" section in the readme file

To decrease doubts and explain better the objective and how to use the roadmap, will be good if we add at the beginning a section "How to read", to explain...

  1. ...that the roadmap is a suggested learning path
  2. ...that the correct way to read is from up to bottom
  3. ...that you don't need to study and know about everything, but just search about the topics and choose what is better to apply in your scenario (and maybe when we decide about how to apply the suggestion mentioned in #3 add something extra to explain this as well)
  4. ...that is a collaborative content, so, if something is missing or incomplete, you must think about how to improve it for the community

What tool do you use for roadmap generation?

I mean, in project we can find that json with entities -> i just wonder if there could be easy way to make anchors for this road image like imagemap in html, that could be so awesome! :)
Give me a hint, i could make further research

Suggestion: add CI/CD systems and tools

I think it's important to know how to use ci for testing, building and publication, especially if you are working in a team.

tools/libs

  1. https://fastlane.tools/ - set of cli tools for mobile development automation
  2. https://github.com/Triple-T/gradle-play-publisher - publish apk and metadata from gradle tasks
  3. https://firebase.google.com/docs/test-lab/android/continuous - cloud testing

ci/cd software

  1. https://travis-ci.org/ cloud base
  2. https://circleci.com/ cloud base
  3. https://docs.gitlab.com/ee/ci/README.html cloud/self-hosted base
  4. https://jenkins.io/ - self-hosted
  5. https://www.jetbrains.com/teamcity/ - self-hosted/cloud

[Suggestion] Include credits to Developers Community

Hi ! Was this Roadmap based on that research posted on AndroidDevBr slack ?
If it is correct, should be included credits to the Android Dev Comunnity too, not only two authors.

Anyway, thanks for the Roadmap, it will be very useful !

[Suggestion] Include "Clean Architecture"

Hello! Thank you for roadmap, i liked)
I propose to add Clean Architecture.
MVP or MVI or ... - is only presentation layer.
Understanding design for all layers of application is really important for android developer.

Improve tests section in the roadmap

We had one suggestion and one fix to the roadmap image:

  1. There is a typo in Smoke test that we need to fix
  2. In the tests section we can specify which framework or library is used for each type of test in the pyramid or just separate two sections in test (libraries and types of tests) to clarify which purpose each of the boxes has in this tree.

Androidx

Android support library is deprecated. Use androidx instead

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.