Ce diaporama a bien été signalé.
Le téléchargement de votre SlideShare est en cours. ×

Dr. Ekler Péter: A mobilszoftver két értéke – legjobb gyakorlatok és újdonságok az Android platform tükrében

Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
A mobilszoftver két értéke az
Android platform szemszögéből
peter.ekler@aut.bme.hu

Les vidéos YouTube ne sont plus prises en charge sur SlideShare

Regarder la vidéo sur YouTube

A szoftver két értéke
• Másodlagos érték: a szoftver viselkedése - a szoftver azt
csinálja hibamentesen, amit a felhasznál...
Prochain SlideShare
Guida Macropolis
Guida Macropolis
Chargement dans…3
×

Consultez-les par la suite

1 sur 35 Publicité

Dr. Ekler Péter: A mobilszoftver két értéke – legjobb gyakorlatok és újdonságok az Android platform tükrében

Télécharger pour lire hors ligne

A mobil alkalmazások rohamos léptékben terjednek az élet minden területén. Fejlesztőként fontos, hogy az alkalmazás és a forráskód minőségére és karbantarthatóságára is ügyeljünk, különösen ha hosszú távra tervezünk. Az előadás keretében szóba kerülnek alkalmazás fejlesztési legjobb gyakorlatok és újdonságok az Android platform tükrében.

Az előadás felvétele: https://youtu.be/zRCin-lcdSY?slideshare

A mobil alkalmazások rohamos léptékben terjednek az élet minden területén. Fejlesztőként fontos, hogy az alkalmazás és a forráskód minőségére és karbantarthatóságára is ügyeljünk, különösen ha hosszú távra tervezünk. Az előadás keretében szóba kerülnek alkalmazás fejlesztési legjobb gyakorlatok és újdonságok az Android platform tükrében.

Az előadás felvétele: https://youtu.be/zRCin-lcdSY?slideshare

Publicité
Publicité

Plus De Contenu Connexe

Similaire à Dr. Ekler Péter: A mobilszoftver két értéke – legjobb gyakorlatok és újdonságok az Android platform tükrében (20)

Publicité

