Android - Úvod #1 Jonáš Ševčík Ahoj ● Head of Technology @ Livesport TV ● https://cz.linkedin.com/in/jonassevcik Android úvod Osnova ● Co to je a jak to funguje ● Historie ● Data ● Kam dál Android úvod Kde všude je Android? ● Telefony/Tablety ● TV ● Wearables ● Auto ● Things ● Glass Android úvod Co je to “Android”? ● Struktura systému ○ Linux ○ Android Interface Definition Language (AIDL) ○ Dalvik Virtual Machine ■ Google VS Oracle ● Android Open Source Project ○ Source.android.com ○ Jak funguje vývoj nad repozitářem? ○ Build - jak to dát dokupy? Jaká je struktura? A co na to potřebuju za HW a prostředí? ○ Android Open Source Project - vyplatí se to Googlu? Monetizace? Android úvod Android? ● Android vs AOSP ○ Partner program, Original Equipment Manufacturer (OEM) ○ Certifikace ■ LVL + požadavky, HW/SW ■ proč je nutná? ■ Gapps ○ Gerrit ○ Updaty ■ Hostování ■ Full vs Over-the-Air (OTA) Android úvod Android? ● Mobily vs TV vs Wear vs … jak se liší? ○ Rozdíly ve zdrojovém kódu - SDK? ○ Vlastní Play Store? ○ Taky nutná certifikace? Android úvod Android historie ● 2003, Android inc. ● 2005, odkoupen Googlem ● (2007 iPhone) ● 2008, 1. Androidí telefon ○ T-Mobile G1 ● 2010, Froyo (2.2) ● 2011, Honeycomb (3.0) ● 2011, Ice Cream Sandwich (4.0) ● 2012, Jelly Bean (4.1) ● 2013, Jelly Bean (4.3) ● 2013, KitKat (4.4) Android úvod www.android.com/history ● 2014, Lollipop (Android 5.0) ● 2015, Marshmallow (6.0) ● 2016, Nougat (7.0) ● 2017, Oreo (8.0) ● 2018, Pie (9.0) ● 2019, Q (10.0) ● 2020, R Android v číslech Android úvod https://developer.android.com/about/dashboards/index.html Android v číslech ● 2,5 miliardy aktivních Android zařízení ● 74,4% podíl na trhu s mobilními telefony ○ VS 22,8% podíl iOS ● 1,5 milionu zařízení aktivovaných denně ● > 2,8 milionu aplikací v Play Store Android úvod V čem se vyvíjí? ● Android Studio (IntelliJ) ● Android SDK ○ Podmnožina JDK + Android specific třídy + knihovny (Apache, JSON ...) ● Java ○ 6 ○ 7 od 4.4 - syntaxe, ne plné API (desugar) ○ 8 od 7.0 - syntaxe, ne plné API, (D8, desugar) ● Kotlin ● NDK (C++) ● Gradle - Build system ○ Groovy, Kotlin DSL Android úvod V čem se vyvíjí? Alternativy ● C# - Xamarin ● HTML, JS - Web optimalizovaný pro zobrazení na mobilu ● JS - Cordova (PhoneGap) ● JS/C# - Unity ● JS - React Native ● Dart - Flutter.io ● ... Android úvod Pro Proti ● Java/Kotlin ● Nástroje pro vývoj zdarma ● Spousty učebních materiálů ● Levný HW ● “Snadné” vydat aplikaci Android úvod ● Nejednotnost systému od různých OEM ● Spousta lowend HW ● Různé specifikace HW ● “Rychlost” vydávání OS updatů ● Neexistence premium aplikací Užitečné materiály Co sledovat? ● Android Weekly androidweekly.net ● Fragmented podcast fragmentedpodcast.com ● Android Developers Backstage androidbackstage.blogspot.cz ● YouTube ○ Google I/O ○ Android Developers ○ Google Developers Android úvod Koho sledovat? ● Jake Wharton jakewharton.com ● Donn Felker donnfelker.com caster.io ● Chet Haase medium.com/@chethaase ● Ian Lake medium.com/@ianhlake ● Dan Lew blog.danlew.net ● Cyril Mottier cyrilmottier.com ● Chiu-Ki Chan blog.sqisland.com ● Sittiphol Phanvilai inthecheesefactory.com ● Dave Smith wiresareobsolete.com Android úvod Knihovny ● Support Library ● Retrofit ● OkHttp ● Picasso/Glide/Fresco ● Timber ● Dagger ● Stetho ● Crashlytics Android úvod ● LeakCanary ● Realm Děkuju