Přeskočit na hlavní obsah

Web development v Javě očima PHPčkáře

Rozhodl jsem se sepsat pár poznatků, které jsem při studiu Javy zatím získal. Jelikož z mého postoje je jasné, že PHP se pro mě stalo spíše zlem, hledal jsem jiný směr programování a oblíbil si právě zmiňovanou Javu. Důvody proč, jsem psal minule, dnes se spíše zaměřím na samotnou Javu a PHP nechám již pomalu odumírat :)

Vezmu to od začátku, jak se PHPčkář může postupně dostat k pochopení platformy jako je Java, aniž by trávil měsíce bádáním či vyhazoval tisíce za různá školení.

Prvním předpokladem k úspěšnému začátku je znalost OOP programování. Není zrovna snadná věc, přejít z procedurálního vývoje na objektový a přitom změnit jak logiku myšlení, tak pozměnit způsob programování. Zde osobně doporučuji podívat se právě na Javu či jiné čisté OOP jazyky jako C++ či C#. Jistě se Vám lépe bude učit na něčem, co je v oblasti OOP vývoje osvědčené. Všechny získané znalosti jdou víceméně použít i v PHP, takže se vývojář nemusí obávat, že bude muset ukončit vývoj v PHP.
Já osobně volil knížku od Rudolfa Pecinovského: myslíme objektově v jazyku Java 5.0. Musím přiznat, že jsem zejména pochytil dobré návyky při návrhu tříd a pochopil oč v oblasti OOP vůbec jde. Tyto znalosti jdou pak aplikovat ve větší míře i na PHP (samozřejmě, že např. polymorfismu si v PHP moc neužijeme :)).

Druhým krokem je praxe v OOP a tvorba tříd podle design patterns „návrhové vzory“, což jsou doporučení, které by měl programátor znát a pokud je to jen možné, držet se jich. Díky design patterns jsem mohl skutečně efektivně aplikovat OOP do praxe.

Tyto dva kroky mi zabrali 1 rok. Někomu se může zdát taková doba přehnaně dlouhá, avšak, pracující člověk, od kterého se očekávají výsledky, si nemůže dovolit jen tak trávit celé dny učením. Navíc ta praxe je zde dost důležitá a osobně si myslím, že během jednoho či dvou měsíců, by si dobré návyky v oblasti OOP vývoje, mohl osvojit jen génius.

Pak jsem přešel k něčemu složitějšímu a to byla knížka Java programujeme profesionálně od Bretta Spella. Kniha má přibližně 1000 stran a je to publikace určená vývojářům swingových aplikací. Samozřejmě, se swingem v Javě si hrál každý a tak i já jsem si hrál se základními komponenty jako jTable, jTree, apod. Samotné nasazení je pro mě však nemyslitelné, protože umět programovat front-end aplikace, ještě neznačí úspěch.

Přesměroval jsem se tedy zpět na web development. Zde je situace dost drsná, názvy frameworků, různá řešení, apod. jsou jen dobrým základem, jak si v této oblasti udělat v hlavě guláš :)

Po vyzkoušení různých tutoriálů na netbeans.org (vytvoření CRUD aplikace a základní tutoriály na JPA či JSF) jsem hledal něco obsáhlejšího. Naštěstí se na internetu dá nalézt spoustu knih ve formátu PDF, které stojí za to, si přečíst. Zde bych jen upozornil na skutečnost, že v češtině si toho moc nepřečtete.

Takže jsem začal s PDFkama...

Takže první věc, kterou je dobré vědět, je, že web development má několik částí. Nejsou to jen JSP stránky, ale také servlety či další objekty, které mají tu či onu vlastnost. Než začít psát čisté JSP-servlety, všude jsem se dočetl o doporučení, použít nějaký ten framework, používající MVC pattern. O tom, co je MVC jsem už něco věděl, ale co se týče výčtu frameworků (Struts, JSF, Seam, Spring, Struts 2, Tapestry, atd. atd.), nevěděl jsem po čem sáhnout.
Nakonec jsem si vybral JSF, opět na doporučení. Jedná se komponentově orientovaný framework a na rozdíl od Tapestry je vyvíjen přímo Sunem, což mu dodává určitou standardizaci.

JSF má vlastní tagy, pomocí kterých lze definovat JSP stránku. Tyto tagy mají spoustu vlastností a je možné libovolně vytvářet nové a nové. Hodnoty či atributy těchto tagů se definují backend beany. Jsou to třídy, které mají definované atributy třídy a k nim setry a getry. Kromě těchto základních atributů existuje ještě možnost definovat metody s parametry ActionEvent, které pracují na základě uživatelských akcí. Celá problematika je samozřejmě mnohem rozsáhlejší. Existuje zde vlastnost jako je navigation, která určuje navigaci stránek podle aktuálního stavu modelu, apod. celá tato problematika je krásně popsaná v knize JSF in Action, u které jsem vlastně nyní i já (cca. 150 stránka z 1076 :)).

Uvidíme, kam se moje znalosti dostanou, zatím kromě pár tutoriálů a vlastních zkoušek s JPA či JSF, jsem získal nadhled nad základním rozdělením webového vývoje v Javě.

