10. Oct 2022Android

Chceš vyvíjať aplikácie pre Android? Poradim ti kde začať.

Keď som začínal s vývojom pre Android, tiež som sa v tom strácal. Nebyť pomoci seniornejších kolegov a ich trpezlivosti mi poradiť, blúdil by som. Teraz je čas na mne, aby som tieto informácie posunul ďalej.

Tomáš ParonaiAndroid Developer

Mám už prostredie, prezrel som si youtube, čital som Google blog…

Počkajte, lebo to vzdáte skôr než stihnete vypísať na obrazovku telefónu "Hello world!". Odolať rozrušeniu z novej technológie je ťažké. Dôležité je si na začiatku pripomenúť, že je lepšie začať malými krokmi ako sa vrhnúť do celého projektu. Pri malých úspechoch vás to bude motivovať ísť ďalej, pri veľkom súste vás to odradí alebo znechutí. Skúsim vám prezdieľať tie najdôležitejšie pojmy a nástroje, ktoré budete zo začiatku potrebovať.

Výber programovacieho jazyka

Môžete siahnuť aj po alternatívach ako Flutter alebo React Native, ale ja by som vám rád odporučil práve Javu alebo ešte lepšie: Kotlin. Prečo práve Kotlin? Lebo je cool. Naučiť sa kotlin syntax je pomerne jednoduché. Zároveň poskytuje veľké množstvo Android utilizácie, ktoré Java nemá. Kotlin bol pôvodne navrhnutý s cieľom skvalitniť vývoj Android aplikácií. Zároveň musím vyzdvihnúť aj to, že je syntaxovo veľmi podobný Swiftu. Ak by ste sa raz v budúcnosti rozhodli osvojiť si vývoj aj pre iOS, budete to mať o dosť jednoduchšie.

Vývojové prostredie

Vývojových prostredí existuje niekoľko: Netbeans, Eclipse, Inellij, Visual Studio Code… Podľa mňa je ale najlepšia alternatíva Android Studio. Je to nadstavba Intellij, ktorá má rozšírenú utilizáciu okien zameranú práve na vývoj Android.

Gradle

Gradle je scriptovací jazyk, ktorý slúži na vytváranie a configuráciu Android projektov. Zo začiatku tomuto nástroju nebude potrebné plne rozumieť, ale je dobré si spomenúť niekoľko kľúčových častí.

Dependencies - app/build.gradle

dependencies {  ...}

Najčastejšie budete upravovať časť súboru, kde sa dopĺňajú knižnice. Android je rozbitý do desiatok menších knižnic, ktoré viete pri vývoji využiť.

defaultConfig - app/build.gradle

defaultConfig {        applicationId "com.example.app"        minSdkVersion 24        targetSdkVersion 31        versionCode 1        versionName "1.0.0"    }

V tejto časti, definujete základné parametre pre vašu aplikáciu. Ide hlavne o parametre, ktoré okrem iného aj určujú, pre aké zariadenia je aplikácia určená.

buildTypes - app/build.gradle

buildTypes {  debug {    ...  }  release {    ...  }}

Tu sa definujú varianty buildov. Čo to znamená? Definujú ako majú skompilovať zdrojové kódy. Pri vývoji sa zhotovuje väčšie apky, lebo zahŕňa v sebe veľa nepoužitých zdrojových kódov. Jedná sa hlavne o zdroje zo samotných knižníc. Zároveň tu viete aj určiť, že či je aplikácia čitateľná systémovým logovaním alebo nie. Napríklad, ak chcete nahrať aplikáciu do obchodu, potrebujete ju prvé podpísať a zároveň musí mať vypnuté aj debugovanie.

Miliónový plan

Vysvetlili sme si gradle a ovládate syntax jazyka. V hlave už máte nápad, ktorý chcete realizovať. Existuje istá pravdepodobnosť, že ho možno ani nikdy nedokončíte. Je však užitočné si vziať niečo aj z tejto skúsenosti a zamerať sa hlavne na to, aby ste sa niečo naučili.  Moje začiatky s programovaním Android aplikácií zahŕňali desiatky hodín strávených pri YouTube videách, pomocou ktorých som sa vzdelával. Dnes by som osobne zvolil efektívnejšiu voľbu a to kurzy cez Udemy, ktoré majú naozaj dobrý obsah. Je tam množstvo užitočných kurzov ako začať.

Disciplína

Z počiatku môžete byt zahltený množstvom informácií. Ak je vám nejaká časť alebo prístup nejasný, odporúčam si to vygoogliť. Na každú triedu, riešenie či návrhový vzor existujú desiatky článkov, ktoré vám danú problematiku vysvetlia. Tie najnovšie technológie nájdete aj na našom blogu v sekcií Mobile. Niektorým veciam na začiatku bude možno ťažšie rozumieť, ale postupne to pôjde ľahšie a ľahšie. Veď predsa ani Rím nebol postavený za jeden deň.

Moje skúsenosti hovoria, že začať odznova nie je žiadna hanba, pravé naopak. Stratégiou pokus omyl som získal mnoho skúsenosti a informácii. Naučil som sa ísť krok po kroku, pomalšie ale strategicky. Nie len že budete vedieť porovnať funkcionalitu oproti predošlému riešeniu, ale taktiež získate prehľad o tom, ktorá implementácia vám viac vyhovuje. Každá implementácia, každý prístup ma svoje vlastné plusy a mínusy. Opakovanie je matka múdrosti, myslím si, že toto príslovie vieme využiť aj písaní kódov. Práve opakovaním sa si upevňujeme vedomosti, logické súvislosti a technický slovník.

Pracovať s vedomosťami, ktoré ste sa naučili je ako keď si pozriete film alebo serial. Pri každom opätovnom pozretí si všímate iné veci a detaily, ktoré ste si predtým nevšimli.

Držím vám palce! Štart!

Tomáš ParonaiAndroid Developer