Java i aplikacje internetowe

0

Z jakiej najlepiej korzystać technologi do tworzenia aplikacji internetowych w javie? Co możecie poradzić?

0

Ja znalazłem takie listy:
http://java-source.net/open-source/web-frameworks

http://www.manageability.org/blog/stuff/how-many-java-web-frameworks/view

Ale co się nadaje, co jest cool to nie wiem. Co wy możecie polecić??

0

w Polsce najpopularniejsze są Struts (strasznie toporny, ale efektywny), Spring (elastyczny i naprawdę dobry. Mój faworyt), Cocoon (projekt Apacha, a to wszystko tłumaczy)

0

teraz takie super 'czoko' są JSF'y :) szybko i w miarę łatwo, b.dobre wsparcie w jDeveloperze i Netbeansie

0

@Shimmi przede wszystkim super wsparcie ze strony społeczności :)

0

Hmm widze, że każdy poleca coś innego :)

A co najbardziej nadawałoby się dla początkującego (łatwe do nauki, ale ze sporymi możliwościami - tak na dobry początek :D) do zastosowania w średniej wielkości aplikacji internetowej?

0

Ja proponuję:

Ant + AppFuse + Spring + JSF (nie korzystałem, ale to przyszłościowa technologia) + oczywiście JSP + DisplayTag + Hibernate + Ajax + DWR

Na początek Ci to wystarczy :-)

Ant - usprawnia kompilację i zarządzanie plikami w Javie
AppFuse - program do tworzenia szkieletu aplikacji internetowej (prawdopodobnie tego właśnie szukasz!!)
Spring - lekki, ale potężny!, framework dla Javy. Zawiera m.in. kontener inwersji kontroli, zarządzanie transakcjami, framework programowania aspektowego, itp.
JSF - widok dla modelu MVC. Fajnie znać bo można się potem przerzucać na Enterprise Java Beans.
JSP - również widok
DisplayTag - pomocny komponent na początek
Hibernate - framework do odwzorowań obiektowo relacyjnych
Ajax- nowa technologia pozwalająca dynamicznie wykonywać zapytania do bazy danych bez koniecznośći przeładowywania strony
DWR - za pomocą JavaScriptu możesz wykonywać metody klas Javy. Ułatwia pracę z Ajaxem.

I wiele, wiele innych!! :D :D

0

@baterman, ja bym tak z tą mróweczką nie szarżował ;) Jako alternatywę proponuję Mavena.
Co do JSP/JSF to jest jeszcze Velocity. Nawet fajniejszy bo nie można wstawiać buraków typu połączenie z DB.
DWG - może GWT czyli odpowiednik z googla.

Dużo tego jest...

0

Lista mnie trochę przeraża ;) Widać ciężka praca przede mną ... :d

Dzięki za pomoc

0

Słuszna uwaga! (zarówno ta o ciężkiej pracy, jak o Mavenie ;-) )
AppFuse 2.x będzie wspierał Maven'a, a w ogóle to spotkałem się z opiniami, że warto się nim zainteresować bo jest lepszy od Ant'a. Osobiście nie miałem jeszcze okazji spróbować, ale niebawem się za niego zabiorę ;)
Powodzenia!

0

OK to króciutki wykład o mavenie dla batermana:
Maven jest lepszy od anta ponieważ:

  • sprawdza zależności pomiędzy bibliotekami
  • pozwala utrzymać jedno centralne repozytorium z bibliotekami, co jest ważne w np. korporacji

@michasiek, co do ilości pracy to nie zgodzę się. Po odbyciu lekcji obowiązkowej z ServletAPI wybierasz framework (mój typ Spring) i za jego pomocą tworzysz sobie jakąś mała zabawkę typu domowa biblioteka. Jedyna "czasochłonność" to konieczność czytania list dyskusyjnych...

0

Koziołek ma rację! Baby steps :) (thx za szybki kurs Maven'a ;-) ) Na pierwszy rzut oka strasznie tego dużo, ale powoli się wdrożysz.
Ważny jest wzorec Model-View-Controller, gdyż prawie w każdym frameworku go będziesz stosował. Ja również polecam Springa. Na necie znajdziesz sporo rzeczy na ten temat. Naprawdę polecam AppFuse'a. Jak go odpalisz to masz już gotową aplikację z logowaniem, wielojęzycznością, dostępem do Bazy Danych, różnymi stylami CSS itp. Wystarczy zacząć implementować swoją funkcjonalność.
Jako lekturę polecam Head First "JSP i servlety" (czy jakoś tak :]). Czyta się jak książkę dla debili, ale wiele uczy i gorąco Cię do niej zachęcam! Nauczysz się co to jest serlvet, jak go twrozyć i obsługiwać, jak dorzucić do tego stronkę JSP i wiele innych przydatnych rzeczy.

Powodzenia!

0

