Start z webową Javą

0

Cześć,
Mam nadzieję, że nie jest to kolejny temat z cyklu "jak zacząć z ...". Myślę też, że obejdzie się bez zbędnych docinek typu poszukaj na google.yber

Znam javę SE. Znam mechanizmy dziedziczenia, wyjątki, Swinga. Znam też się nawet na algorytmice. Co nieco wiem na temat testów jednostkowych i wzorców projektowych.

Wiem, że jest duże zapotrzebowanie na webową Javę. Problem jest z tym, że kompletnie nie wiem gdzie zacząć. Jaka technologia jest godna uwagi? W czym głównie pracuje się w Polsce (bez docinek, please)?
Sam nie wiem co i jak, widzę często mnóstwo nazw EE, Maven, MVC, Hybernate, Glasfish, Spring i wiele innych, ale nie znam się i nie wiem co jest dobre :D

Prosiłbym o pomoc i pokazanie wskazówek co do dalszej drogi.
Pozdrawiam,
Marek

4

Maven to nie technologia webowa a technologia którą powinieneś juz znać bo sprawdza sie dobrze także w Javie SE :)
Istnieją generalnie dwa konkurujące zestawy technologii -> Java EE oraz Spring Framework. W rzeczywistości bardzo często stosuje się mix technologii z obu frameworków. Ale Java tzw "biznesowa" to nie tylko webowe interfejsy. Ba, właściwie webowe interfejsy to jest wierzchołek góry lodowej.
Java EE ma JSF, Spring ma Spring MVC i Spring WebFlow. Oprócz tego masz też "niezależne" frameworki webowe -> GWT/GXT, Vaadin, ostatnio dość popularny Play Framework i wiele wiele innych.
Oprócz tego oba stosy dostarczają też zestawy technologii do Message Passingu, Dependency Injection, WebServices, Dostępu do bazy danych (JPA, Hibernate).
Glassfish to jeden z serwerów aplikacyjnych Javy EE. Taki serwer jest konieczny jeśli chcesz uruchomić aplikację w JEE. Spring wystartuje na dowolnym serwerze/kontenerze webowym.

Nie ma niestety odpowiedzi na pytanie "co jest najlepsze". Nie ma też odpowiedzi na pytanie "co jest popularne" bo rożne firmy korzystają z różnych technologii.
Co warto poznać tak czy siak?

  • Technologię do Dependency Injection. Nie jest aż takie istotne czy będzie to CDI czy Spring DI bo oba oferują podobne możliwości i bardzo podobną składnie
  • Technologie ORM. Tu akurat nie ma co kombinować tylko brać JPA.
  • Jakis framework webowy. Ja osobiście wole podejście stosowne w Spring MVC niż to z JSF, ale generalnie są to porównywalne technologie.
0

Shalom,
Dziękuję ci bardzo za informację. A czy mógłbyś polecić mi przykładową kolejność nauki, jakieś projekty które mogę/powinienem po drodze wykonać i polecić książki lub tutoriale?

1

Trudno mi powiedzieć ;] Możesz popatrzeć na ten projekt:
https://github.com/Pharisaeus/SpringScaffoldApplication
to jest bardzo prosty stub aplikacji webowej z wykorzystaniem Springa i JPA. Do zbudowania potrzeba tylko mavena i wszystko śmiga od kopa.
Mozesz popatrzeć też na tutoriale tu: http://jaiswaltraining.com ta stronka wygląda tragicznie, ale wbrew pozorom tutoriale są całkiem znośne (ale uwaga! niektóre są dość stare!)

0

@Shalom
A miałbyś jeszcze jakieś inne pokazowe projekty do podlinkowania?

0

Nie ale w większości tutoriali masz zwykle na końcu paczkę z całą aplikacją którą opisywał tutorial.

0

Cześć,
A możecie napisać od czego zacząć? Bo nie napisaliście nic takiego w poprzednich postach.

2

Używam springa, więc ja zrobiłbym tak: poczytałbym co to spring, co to IoC, poduczył się jak ono działa na prostych przykładach, porobił jakieś klasy proste i powstrzykiwał, pocwiczył różne adnotacje tj. @Autowired, @Qualifier itp czyli podstawowe (poznasz je, teraz sie wydaja straszne spokojnie :P)

Potem jak sie spring spodoba do polecam Spring MVC, na początku dla mnie to była dzicz :o jakby nie poukłądane, potem okazało sie ze całkiem przyjemne, a w dodatku możesz podążać za trendem RESTful który teraz jest "propagowany" mam wrażenie. Jedyne co cie może zniesmaczyć to duża liczba konfiguracji, takze najwazniejsze co polecam podczas nauki javy dla aplikacji webowych to:
wszystko rób powoli, doczytuj co właśnie robisz, jeśli tego nie rozumiesz i nie rzucaj się na głeboką wodę bo sie zle skonczy :D

O mechanizmach tj. IoC czy MVC to nawet na polskich, wielu stronach lub blogach przeczytasz, wiec wpisz w google i na pewno znajdziesz. Zawsze lepiej zaczac w ojczystym jezyku

strony ktore polece, to:
jaiswaltraining ktore polecił shalom i to samo ostrzezenie: uwaga na przedawnione technologie
coreservlets.com
mkyong.com

Tutaj troche o IoC na poczatek:
http://www.mkyong.com/tutorials/spring-tutorials/
(możesz sie nieco zrazić robiąc te przykłady, więc polecam znaleźć jakis artykuł w guglu w stylu "szybki wstęp do springa" zebys uniknal robienia 30 przykładów z ktorych nic nie rozumiesz)

edit
wiele osob mowi ze warto zaczac od "servletów i jsp" bo to kolebka javy webowej i warto wiedziec jak to działa. troche się z tym zgodze, ale nie jest to jakies mega ważne, mnie sie przydalo ze 2-3 razy znajomosc czegos tam. takze jakbys miał chwile to zerknij dla przezorności ;)
tu masz nawet całkiem prosto prześmigane podstawy: http://javastart.pl/category/jee/

1 użytkowników online, w tym zalogowanych: 0, gości: 1