2009-09-15 12 views
5

Jestem nowy w Javie. To było tylko sześć miesięcy, ale rozumiem Javę.Co to są Groovy/Grails/Hibernate/JBoss/Jade w bardzo prostych słowach?

Podczas czytania o niej czasami spotykam tych terminów - Groovy, Grails, Hibernate, JBoss, Jade i wiele innych.

Wiem, że mogę przeczytać o nich osobno. Ale czy ktoś może mi dać widok drzewa na to, co się tutaj dzieje? Co to jest? Mamy Javę i są one oparte na Javie? Dlaczego tak wiele rzeczy? Dlaczego ich potrzebujemy?

Odpowiedz

15
  • Groovy jest własnym językiem programowania, ale działa na maszynie wirtualnej Java.
  • Grails to framework aplikacji internetowych dla Groovy (buduj strony internetowe z obsługą baz danych).
  • Hibernacja to narzędzie do mapowania obiektów Java na tabele bazy danych iz powrotem.
  • JBoss to serwer aplikacji Java, na którym można wdrażać aplikacje internetowe.
  • Jade, jak sądzę, to framework do budowania rozproszonych "agentów" w Javie.

Aby odpowiedzieć, dlaczego je mamy: języki programowania to za mało. Jeśli miałbyś mi powiedzieć w wywiadzie "Znam Javę", ale nie wiedziałem o takich rzeczach jak Hibernate, Spring, log4j, JAXB itp. Powiedziałbym, że nie znasz Javy. Dzieje się tak dlatego, że nikt już nie buduje aplikacji z tylko podstawowym językiem. Ponownie wykorzystują struktury i komponenty, dzięki czemu mogą poświęcić mniej czasu na tworzenie infrastruktury i więcej czasu na rozwiązywanie problemów biznesowych. Tak więc, Hibernate, JBoss i Jade to platformy lub platformy wielokrotnego użytku dla języka Java. Podobnie Grails jest szkieletem dla języka Groovy, z których oba wspierają integrację z Javą.

To fajny czas, aby być programistą, ale jest też tak wiele nauczyć :-)

+0

cool! Zastanawiam się, dlaczego nic podobnego nie stało się z innymi językami - C/C++? – Lazer

+1

Myślę, że to do pewnego stopnia w Ruby, Groovy, może innych. Istnieje wiele bibliotek dla C++ (np. Boost), ale nie ma wielu, które stały się standardami de facto, podczas gdy w Javie są. – SingleShot

1

The Java Posse rzeczywiście mówił o tym krótko w jednym ze swoich ostatnich wiadomościach. W wielu kręgach programistycznych istnieje generalnie jedna duża biblioteka lub framework do określonego celu (Python ma tendencję do takiego stanu). Ale w Javie często jest ich więcej niż jeden, jak wspominasz. Spekulowali, że dzieje się tak dlatego, że społeczność programistów Java to , tak duża,, że po prostu jest wystarczająco dużo miejsca na więcej niż jedno główne rozwiązanie tego samego problemu.

Powiedziawszy to, projekty, o których wspominasz, są faktycznie zaprojektowane z myślą o różnych celach.

Jeśli masz ochotę posłuchać podcastów, polecam program Java Posse, aby zapoznać się z nowymi technologiami i związanymi z Javą.

0

Niektóre z nich są analogiczne i nie są idealne. Jest to nadmierne uproszczenie, ale powinno dać ci punkt wyjścia do dokładniejszej informacji. Groovy jest Ruby, ale działa na JVM. Grails to java wersja Ruby on Rails używająca Groovy zamiast Ruby jako języka programowania. Hibernate to Object relational mapper, który jest używany przez wielu programistów Java i jest również używany w strukturze Grails. Jboss to Apache, ale uruchamia kod Java zamiast CGI lub PHP. Nie wiem nic o Jade, więc odniosę się do odpowiedzi SingleShota. Mamy tak wiele rzeczy, ponieważ społeczność Java jest ogromna, a ludzie mają własne pomysły na to, jak należy coś zrobić. Nie potrzebujemy ich od strony technicznej, ponieważ Java jest kompletna, ale zwiększa wydajność programistów. Używanie Grails jest o wiele łatwiejsze niż ręczne pisanie plików Spring XML.

+2

JBOSS nie jest Apache i nigdy nim nie był. Był to serwer aplikacji Java EE o otwartym kodzie źródłowym, którego firma została kupiona przez Red Hat. Nie można nawet powiedzieć, że serwer aplikacji Java EE "uruchamia kod Java zamiast CGI lub PHP". – duffymo

+1

"Grails jest o wiele łatwiejszy w użyciu, niż ręczne pisanie plików Spring XML." - to jest po prostu złe. Konwencje Grails nie polegają na pozbyciu się konfiguracji Spring XML. Przepraszam, muszę głosować na tę odpowiedź w dół. Jest za dużo dezinformacji. – duffymo

+0

Nie zgadzam się również z tym, że "Groovy to Ruby na maszynie JVM" - JRuby to Ruby na maszynie JVM, Groovy jest bliższy Java niż Ruby. Grails pożycza pewne konwencje od Railsów, ale jest też całkiem inny w swoim podejściu do modelowania bazy danych. – leebutts

0

JADE (Java Defendment Framework) to framework programowy w pełni zaimplementowany w języku Java. To upraszcza wdrażanie systemów wieloagentowych poprzez środkowy-ware, który jest zgodny ze specyfikacją FIPA i za pomocą zestawu narzędzi graficznych, który obsługuje debugowania i fazy rozmieszczania

Więcej informacji: http://jade.tilab.com/