Űdv Mindenkinek!
Szeretném kikérni a véleményetek az AndroisOS alá történő fejlesztésről.
A google, és egyéb keresők sok hasznos, és számomra rengeteg haszontalan infót dob ki a témában, ezért érdekelne, hogy TI mit tudnátok ajánlani ezzel kapcsolatban annak, aki az alapoktól kezdi ezt a platformot megismerni, programozni.
Nagyszerű lenne minden tapasztalat, ötlet, platform/fejlesztői környezet...
Köszönet minden segítségért.
- 4430 megtekintés
Hozzászólások
A https://developer.android.com/studio a Te barátod. Biztos, hogy fogják fejleszteni, minden alap benne van. Amíg nem vagy ezzel tisztában, felesleges összehasonlítani a különböző build módszereket.
A beépített emulator használható, de (nagyon) sok erőforrást eszik. Az átlagos fejlesztői (!) gépek is elhalnak alatta. Célszerű (mert lehet) külső telefonra deployolni, azaz a fordítás után átküldi a készülékre és ott jeleníti meg. Kevesebb erőforrást eszik, mert nincs emuláció.
Jelölj ki egy apró példát, amit meg akarsz csinálni. Pl. ennél többet ne: főképernyőn megjelenik és frissül 10mp-enként az USD, EUR árfolyamok értéke (webservice van hozzá).
- A hozzászóláshoz be kell jelentkezni
"A beépített emulator használható, de (nagyon) sok erőforrást eszik. Az átlagos fejlesztői (!) gépek is elhalnak alatta."
Akkor eszik sok erőforrást, ha komplett ARM architektúrát emulálsz. De ha android x86-ot választasz az emulátornak, akkor teljesen használható sebességgel fut bármilyen átlagos mai gépen. (ettől függetlenül persze nem árt valódi eszközökön is tesztelni).
- A hozzászóláshoz be kell jelentkezni
A probléma az, hogy az eszközök 95+ százaléka viszont ARM. Nagyon kevés fejlesztővel találkoztam, aki emulátorban tesztelt volna, főleg, hogy van 'Apply changes', amivel kimennek a telefonra is a változások, van debug, meg minden.
- A hozzászóláshoz be kell jelentkezni
- A hozzászóláshoz be kell jelentkezni
Nem sokat tudok az Androidra valo fejlesztesrol, negyed szemmel kovetem, de annyit tudok, hogy:
- Kotlin
- Android Studio
A Kotlin meglepoen hasonlit a Swift-re (vagy forditva), es egy baromira kenyelmes es modern nyelv mindketto. iOS alatt legalabbis kicsit szokni kell az APIkat, nem tudom ez Androidon hogy megy. Nyilvan kell Java ismeret is, de en Kotlinra gyurnek elsosorban.
Az Android Studio Intellij IDEA alapokra epul, ahogy latom eleg komoly featureokkel rendelkezik mar (fejlett debug, UI designer), ami jo!
Tippek gyakorlo/kezdo projectekre:
- todo/notes app (sablonos, de) megtanit a kulonbozo view-k hasznalatara es viszonylag egyszeru implementalni
- a fenti kiegeszitese cloud szolgaltatassal (https://firebase.google.com)
- Terkep alapu POI/reminder/find my car tipusu app keszitese (Maps, location, stb APIk ismerete)
- Chat alkalmazas. Cloud szolgaltatasok, illetve implementaciotol fuggoen kamera/mikrofon kezeles elsajatitasa
- Jatek. Passziansz, malom, vagy valami 2D/3D.
- AR/VR (https://unity.com/solutions/mobile-ar). Szerintem nem kell ecsetelnem. Ahogy kijonnek a megfizetheto, nagylatoszogu es viszonylag hosszu hasznalati ideju AR szemuvegek, az ilyen jellegu tartalmakra jelentosen meg fog ugrani a kereslet.
- A hozzászóláshoz be kell jelentkezni
Saját vélemény: a Kotlin az egyik legborzalmasabb nyelv,amivel valaha foglalkoztam.
- A hozzászóláshoz be kell jelentkezni
A neve és az a vicc a "var" és a "val" kulcsszavakkal tényleg elég meredek, de van esetleg valami konkrétum, amit megosztanál az olvasóközönséggel?
- A hozzászóláshoz be kell jelentkezni
A var - val különbség pont nem zavaró, de kb. minden más igen. Ugye azért favorizálják a Kotlint a Javaval szemben,mert eltüntet egy csomó boilerplate kódot. Ez tény is való, viszont szerintem nagyon rontja az olvashatóságot és számomra nincs is egész felépítésben logika.
- A hozzászóláshoz be kell jelentkezni
Nekem tetszik, de teny, hogy szokni kellett az elejen. A var-val parost kimondottan szeretem, hogy rakenyszerti az embert, hogy gondolkodjon a null-okon. Ez Androidon kimondottan hasznos, mert a framework tud nem kis meglepeteseket okozni. Mondjuk ma mar sokkal jobb mint mondjuk 7 eve, de meg igy is hagy kivanni valot maga utan.
Meg rengetegszer sokkal olvashatobb kodot eredmenyez, mint a java. Metodusokat lehet parametrnek adni, nem kell lambda ahhoz. Rengeteg kenyelmi funkciot adtak a collections konyvtarhoz. Nekem a foreach syntaxis is jobban bejon. Meg foleg a data class-ok, es a sealed class-ok meg a when kulcsszorol, amik sokat segit elkerulni az orias if-else dolgokat, amik bizony gyakoriak androidban.
Nekem sokkal jobban kezreall mint a java, de ertem, hogy miert nem szeretik sokan.
Szerintem olyan, mintha a Python es a Java jo tulajdonsagait vettek volna, es meg hozzaraktak volna 3 tonna syntax sugar-t. Es aztan ez vezet olyan dolgokhoz, hogy inkonzisztensnek tunik, de szerintem meg igy is sokkal osszeszedettebb mint ahogy a Scala-ra emlekszem.
De hat ez izles dolga.
- A hozzászóláshoz be kell jelentkezni
LO: Android alkalmazásfejlesztés 1. rész: számológép
LO: Android alkalmazásfejlesztés 2. rész: alapozunk
LO: Android alkalmazásfejlesztés 3. rész: egy hasznos példa
Kifejezetten nem android fejlesztő vagyok így különböző design patternekbeés hasonlókba nem megyek bele de egy lökésnek szerintem megfelelnek. :)
return signResponse.getSignForUser("zeletrik").map(SignResolvable::getSign).orElse(StringUtils.EMPTY);
- A hozzászóláshoz be kell jelentkezni
Flutter? A Google legújabb androidos környezete, amellyel IOS-re is lehet kódot készíteni; programozási nyelve a Dart, ami ugyancsak a Google fejlesztése.
(Még nem próbáltam, de tervbe van véve.)
https://flutter.dev/docs/get-started/codelab
--
eutlantis
- A hozzászóláshoz be kell jelentkezni
Én már próbáltam, van is bekészítve egy flutteres appom amivel haladgatok viszont nagyon reaktív szemléletet igényel. Plusz a szintaxis is olyan mint a JavaScript és a Java szerelemgyereke amit eléggé szoknia kell a szemnek.
A design patternek se nagyon kiforrodtak még, gyerek cipőben jár a dolog de izgalmasnak ígérkezik.
return signResponse.getSignForUser("zeletrik").map(SignResolvable::getSign).orElse(StringUtils.EMPTY);
- A hozzászóláshoz be kell jelentkezni
sub
Személyes weboldalam
'Everybody loves LEDs'
- A hozzászóláshoz be kell jelentkezni
A teljesség kedvéért említsük meg a Qt-t is. Itt egy összehasonlítás (találni többet is): Qt/C++ vs Java
--
eutlantis
- A hozzászóláshoz be kell jelentkezni
sub
- A hozzászóláshoz be kell jelentkezni
Amit tudok tanacsolni, hogy 2 evnel regebbi tutorial-okkal ne bajlodj, mert sokat valtoztak az ajanlasok meg a gradle plugin-ek, es az alap android konyvtarak.
Nekem nagyon bejottek eddig a Udacity kurzusai. Ha nem gond az angol, akkor erdemes ranezni, mert eleg jo minosegu kurzusok vannak, google-os eloadoktol. Napra kesz anyag, frissitik, github repok, forumok.
Peldaul ez ingyenes, kezdetnek:
https://eu.udacity.com/course/new-android-fundamentals--ud851
En egyszer fizettme Nanodegree kurzusert is mas temakorben, az megerte minden fillert.
A Vogella-s cikkeket is altalaban szoktak frissiteni, es eleg erthetoek. Ott van kezdotol eleg halado szintig minden.
https://www.vogella.com/tutorials/android.html
Szerintem erdemes java-val kezdeni, mert rengeteg konyvtar es nyilt project van java-ban irva. Viszont erdemes eszben tartani, hogy gyakorlatilag minden ceg uj Android projectet kotlinban kezd. Az legyen majd a kovetkezeo lepes, ha tetszik a dolog.
A Flutter franko dolog, de en nem kezdenek Flutter-rel mobil fejlesztest tanulni, leginkabb azert, mert meg keves a tutorial, kicsi az okoszisztema, keves a peldakod. Emellett szerintem nem art legalabb egy nativ platform tulajdonsagaival/hibaival tisztaban lenni meg mielott az ember corss-platform fele fordul.
Egyebkent senior Android fejleszto vagyok.
- A hozzászóláshoz be kell jelentkezni