Tímto článkem jsem chtěl jen ukázat to, že zkoušení nových věci by se neměl bát nikdo, kdo to s programováním myslí vážně. Tento obor je dost progresivní a tak se musíme chovat i my vývojáři. Spoustu lidí dělá chyby, ale tou nejzásadnější je, zkoprnět a přestat se snažit získávat nové znalosti.

Komentáře

  1. Perfektní, jsem rád, že jsi se rozhodl psát o Jave ve spojení s webem.
    Kniha od Pecinovského je výborná, myslím, že u nás není kniha, která by poskytovala lepší úvod do OOP. O druhé knize, kterou uvádíš, jsem také uvažoval, ale nakonec jsem si vybral Java kuchařka programátora a zatim se mi líbí...zhodnotím, až budu na konci:)

    OdpovědětVymazat
  2. Jenom takova mala drobnost. C++ neni ciste OOP jazyk. Je to jenom rozsireni stareho proceduralniho C o podporu objektovych vlastnosti, nic ti tedy nebrani(krome vlastniho svedomi) psat v C++ proceduralne.
    Jinak ja taky zacinam s JSP (s klasickou Javou uz mam nejake zkusenosti mam) pote co jsem zavrhnul PHP, na kterym me vadi hlavne urcita rozbredlost(vseho moc skodi) a vetsi neprehlednost kodu ve srovani s Javou, ktera je vystavena na solidnich dobre promyslenych a praxi odzkousenych principech. To se potom koduje uplne jinak :)

    OdpovědětVymazat

Okomentovat

Populární příspěvky z tohoto blogu

Jak si v IT vydělat hodně peněz?

Na začátek by bylo dobré, abych objasnil samotný titulek, který může na někoho působit jako červený hadr. Článek nebude o obecných pravidlech, ale bude vyprávět můj vlastní příběh, na kterém vám zkusím ukázat, jak se dá docílit úspěchu, či alespoň správně nastartovat svojí vlastní kariéru v IT.

I když se z názvu článku dá dedukovat, že se vše bude točit kolem peněz, není tomu tak. Alespoň ze dvou třetin určitě ne. Ale to už předbíhám, pojďme to raději vzít hezky popořadě...

Kdybychom měli mluvit o roce 2017 jako o přelomové době, nejspíše to nebude pravda. I když pro někoho to může být rok plný úspěchů a štěstí v podobě narození zdravých dětí, svatby či první velké lásky, tak z pohledu lidstva se jedná o rok, který jen kopíruje předešlé a v oblasti technologií nás posouvá stejným tempem jako rok předtím.

Jsem naprosto přesvědčen o tom, že i když se současná doba tak nenazývá, tak prožíváme dobu, která jednou bude označena za revoluční, a to zejména díky vynálezu internetu, který je s…

Jak by se firmy neměly chovat k programátorům?

Každý, kdo pracuje v IT oboru, se jistě již setkal s různými „geniálními nápady“, od kterých si firma slibovala zlepšení produktivity či snížení nákladů. Ať už je to zavedení agilních principů, striktní kontrola práce či zavedení nové a skvělé metodiky, o které si „šéf“ přečetl včera na internetu. Jsou z toho skutečně tak nadšení i samotní vývojáři? A bude nový nápad fungovat?
K napsání tohoto článku mě navedly různé programátorské diskuze, kde si lidé stěžovali na firmu, kde pracují. Příklady, které zde uvedu, jsou z reálné praxe. Ať už jsem je zažil jako řadový programátor, či jako šéf týmu.
I když je poptávka po programátorech tak vysoká, že Vás headhunteři nahánějí i ve chvílích, kdy o to opravdu nestojíte, tak i přes to je mnoho lidí, kteří se bojí opustit svoje současné zaměstnání.
Čeho se nejčastěji bojíme? Je to samozřejmě nejistota, kterou si často omlouváme větami jako: „Tady mám své pohodlí, co když to jinde mít nebudu?“ nebo „I když mě to v práci štve a nebaví, tak mě ale…

Jak jsem technologicky postavil startup

Tento příběh pojednává o technologiích, nástrojích a vůbec o všem, co jsem potřeboval k tomu, abych byl schopen, postavit startup na zelené louce.

Každý správný příběh začíná stejně: "Jednou jsem...."

Kapitola první: Nápad
Jednou jsem se setkal s člověkem, který měl nápad na produkt, který se v průmyslu zatím nevyskytuje. I přes prvotní skepsi, kdy jsem si říkal: "Tohle už přeci dávno v průmyslu existuje, ne?", jsem došel ke zjištění, že nikoli.

Tím jsem se dostal ke svému prvnímu poučení. Průmysl je technologicky dost zabržděný. Osobně se domnívám, že těch důvodů, proč tomu tak je, je několik. Za prvé je to fakt, že většina lidí, kteří se pohybují v tomto odvětví jsou často konzervativní a za správné považují pouze léty osvědčené věci. Druhým důvodem je to, že jakákoli změna znamená riziko. Ať už z pohledu finanční ztráty tak i z pohledu stability výroby. No a třetím a nejzásadnějším důvodem je to, že ač zde máme spousty technologických vymožeností, narážíme na to,…