Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Javantura v4 - Android App Development in 2017 - Matej Vidaković

1,008 views

Published on

Javantura v4 - Android App Development in 2017 - Matej Vidaković

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Javantura v4 - Android App Development in 2017 - Matej Vidaković

  1. 1. Matej Vidaković Android app development in 2017
  2. 2. What’s up with Android Java? ● Some Java 8 feature support (in theory) ● Libs that help ○ Retrolambda ○ Lightweight-Stream-API ● Dalvik vs ART ● Alternatives? ○ Kotlin ○ Scala ○ Groovy ○ …
  3. 3. Which IDE to use? ● Eclipse - no longer officially supported ● Android Studio - official IDE ● NetBeans, IDEA - Android plugins
  4. 4. What makes Android Studio so cool? ● Modified IDEA ● Gradle build system support ○ Easily customizable ○ Build variants (type x flavor) ● Emulator now actually fast
  5. 5. I’m still not convinced... ● Android specific static code analysis (support annotations) ● Profiling tools ● Instant run ● Vector drawable ● Data Binding ● Samples browser ● Apk analyzer ● Layout inspector ● ...
  6. 6. What about testing? ● Local ○ No Android dependencies ○ Run on local JVM ● Instrumented ○ Android dependencies ○ Run on device or emulator ● JUnit 4 ● Espresso UI testing ● Test recorder (beta)
  7. 7. 2.3.3 - 2.3.7 Gingerbread 10 1.0% 4.0.3 - 4.0.4 Ice Cream Sandwich 15 1.1% 4.1.x Jelly Bean 16 4.0% 4.2.x 17 5.9% 4.3 18 1.7% 4.4 KitKat 19 22.6% 5.0 Lollipop 21 10.1% 5.1 22 23.3% 6.0 Marshmallow 23 29.6% 7.0 Nougat 24 0.5% 7.1 25 0.2% Which versions to support? IDEALLY minSdkVersion (lowest possible) <= targetSdkVersion == compileSdkVersion (latest SDK)
  8. 8. Support library Multidex Palette Test RecyclerView Design GridLayout Leanback Annotations Percent MediaRouterCardView How to support ancient versions? Appcompat
  9. 9. Is 64k method limit still a thing? ● Yes… ● Check method count of libs at methodscount.com ● Use Proguard / Dexguard (@Keep) ● If all else fails - Multidex
  10. 10. How should my app look like?
  11. 11. And how do I do that? ● Design guidelines - material.io/guidelines ● Standard icons - material.io/icons ● Support libs ○ Design ○ Appcompat ○ CardView ○ Palette ○ Percent ● Material Design Android Library
  12. 12. Some things never change...
  13. 13. Where can I learn more? ● Udacity.com - basic and advanced Android nanodegrees ● Coursera.org - Android App Development Specialization ● Android Programming: The Big Nerd Ranch Guide book (new edition coming this month) ● Caster.io ● Google codelabs
  14. 14. Cool presentation, but I already knew all that… ool talk, but I already know all of that… five.agency/about/careers/

×