V tomto článku by som ti rád pomohol naplánovať si učenie sa Javy, čo najefektívnejšie. Možno si sa začal učiť alebo sa plánuješ učiť programovať v jazyku Java a nevieš, čo ťa na konci čaká. Možno si chceš dopredu určiť cieľ, čo chceš v jazyku Java programovať. Ak áno si na správnom mieste.
Základy jazyka Java
Najprv sa musíš naučiť základy jazyka Java – čo je to programovanie, trieda, objekt, instancia, rozhranie, metóda, ako to všetko spolu súvisí. Musíš sa naučiť základné štruktúry jazyka – podmienky, cykly a podobne. Naučíš sa čo je to OOP.
Pokročilé časti jazyka Java
Keď zvládneš základy, tak pokročíš na pokročilejšie časti jazyka. Musíš sa naučiť regulárne výrazy, debugovať kód, riešiť vlastné výnimky, ako pracovať so súbormi, kolekcie, generické programovanie a vnorené a vnútorné triedy, lambda výrazy, reflexia a anotácie.
Testovanie
Popri vývoji aplikácií si musíš osvojiť písanie testov pre kód, ktorý napíšeš. Musíš sa naučiť písať unit testy – napríklad pomocou JUnit frameworku. Vývoj môžeš začať tým, že začneš ako prvé písať testy. Teda budeš využívať TDD (Test driven development).
Verzionovanie
Pre vlastný vývoj a aj v práci potrebuješ vedieť nejakým spôsobom sledovať zmeny v kóde. Kedy nastali a podobne. Na tieto účeli sa používajú verzionovacie systémy ako napr. Subversion a GIT. Práve GIT by si sa mal naučiť – je najnovší a najpoužívanejší. Potom sa naučíš ako pracovať s GITom napr. vo vývojovom prostredí IntelliJ IDEA, v GitHube, BitBucket a podobne.
Buildovacie nástroje
Svoj kód musíš vedieť buildovať. Spracovať a vytvoriť z neho výslednú aplikáciu. Na tieto účely používame Ant, Gradle alebo Maven. Maven je najpoužívanejší ale aj Gradle si získava priazeň.
Programovacie pomôcky
Ak to s programovaním myslíš vážne, tak sa naučíš, čo sú to dátové štruktúry, naučíš sa design patterny (Builder, Factory, Singleton …). Naštuduješ si rôzne algoritmy a hlavne budeš veľa programovať.
Rozhodnutie
Keď toto všetko zvládneš, tak máš niekoľko možností kam sa vybrať. Budeš vyvíjať desktop aplikácie? Budeš vyvíjať mobilné aplikácie (Android)? Alebo budeš vyvíjať server side aplikácie? V tomto článku sa budem venovať poslednej menovanej hlbšie, ta poďme na to.
Vývoj server side aplikácií
Servlety
Ak chceš vyvíjať server side aplikácie tak sa musíš naučiť, ako pracujú Servlety a bolo by dobré vedieť používať aj staršie technológie ako JSP, JSTL, EL alebo JSF.
Databázy
Pri vývoji musíš vedieť používať databázy. Napájať sa na ne, robiť dopyty na databázu pomocou SQL príkazov. Neskôr budeš musieť používať frameworky, ktoré ti uľahčia prácu s databázou a s prepojením na javu. Nauč sa JDBC, JPA, Hibernate, QueryDSL.
Java EE
Enterprise architektúra a všetko čo s tým súvisí by malo byť v tvojom repertoári vedomostí. Nauč sa čo je to Rest, Soap, Dependency Injection a veľa iného.
Spring framework
Na konci sa budeš na 99% učiť používať Spring framework, ktorý sa používa nie len ako náhrada Java EE serverov, ale ako pomôcka, ktorá ti uľahčí celý vývoj aplikácii a dá ti do ruky obrovské množstvo vecí, ktoré vieš jednoducho používať. Minimálne ich jednoducho začneš používať.
Záver
Všetko toto čo spomínam v článku som spracoval vo forme kurzov:
https://www.learn2code.sk/instruktori/jaroslav-beno
Ak sa ti článok páči, tak tu máš viac:
Klikaj na jaroslavbeno.sk – na čo čakáš?
Sleduj ma na youtube – nechceš free videá?
Čítaj novinky na facebook – hmm?
Instagram musí byť, či? – instagram.
Niečo z profesionálnej oblasti linkedin.
Ja som Jaro a my sa vidíme, počujeme ak Boh dá nabudúce.
Čaves.