Co do HeadFirstów to jest jeszcze Head First EJB o komponentach biznesowych. Dodatkowo z Heliona/Wroxa polecam SpringFramework (taki czerwony). Ostatnio znalazłem też polskojęzyczną książke o Hibernacie z wydawnictwa APress w polsce wydał to PowerNet. Hm... @baterman to było omówienie czym się różni mvn od mrufki®. Szczegóły → http://www.jdn.pl/node/7

0

Szukając literatury odnalazłem w sieci dwa ebooki:

Core Servlets and JavaServer Pages
http://pdf.coreservlets.com/

Spring Framework dla praktyków
http://www.jdn.pl/spring-dla-praktykow

Szukam dalej :)

A co do AppFuse, jakoś średnio mi się uśmiecha. Gotowiec od razu, zero zabawy, zero nauki ;)

0

EJB nie polecam na początek ;-)

0

@baterman, dlaczego nie? Dobra rzecz po odrobieniu pracy domowej z ServletAPI. EJB3 są już naprawdę fajne. Oczywiście ich użycie na spółkę z np. Springiem wymaga troszkę wprawy i dużo doświadczenia w integrowaniu softu, ale w nauce chodzi o zabawę :)

0

Na pewno dobra! Ja też się za nią w przyszłości zabiorę, ale najpierw opanuję dobrze to co już umiem ;-)

0

Znalazłem taki ala kurs online:

http://www.javapassion.com/j2ee/#Web_Application_Security_Threats_and

Pliki w formie wykładów ;)

0

A co powiecie o tym:
Java EE 5.0 vs. Spring
http://www.jdn.pl/node/1055

0

Czytałem to i powiem tak.
Spring bo jest po prostu łatwiejszy do opanowania. Jednak JEE5 ma jedna zaletę jaką jest wsparcie przez SUNa :)

0

A co byście polecili do AJAXa?

0

@magdaleniasz, trochę nieprecyzyjne pytanie. AJAX jest dodatkową warstwą po stronie użytkownika zatem to co będzie na serwerze (JAVA, .NET, php, RoR) jest sprawą drugorzędną. Ja polecam Google Web Toolkit, bo jest:

  • w javie
  • jest prosty
  • jest kompletny
0
Koziołek napisał(a)

OK to króciutki wykład o mavenie dla batermana:
Maven jest lepszy od anta ponieważ:

  • sprawdza zależności pomiędzy bibliotekami
  • pozwala utrzymać jedno centralne repozytorium z bibliotekami, co jest ważne w np. korporacji

No, tu bym polemizował. W teorii rzeczywiście to ładnie działa, ale niestety w praktyce mieliśmy okazję bawić się mavenem (w dużych projektach, właśnie w korporacji) i jest to dosyć uciążliwe. W repozytoriach publicznych nie ma wielu ważnych bibliotek, zależności są do d**y zdefiniowane, a w samym mavenie są krytyczne błędy, nie mówiąc już o kiepskiej jakości pluginach. Kończy się na tym, że musisz mieć w firmie jednego człowieka oddelegowanego do zarządzania lokalnym repozytorium. I jak bierzesz projekt do domu, to musisz mieć VPN by się do tego repozytorium wpiąć, bo inaczej nie skompilujesz (tzn. skompilujesz, ale znowu musisz sobie odpowiednio własne repo lokalne skonfigurować). Żeby zrobić testy funkcjonalne / integracyjne, trzeba sobie plugin pisać, bo nikt jeszcze nie zrobił, a i z testami jednostkowymi nie poszalejesz, bo plugin Surefire ma jakość alpha.

Zdecydowanie polecam ANT + IVY. Potrafi wszystko to co Maven (łącznie z możliwością korzystania z repo Ibiblio Mavena), ale zachowuje elastyczność ANTa i przy okazji jest to o niebo dojrzalsza i stabilniejsza technologia. ANTa można porównać do podejścia Unixowego (zestaw prostych i dobrych narzędzi, które można sobie w łatwy sposób integrować), a Mavena do Windowsowego (kombajn, który robi wszystko i zarazem nic dobrze, prócz najbardziej typowych zastosowań). Mnie odpowiada to pierwsze podejście.

0

Jednocześnie maven, wersja 2, jest przyjaźniejszy dla użytkownika. Nie trzeba tak ja k w antcie definiować skryptów w xmlu w postaci tasków. W dodatku Mavevn2 może uruchamiać skrypty anta.
Do testów jednostkowych świetnie sprawdza się jUnit.
Co do braków w repo, to raczej można powiedzieć iż panuje tam niezły bałagan. Jednak można też zdefiniować lokalne repozytorium które będzie głównym dla firmy. Dużo zależy od podejścia w firmie do procesu uruchamiania aplikacji. W modelu w ramach którego pracuję jest jedna osoba odpowiedzialna za kompilację i automatyczne testowanie całego softu. Jako że takiej roboty jest stosunkowo niewiele to zajmuje się ona też repo firmowym, svn/cvs i lunbuildem. W sumie jest to coś w rodzaju programisty-administratora.

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