Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Tren Pengembangan Aplikasi Android di 2021 - IDCamp x Dicoding LIVE

Tren Pengembangan Aplikasi Android di 2021 - IDCamp x Dicoding LIVE

- Classic Android Development
- Modern Android Development
- MAD Score Card
- How to always up-to-date

Video: https://youtu.be/fOUqYJJXk_8

1fe3e1b3343b555b0a195180607fbd6a?s=128

Ahmad Arif Faizin

January 21, 2021
Tweet

Transcript

  1. Ahmad Arif Faizin Curriculum Developer - Dicoding Indonesia Tren Pengembangan

    Aplikasi Android di 2021
  2. Tren 2021?

  3. “Classic” Android Development

  4. Previously… Language Java Programming Language • Base of Android Framework

    • Large developer base • Existing libraries, patterns, best practice • Robust/automatic memory management • Still good.. but verbose
  5. Previously… Tools Eclipse + ADT • Familiar developer experience •

    Integration of new sub-tool into IDE • Difficult to customize • Sub-tools tended to have inconsistent UI • Core IDE not being actively improved
  6. Previously… APIs • Android Support • AppCompat • Complicated ◦

    Lifecycle ◦ Storage (SQLite) ◦ Navigation (manual)
  7. Previously… Distribution APK • Zipped for your convenience • More

    Configurations? ◦ More APKs! ◦ Or bigger APKs!
  8. Answer: Modern Android Development

  9. Modern Android Development? Development tools, APIs, language, and distribution technologies

    recommended by the Android team to help developers be productive and create better apps that run across billions of devices.
  10. None
  11. Modern… Language

  12. Kotlin Benefit • Expressive and Concise • Safety • Interoperability

    • Structured Concurrency with Coroutine • Speed
  13. Kotlin Uptake • 20% less likely to crash • 60%

    of Pro Android Developers use Kotlin • 70%+ of Top 1000 Apps contain Kotlin code Source : Google Internal Data, May 2020
  14. None
  15. Kotlin-KTX • Without KTX • With KTX val viewModel =

    ViewModelProvider(this).get(MyViewModel::class.java) val viewModel by viewModels<MyViewModel>()
  16. New Kotlin Highlight • Kotlin Gradle DSL • Kotlin Live-Template

    • Asynctask deprecated (Use Coroutines / Executors) • Coroutine Flow • Trailing Comma • SharedFlow and StateFLow • Kotlin Synthetic deprecated (Use View Binding) • Kotlin Multi-platform Mobile
  17. Modern… Tools

  18. Android Studio Features • Intelligent code editor + Code Template

    • Visual Layout Editor + Motion Editor • Database Inspector • Layout Inspector • Navigation Editor • Performance Profiler • APK Analyzer
  19. Android Studio Benefits • Powerful code refactoring • Extensible UI

    for future tools • Core+plugins being actively developed • Tight integration with Kotlin, gradle • Lint checks, quick fixes • Integration with existing and new API (Navigation, layouts, data binding, Room)
  20. Modern… APIs

  21. Android Jetpack Benefits • Accelerate development • Eliminate boilerplate code

    • Build high quality, robust app
  22. Android Architecture Components

  23. Android Jetpack Highlight • Architecture Components ◦ Room + ViewModel

    + LiveData • Material Design Components • Paging • Navigation • WorkManager for schedule deferred job • Dagger Hilt for Dependency Injection • Jetpack Compose
  24. Jetpack Compose

  25. Modern… Distribution

  26. Android App Bundles • Official publishing format and a more

    efficient way to build and release your app. • Easily deliver a great experience in a smaller app size which can improve install success and reduce uninstalls. • In second half of 2021, you must use AAB for upload to Google Play, instead APK.
  27. Dynamic Delivery with AAB

  28. AAB Uptake • Over 600,000 apps and games currently use

    the app bundle in production, representing over 40% of all releases on Google Play • 20% average size saving vs universal APK • Up to 11% increase in installs from size savings Source: Google I/O 19
  29. App Download Size Saving

  30. d.android.com/modern-android-development

  31. goo.gle/MADscore

  32. MAD ScoreCard https://madscorecard.withgoogle.com/scorecard/share/3800404497/

  33. How to always up-to-date? • Subscribe email newsletter ◦ Android

    Weekly & Kotlin Weekly • Subscribe Android Developer channel • Follow Android Developers in Medium ◦ ProAndroidDev, BetterProgramming, AndroidPub • Join community events • Watch Dicoding Developer Coaching & Dicoding Live • Learn Dicoding Android Learning Path
  34. Takeaway • Learn Modern Android Development • Check your MAD

    ScoreCard • Stay up-to-date. Stay Hungry. Stay foolish.
  35. Contact: Instagram: @arif_faizin Medium: @arifaizin Email: arif@dicoding.com THANKS! Follow us:

    @dicoding