Android development learning path 2020

  • Để bắt đầu với bất cứ 1 ngôn ngữ nào, mỗi developer đều phải vạch cho mình 1 roadmap về ngôn ngữ lập trình đó.
  • Tất nhiên, ngay từ ban đầu mỗi developer đều phải tạo roadmap cho riêng mình. Nhưng ngôn ngữ lập trình luôn thay đổi qua các quý, các năm, các bản release nên việc update roadmap để phù hợp cũng rất quan trọng.
  • Là Android developer, mình cũng luôn tìm kiếm roadmap phù hợp với chính bản thân mình.
  • Một trong những nguồn mình luôn tham khảo là MindOrks.
  • Đến với 2020, đối với cả những người mới và những ai đang lập trình Android, mình xin chia sẻ 1 roadmap không mới rất đáng để học.

1, Programming

  • Java
  • Kotlin

2, Android studio

  • Android studio (install, update, overview).
  • Project structure.
  • Keyboard shortcut.

3, Android component

  • Activity (lifecycle, Task and backstack) >>> Fragment.
  • Service.
  • Broadcase Receiver.
  • Content Provider.

4, Intent

  • Intent (overview, type of Intent).
  • Intent Filter.
  • Pending Intent.

5, User interface

  • Static UI:
    • View: Button, ImageView, TextView, EditText...
    • ViewGroup: LinearLayout, RelaytiveLayout, FrameLayout, ConstraintLayout.
  • Dynamic UI:
    • RecyclerView.
    • ViewPage (ViewPager vs ViewPage2).
    • Spinner.
  • Note: AndroidX release cũng đã lâu nên chúng ta nên sử dụng Google material compoent để phù hợp với AndroidX.

6, CustomView

  • Canvas.
  • Bitmap.
  • Paint.

7, UI resources

  • Drawable.
  • String.
  • Styles.
  • Dimen...

8, Fragment

  • Fragment Lifecycle.
  • Fragment Manager, Fragment Transaction.
  • Single Activity.

9, Support User Interface

  • ProgressBar.
  • Dialogs.
  • Toast & Snackbar.

10, Storage

  • Shared Preferences.
  • File Systems.
  • Database — RoomDB

11, Build

  • Gradle.
  • Debug / Release Configuration.

12, Threading

  • Threads.
  • Handler / Looper.

13, Debugging

  • Memory profiling.
  • Logging.
  • Systrace.
  • Exceptions.
  • Error Handling.

14, Memory Leak

  • Detecting and Fixing Memory Leaks.
  • Context.

15, 3rd Party Library

  • Image Loading - Glide, Picasso.
  • Dependency Injection - Dagger, Koin.
  • Networking - Fast Android Networking Library, Retrofit.
  • MultiThreading - RxJava, Coroutines.

16, Data Format

  • JSON — GSON.
  • Flat Buffer.
  • Protocol Buffer.

17, Android Jetpack

  • Foundation Components — AppCompat, Android KTX, Multidex.
  • Architecture Components — LiveData, ViewModel, DataBinding, Paging, Work Manager, Navigation.
  • Behaviour Components - Download Manager, Media Playback, Notification, Permissions, Preference, Sharing, Slice.
  • UI Component - Animation & Transition, Android Auto, Emoji, Palette, Android TV, Android Wear.

18, Architecture

  • MVVM.
  • MVP.

19, Unit Testing

  • Local Unit Testing.
  • Instrumentation Testing.

20, Firebase

  • FCM.
  • Crashlytics.
  • Analytics.
  • Remote Config.
  • App Indexing.
  • Dynamic Link.

21, Security

  • Encrypt / Decrypt.
  • Proguard.
  • R8.

22, App Release

  • .keystore file.
  • App Bundle.
  • Playstore.

  • Bài viết mình dựa vào bài post của Mindorks có chỉnh sửa 1 ít.
  • Và tất nhiên ai đã thông thạo hết những thứ này rồi thật sự rất đáng nể phục. Nếu chưa thì đặt nó làm mục tiêu để phấn đấu cũng rất có ít đó.
  • Trong quá trình học tập và làm việc sẽ có những lúc bạn cảm thấy không còn động lực hay lạc lối thì hãy dựa vào đó mà đi tiếp nhé.
  • Mình chắc chắn là chưa thể nào biết hết được những thứ đó rồi 😅. Nhưng nếu bạn có đam mê với Android thì việc master nó sẽ đến rất nhanh thôi.
  • Lôi thôi quá (chỉ là chia sẻ thôi) và lời cuối Happy coding.