🕵️‍ Kotlinos csemege - Betekintés két konferencia app forrásába

Pár nap különbséggel két nyílt forrású konferencia app is kapott némi felhajtást twitteren, úgy gondoltam érdekes lehet pár mondatot ezekről kicsit beszélni.

Google I/O 2018 app

alt text

Már szinte hagyomány, hogy minden évben megnyitja a Google a saját nagy konferenciájának alkalmazását, habár most sem kapkodták el, de itt van.

Az elmúlt években többször morogtam a kód minőségén és az itt használt mintákon. Nem gondoltam, hogy ténylegesen egy példás referencia kódbázist adtak ki a lányaik a kezükből. Márpedig azt várnám, hogy valami ilyen alakul belőle.

Most viszont újraírták és sokkal inkább próbálták tartani magukat a saját ajánlásaikhoz és egy jó kis modern csomag állt össze:

  • Követik az [App Architecture Guide-ot].(http://bit.ly/droid-app-archi-guide)
  • Mozgatták a logikát, Activity és Fragment helyett a ViewModel fogja össze.
  • LiveData observálja az adatokat és Data Binding Libraryval kötnek a UI komponensekhez.
  • Repository réteg fogja össze az adat operációkat, ami több forrással is jól működhetne, ezúttal a felhasználói adatok a Firestoreban vannak.
  • Dagger2 adja a DI-t, plusz a dagger-android kímél meg sok boilerplate kódtól.
  • Teszteléshez Espressot és Mockitot használnak.
  • … ezen túl még van egy csomó Firebase motyó, persze Kotlin az egész és Android KTX kiegészítéseket használnak, illetve naná, hogy Material Theming.

Később szeretnénk több Jetpack komponenst is behúzni, ahogy érettebbé válnak, de ezt majd meglátjuk.

🔖 Itten lehet belebújni a forrásba:

DroidCon NYC 2018 app

alt text

A DroidCon NYC mögötti csapat a 4. évükben még ambíciózusabbak voltak. Használnak sokat az előző appnál használt a komponesekből, de az egyedi fűszer itt a a Koltin Multiplatform projekt..

Igen, így Android mellett iOS-en is menni fog a buli, de érdemes arra készülni, hogy az egész feeling sokkal… khmm… kísérletezősebb. Nem biztos, hogy production appban ma erre mennék, de POC-olni és a jövőbe tekinteni frankó.

A videó összefoglalja hogyan buildelhető az app és ad egy korrekt architektúrális áttekintést is…

Sőt, még live kódoltak is…

🔖 Na itt a forrás.

Jó kódböngészést és tanulást! Have fun! 😉