Wybóra -> Java i co dalej? ;-)

0

Witam!

Ostatnio miałem trochę okazję przypomnieć sobie programowanie w Javie i uznałem, że przeniosę się na nią z innych języków. W zasadzie to nie jestem programistą, tylko administratorem, ale nawet nielubiący programować Administrator musi czasem coś zakodować ;-)

Ale do sedna, chciałbym jedną stronę, która jest teraz napisana w PHP (z założenia miała być prościutka a jej funkcjonalność tak się rozrosła, że ciężko teraz utrzymywać ten kod) przepisać na Javę. Strona generuje automatycznie konfigurację dla urządzeń, przechowuje informacje o lokalizacjach i służy też do alokowania adresacji sieciowej.

Druga strona to natomiast taki trochę portal z wiedzą techniczną, lekko społecznościowy, newsowy. Podchodziłem do tematu już kilka razy za pomocą Joomli, Wordpresów itp, ale zawsze w pewnym momencie napotykałem jakieś irytujące ograniczenia. Zdecydowałem zatem, że jeśli samemu się to zaprogramuje to wtedy wreszcie będzie "uszyte na miarę" :-)

No i teraz pytanie ;-)
Odkąd zagłębiam się coraz bardziej w Javie to widzę, że sam wybór języka to nie wszystko. Trzeba sobie jeszcze wybrać w którą stronę pójść w tej Javie. Jeśli się nie mylę, to w przypadku programowania stron WWW dwa główne nurty to Spring i JEE. Który Waszym zdaniem jest lepszy i dlaczego? A może coś mylę i zupełnie inaczej powinienem podejść do tematu?

0

JavaEE to głównie specyfikacja. Spring jest frameworkiem dla JavyEE.

0

OK! Czyli JEE to głównie specyfikacja technoligii ala JSP i JSF a Srping to cały framework skupiony na robieniu stron?
Zatem lepiej wybrać Srpinga?

0

JEE i Spring to nie są "Technologie do robienia stronek". W skład JEE wchodzę między innymi specyfikacje: JSF (framework webowy), JAX-WS (web serwisy), JAX-RS (serwisy RESTowe), JPA (dostęp do danych), CDI (dependency injection), EJB (komponenty z bajerami typu transakcyjność, mogą być rozproszone). Spring posiada alternatywy dla powyższych + pewnie inne bajery. Ale raczej daleko poza Spring Core i MVC nie wyszedłem, więc nie wiem dokładnie.

0

Hmmm.... No to dalej nie wiem czego się uczyć, w którym kierunku pójść :-/

1

Zwykle się to po prostu łączy ;) Jeśli chodzi o warstwę Web i DI to brałbym Springa, ale użyłbym JPA (+ ew. Spring Data) jeśli chodzi o dostęp do bazy danych.

0

Może od tego http://www.tutorialspoint.com/ niżej po lewej znajdź sobie spring i klik

0
Shalom napisał(a):

Zwykle się to po prostu łączy ;) Jeśli chodzi o warstwę Web i DI to brałbym Springa, ale użyłbym JPA (+ ew. Spring Data) jeśli chodzi o dostęp do bazy danych.

To już znam i trochę zacząłem czytać, tylko zastanawiałem się, czy nie robię źle nie idąc w J2EE :-)

0

A jak to jest z serwerami do stron w Javie?
Gdy programowałem coś w PHP to nie było znaczenia czy wybiorę Apache, Nginx, czy jakikolwiek inny.
Z tego co widziałem do tej pory to wybór w Javie nie jest już chyba taki otwarty? Czy się mylę i mogę użyć Glassfisha, Tomcata, JBOSSa niezależnie od tego czy wybiorę Springa czy J2EE?

0

Do spinga wystraczy kontere servletow jak tomcat, do jee trzeba juz ciezki serwer jak glassfish.

moja rada, omijac jee, spring + hibernate/czyste JPA + jakis framework vaadin/wicket do weba

0

Staram się to rozszyfrować: "moja rada, omijac jee, spring + hibernate/czyste JPA + jakis framework vaadin/wicket do weba" :-D

  • omijać jee (dlaczego?)
  • używać spring + hibernate/czysta JPA (dlaczego? może głupie pytanie... ale dlaczego hibernate jest lepsze od JDBC?)
  • użyć jakis framework vaadin/wicket do weba (a to nie jest tak, że Spring jest już frameworkiem do aplikacji WEBowych w Javie?)
0

@rysic kiedys JEE było dużo bardziej skomplikowane i mało użyteczne (np. konieczność rozszerzania konkretnych klas / implementowania interfejsów przez obiekty zarządzane przez serwer aplikacyjny, brak DI etc) więc wielu ludzi się zraziło. Teraz na szczęście nie jest już tak źle i generalnie JEE i Spring oferują bardzo podobne możliwości.
JDBC to tylko technologia łączenia się z bazą. JPA czy Hibernate to jest ORM. To znaczy że możesz w swojej aplikacji zrobić sobie normalne klasy a potem ładować je do bazy i to JPA będzie sie martwić ja te twoje klasy upakować do tabel.
Spring ma swoje komponenty web -> Spring MVC i Spring Webflow ale nie musisz z nich korzystać.

0
rysic napisał(a):

Druga strona to natomiast taki trochę portal z wiedzą techniczną, lekko społecznościowy, newsowy. Podchodziłem do tematu już kilka razy za pomocą Joomli, Wordpresów itp, ale zawsze w pewnym momencie napotykałem jakieś irytujące ograniczenia.

Mozna wiedziec jakie to ograniczenia?

rysic napisał(a):

Zdecydowałem zatem, że jeśli samemu się to zaprogramuje to wtedy wreszcie będzie "uszyte na miarę" :-)

Brzmi to troche jak wymyslanie kola na nowo. Nie wiem jak w przypadku aplikacji do konfiguracji urzadzen bo moze akurat jest to projekt dosc specyficzny, ale jezeli mowa o portalu technicznym to zastanow sie czy rzeczywiscie warto tworzyc dedykowane rozwiazania. Bardzo czesto konczy sie to po prostu straconym czasem.

rysic napisał(a):

Jeśli się nie mylę, to w przypadku programowania stron WWW dwa główne nurty to Spring i JEE. Który Waszym zdaniem jest lepszy i dlaczego?

Moim zdaniem, nie mozna tego tak porownywac poniewaz w praktyce albo uzyjesz JEE bez Springa albo Springa z elementami JEE (glownie chodzi tu o JPA + spring-data-jpa). Oczywiscie nie musisz tego laczyc, ale to polaczenie jest calkiem ok.

Dla mnie najlepszym rozwiazaniem jest polozenie glownego nacisku na Springa z wykorzystaniem niektorych elementow JEE takich jak JPA. Chcialbym jednak podkreslic ze jest to moja subiektywna opinia.

rysic napisał(a):

To już znam i trochę zacząłem czytać, tylko zastanawiałem się, czy nie robię źle nie idąc w J2EE :-)

Zdaje sie, ze J2EE to historyczne wersje Javy Enterprice (do wersji 1.4). W stosunku do nowszych wersji uzywa sie skrotu JEE.

0

polecam Google Web Toolkit - narzędzie które pozwala pisać stronę klienta w Javie i kompiluje ją do Javascript-u.

po stronie serwera da się wykorzystać Spring, Hibernate i co tam chcesz.

nie jest wymagane korzystanie z Chmury Google i Google App Engine.

http://www.gwtproject.org/

przykład aplikacji (póki co działa tylko w przeglądarce Google Chrome, nie wiem czemu): https://artndharmat.appspot.com/#a

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