Moim celem jest tworzenie aplikacji internetowych!
Skończyłem czytać książki „Headfirst - Java” i „Headfirst - Servlets and JSP”.
Ponieważ ten temat (aplikacje internetowe) jest tak obszerny i skomplikowany, chciałbym zapytać, czego powinienem się dalej nauczyć. Czuję się przeciążony czytaniem haseł typu Java EE, EJB, JSF, JPA, Glassfish ... ale nie poddam się.
Czy ktoś może mi powiedzieć, jak mam kontynuować naukę? Czy powinienem wziąć taką książkę: Rozpoczęcie platformy Java EE 6 z GlassFish 3: od początkującego do profesjonalisty, czy po prostu powinienem zrobić kilka samouczków online?
Dzięki!
java
jakarta-ee
web-applications
creativz
źródło
źródło
Odpowiedzi:
Nawet jeśli wiem, że będzie to kontrowersyjne, radzę zacząć tylko od Java EE 6. Więc chwyć GlassFish v3 i albo pobierz książkę Beginning Java EE 6 Platform with GlassFish 3: From Novice to Professional lub postępuj zgodnie z samouczkiem Java EE 6 . Moim zdaniem książka (którą zacząłem czytać, więc wiem o czym mówię) zawiera więcej wskazówek, które mogą być lepsze, jeśli „wszystko” jest dla Ciebie nowe (obejmuje zarówno platformę Java EE, jak i jej interfejsy API i środowisko do tworzenia i wdrażania aplikacji).
Teraz, jak powiedziałem, już słyszę głosy mówiące takie rzeczy, jak „Java EE jest ciężka, zamiast tego użyj Spring, naucz się Struts lub Wicket lub Stripes dla warstwy prezentacji, naucz się Hibernacji dla trwałości lub nie, ponieważ nie lubię ORM, zamiast tego użyj iBatis lub prostego JDBC (zobaczysz, jest fajnie ze Spring, Spring jest tak fajnie) i użyj Tomcat (a dlaczego nie Jetty) lub JBoss, lub po prostu zapomnij o tym wszystkim i idź na Grails, i bla bla bla … ” .
Ale nie sądzę, że to naprawdę pomaga i bez mentoringu lub wskazówek (i nie znajdziesz nieaktualnego, unikalnego zasobu obejmującego wszystkie kombinacje), musi to brzmieć bardzo zagmatwane dla początkującego.
Tak więc, ponieważ uważam, że Java EE 6 jest dużym ulepszeniem w stosunku do poprzednich wersji Java EE, ponieważ zapewnia naprawdę ładne standardowe API dla wszystkich Twoich potrzeb (Servlet 3.0, JSF 2.0, JPA 2.0, EJB 3.1 lite, Bean Validation 1.0, CDI itp.), bo te API są więcej niż przyzwoite, bo nie ma nic złego w ich nauce, bo to już jest duże zadanie, bo trzeba gdzieś zacząć , skupiłbym się tylko na Java EE 6 i zapomniał o na razie inne frameworki. Mówiąc dokładniej, zacząłbym od profilu internetowego Java EE 6 (a następnie dodałbym rzeczy, jeśli chcesz przejść dalej).
Robiąc to, 1) zaczniesz i nauczysz się zupełnie nowych rzeczy oraz 2) poświęcisz trochę czasu wszystkim innym frameworkom i / lub narzędziom na adaptację i udowodnienie, że wciąż jest na nie potrzeba. A jeśli tak, nadal będzie czas na eksperymentowanie z tymi, którzy przeżyli, i będziesz w stanie znacznie lepiej zrozumieć, dlaczego istnieją.
źródło
Moja rada 1 to przestać czytać książki i zacząć wdrażać różne rzeczy. Z mojego doświadczenia wynika, że nauka książek jest kiepskim substytutem wiedzy, którą zdobywasz, wykonując określone czynności.
1 - Kontekst: to rada dla kogoś, kto właśnie skończył czytać dwie książki na ten temat i szuka więcej książek do przeczytania. W praktyce musisz zrównoważyć czytanie i działanie. Zwłaszcza jeśli masz konkretny problem, który próbujesz rozwiązać.
źródło
reading
ipractice
.Java EE 6 jest naprawdę niesamowita. Jedynym problemem jest to, że ma około 2 tygodni, a obecnie jest tylko jeden pojemnik oferujący swoje funkcje - Glassfish.
Nie mam nic przeciwko Glassfish, używam go wszędzie, kilka instancji produkcyjnych, uwielbiam ten produkt i projekt.
To powiedziawszy, szczegóły Java EE 6 nie są tłumaczone z powrotem na Java EE 5. Niektórzy tak, wielu tak, ale profil sieciowy, serwlet 3.0, nowe typy Bean, JPA 2, itd. Tych nie ma.
Tak więc, ucząc się najpierw Java EE 6, po prostu ograniczasz się do jednego kontenera. Nadchodzi więcej, ale jeszcze ich nie ma.
Tomcat, JBoss, OpenEJB, Glassfish, Jetty, Resin, Geronimo itp. Działają dobrze ze specyfikacją Java EE 5 (przynajmniej te części specyfikacji, które obsługują, na przykład Tomcat nie ma EJB).
W Javie EE 5 nie przychodzi mi do głowy nic, co nie zostało przeniesione do Java EE 6. W Javie EE 6 niektóre bardzo stare aspekty były opcjonalne, a tych, których po prostu byś się dzisiaj nie nauczył. Java EE 6 sprawiła, że niektóre rzeczy związane z Javą EE 5 były jeszcze łatwiejsze (szczególnie pakowanie, na przykład EJB Lite).
Naucz się Java EE 5 teraz, aby móc faktycznie zastosować to, czego się nauczyłeś w różnych środowiskach, a nie ucząc się Java EE 6 teraz i odkrywając, że możesz nie być w stanie wykorzystać większości tego, czego się uczysz.
Żadna książka nie nauczy Cię tego, co powinieneś wiedzieć. Na przykład serwlety są dobrą podstawą, ale w przypadku wszystkiego, co jest większe niż kilka stron lub punktów końcowych, będziesz chciał użyć jednego z wielu frameworków innych firm lub JSF, a żadna książka nie obejmuje rdzenia, a następnie frameworka na górze tego.
Samouczek Java EE 5 jest dobry w zbijaniu podstaw, moja główna skarga jest taka, że nie pokazują ci kodu źródłowego. Oczekują raczej, że po prostu pobierzesz i uruchomisz. Nie jest to omawiane w samouczku. Uważam, że książki Head First są całkiem dobre.
W przypadku programowania internetowego surowe serwlety są wystarczająco ważne, aby zrozumieć cykl żądanie / odpowiedź, ale nie potrzebujesz głębokiego zrozumienia, aby przejść do platformy innej firmy.
Jestem wielkim fanem Stripes dla frameworka Action (w porównaniu z frameworkiem komponentowym), a jedna dostępna książka Stripes jest doskonała (co sprawia, że wybór jest łatwy).
Nie mogę zasugerować książki o frameworku Component i właściwie nie poleciłbym jej od razu. Struktury komponentów naprawdę zakopują podstawowe struktury żądań / odpowiedzi HTTP. Zakopują je z jakiegoś powodu i zyskują na wartości poprzez zakopywanie ich, ale uważam, że aby być skutecznym, musisz mieć solidne zrozumienie tych pojęć na wczesnym etapie. Dlatego nie proponuję najpierw nauki frameworka Component.
Struktura JAX-RS REST, zawarta w Java EE 6, ale łatwa do zainstalowania w Java EE 5 lub dowolnym kontenerze serwletów, jest doskonała. Zapewne tak powinien wyglądać Servlet 3.0. Ale nie znam żadnych książek na ten temat.
źródło
W przypadku Tomcat przeczytaj instrukcję w witrynie internetowej. To jest bardzo dobre. W szczególności kilka pierwszych rozdziałów dotyczących organizacji i wdrażania aplikacji internetowych oraz rozdziałów dotyczących interfejsu API serwletów i stron JSP.
Jak na wiosnę książka Manninga Spring in Action jest bardzo dobra. Podobnie jest z Hibernate (książka Manninga), ale myślę, że Hibernate jest w większości poza zakresem aplikacji internetowych. Ale twoja decyzja.
Furtka - również książka obsady. Ale tak naprawdę, po prostu napisz swój front-endowy kod w Javascript. To będzie mniej bolesne, IMO.
źródło
Nie będę komentował innych technologii, ale jeśli chcesz się nauczyć Hibernacji, weź „Hibernate Made Easy” Camerona McKenzie (www.hiberbook.com). To jest warte każdego grosza. Możesz dokończyć czytanie tej książki za 2 dni (dosłownie). to jest jak powieść, a na końcu masz do czynienia z Hibernate jak półprofesjonalista.
źródło
Jpassion zapewnia dobre filmy i materiały do nauki Java EE 6 i innych rzeczy.
Powinieneś również zobaczyć przykłady zastosowań:
źródło
Jeśli chcesz tylko tworzyć aplikacje internetowe w Javie, sprawdź Play Framework . Jest podobny do „Ruby on Rails”
źródło