Dr. Ekler Péter: A mobilszoftver két értéke – legjobb gyakorlatok és újdonságok az Android platform tükrében

  1. 1. A mobilszoftver két értéke az Android platform szemszögéből peter.ekler@aut.bme.hu
  2. 2. A szoftver két értéke • Másodlagos érték: a szoftver viselkedése - a szoftver azt csinálja hibamentesen, amit a felhasználó elvár • Elsődleges érték: Tolerálja és egyszerűen alkalmazkodik a folyamatos változásokhoz, tehát könnyű módosítani (software is soft)
  3. 3. Android eszközök
  4. 4. Mi a szoftvermérnök feladata?
  5. 5. Kihívások • Volt már valaha dolgunk rossz kóddal? • „Olvasni a kódot több idő, mint írni” • Volt már olyan eset, hogy nem volt idő egy feladat „szakszerű” megoldására, a kód tisztítására, a rövid határidő miatt? „Ahogy nő a kód mennyisége, úgy csökken a fejlesztők produktivitása.”
  6. 6. Kódolási elvek, megfontolások Reference: https://cleancoders.com/
  7. 7. • Új szoftver rendszerek fő jellemzői: > Folyamatosan változó követelmények • Agilis fejlesztés • Csapatmunka • Kódminőség • Szoftver életciklus Mi a Clean Code? Miért van rá szükség? • Mi a szoftver igazi értéke? > Karbantarthatóság > Folyamatos továbbfejleszthetőség és szállítás
  8. 8. • Elnevezés > Small scope: long, descriptive name > Big scope: short name • Kis osztályok • Egy függvény csak egy dologért felelős • Rövid metódusok > Maximum ~4 sor! • Kevés argumentum > Maximum 3 • Nincs boolean argumentum • Nincs „kimeneti” argumentum Alap Clean Code elvek
  9. 9. Android fejlesztés • Hibamentes, hatékony működés • Megfelelő library-k és eszközök ismerete, illetve használata • Fejlesztőkörnyezet kialakítása > Verziókezelés > Continous Integration (Jenkins, CircleCI, …) > Tesztelés – Unit tesztek – Integrációs tesztek – Teszt környezet • Clean code > Kódminőség > Kód újrafelhasználhatóság > SOLID tervezési elvek > Refaktor • Optimalizálás > Memória, CPU használat és energiafogyasztás • Test Driven Development
  10. 10. Cserkész szabály • Nem elég jól megírni a kódot, hanem tisztán is kell tartani • „Hagyd a tábort tisztábban, mint ahogy kaptad!”
  11. 11. Android Studió újdonságok
  12. 12. Navigation Editor
  13. 13. Theme Editor
  14. 14. • Több méret egyidejű nyomonkövetése • Témák áttekintése • Android verzió alapú renderelés • Drag&Drop • Komponens fa Live layout (preview all screen size)
  15. 15. Lint • Android > Spell checking  > Android XML fájlok vizsgálata > Régebbi verziókon nem elérhető attribútumok > Hardcode text > Lokalizáció használatára figyelmeztet – pl. SimpleDateFormat > Layout felfújás parent megadás nélkül > Padding margin symmetry > Nem használt erőforrások > Láthatóságok – pl. hol lehet szigorúbb • Cody style • Control flow • Data flow • Declaration redundancy • Import • Lehetséges bugok > itt pár érdekes példa • XML
  16. 16. • Live template: CTRL + J > Live template készítés: Tools-> „Save as live template” • Jobbegér-> „Compare with clipboard” • Jobbegér-> „Create Gist” • Osztálynév kijelölés -> Alt+Enter -> „Create Test” • Jobbegér-> „Search with Google”  • XML Validator • Tools -> New scratch file • … További érdekességek
  17. 17. • „Import Android Code Sample” • Gazdag projekt készlet > Leírás > Preview ! • API képességek felderítése • API-k megfelelő használatának megismerése • Ötletek Példa projektek – API explorer
  18. 18. Android Support Library-k
  19. 19. Support Library típusok • Support V4 > Pl. NestedScrollView • Media Router > android.support.v7.media • RecyclerView > Dinamikus tartalmak, listák • AppCompat > Általános widgetek • Design Support Library > Material design elemek • Custom Tabs Support Library • Leanback > Android TV design • Palette > Színek kiválasztása képekből • …és…?: • Percent Support Library • További util libek, például Maps Util Lib: > https://developers.google.com/maps/documentation/android-api/utility/
  20. 20. Percent Support Library • Százalék alapú méret megadás • Függőség: > com.android.support:percent:23.0.0 • Példa: <android.support.percent.PercentRelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent"> <View android:id="@+id/top_left" android:layout_width="0dp" android:layout_height="0dp" android:layout_alignParentTop="true" android:background="#ff44aacc" app:layout_heightPercent="20%" app:layout_widthPercent="70%" /> </android.support.percent.PercentRelativeLayout>
  21. 21. Android külső osztálykönyvtárak és eszközök
  22. 22. Külső könyvtárak • Dagger: http://square.github.io/dagger • ButterKnife: http://jakewharton.github.io/butterknife • Retrofit: http://square.github.io/retrofit • OkHttp: http://square.github.io/okhttp • Glide? https://github.com/bumptech/glide • LeakCanary: http://github.com/square/leakcanary • RetroLambda: https://github.com/orfjackal/retrolambda • RxJava: https://github.com/ReactiveX/RxJava • RxAndroid: https://github.com/ReactiveX/RxAndroid
  23. 23. Clean Architektúra • Viper (View, Interactor, Presenter, Entity, Routing): > http://mutualmobile.github.io/blog/2013/12/04/viper- introduction/ • Clean Architecture: > https://github.com/android10/Android- CleanArchitecture > http://fernandocejas.com/2014/09/03/architecting- android-the-clean-way/ > http://fernandocejas.com/2015/07/18/architecting- android-the-evolution/ • Facebook flux architecture: > https://facebook.github.io/flux/docs/overview.html#cont ent
  24. 24. Stetho • Fő funkciók: > Adatbázisok vizsgálata > Hálózati kommunikáció > View hierarchy • Használat: > Saját Application osztály –Stetho.initializeWithDefaults(this); > chrome://inspect/#devices
  25. 25. További eszközök • Genymobile: > Custom firmware készítés > Teszt környezet > http://www.genymobile.com/ • Samsung Remote Test lab: > http://developer.samsung.com/remotetestlab/rtlDev iceList.action • Material icon pack-ok: > Hivatalos: https://www.google.com/design/icons/ > 3rd party, bővített: https://materialdesignicons.com/
  26. 26. Esettanulmány: SocialDriving
  27. 27. VehicleICT architektúra - SensorHUB Monitoring Interface Business Intelligence and Reporting Automated Data Analysis Push Notification Service Vehicle Data Query Interface RAW Data Hadoop Analytic. DB 1 Analytic DB 2 Analytic DB n OBD2 CAN Bus Adat gyűjtés, helyi szolgáltatások, megjelenítés BI Reports and Dashboards Monitoring Data Alkalmazások és szolgáltatások Személyre szabott visszajelzés, közösségi integráció, PUSH értesítések
  28. 28. SocialDriving koncepció • Közösségi vezetés, „gamification” elemek • Háttérben futó vezetési stílus felügyelet • Fogyasztás és káros anyag kibocsátás összehasonlítás > Hasonló autók és motortípusok > Hasonló időben utazók > Hasonló vezetési stílusú sofőrök • OBD eszköz nélkül is kipróbálható • Hely alapú értesítések, flotta és szerviz szolgáltatások
  29. 29. Fogyasztás, káros anyag kibocsátás
  30. 30. Élő térkép, hely függő értesítések
  31. 31. Együttműködés meglévő navigációs szoftverekkel (lebegő ablak)
  32. 32. Android Wear – jövő a jelenben
  33. 33. SocialDriving – okosóra megoldás
  34. 34. Köszönöm a figyelmet! http://blog.autsoft.hu http://www.autsoft.hu/ peter.ekler@aut.bme.hu

×