Kariera Javowca - technologie warte poznania

2

Witam was
chciałbym spytać, jakie technologie/jezyki itd. warto poznać mając aspiracje na programiste javowego?:)
Wstępnie jestem calkowicie amatorem, ale ciagle sie rozwijam. Slyszalem, ze warto znac JavaScript, porzadnie html i css, bo to nieodłączny element dla developera javyEE. Chciałbym poznać wasze zdanie, czy to z autopsji czy domyśleń, co warto poznać. Pewnie powiecie "to, to i wiele wiele innych", prosze jednak o sprecyzowanie, które to te "wiele innych" :)

Tak miedzy wierszami
Jaki język polecalibyście do "oderwania" od swiata javovego? coś np do pisania prostych gier, aplikacji desktopowych, tylko nie na zasadzie "jezyk-krzak", ale żeby dał jakiś pożytek na przyszłosc ;)

pozdrawiam!

0

Google: stos JEE, stos Springa :)

0

co masz na myśli mówiąć "stos" JEE i Springa? wszystkie technologie w nich zawarte? ;p

1

Tak. Bo korzysta się z nich zwykle "wspólnie". Średniej wielkości projekt JEE będzie korzystał np. z:

  • CDI do dependency injection
  • JSF jako frontend
  • JPA jako warstwa DAO
  • EJB jako warstwa logiki
    Może też korzystać jednocześnie z JAX-WS / JAX-RS do komunikacji z innymi systemami / do wystawiania jakichś funkcjonalności na zewnątrz.
    Analogicznie podobny system pisany z użyciem Springa będzie korzystał ze
  • Spring IoC do dependency injection
  • Spring MVC jako frontend
  • Spring Data do DAO
  • POJO anotowane przez Service/Component jako warstwa logiki
    etc.
    Siłą rzeczy w jednym projekcie musisz znać przynajmniej kilka technologii z danego stosu, bo inaczej nie dasz rady w tym klepać.
0

@Shalom bardzo ciekawe ująłeś mi temat całego swiata javy :D takiego czegos dlugo szukalem prawde mówiąc jakiś czas
Wlasnie kończe swój mini desktopowy projekt javowy i chce sie wziac za JEE mocno, jakbyś polecał zacząć temat?
Planuje zakupić ksiązke o servletach JSP/JSF zeby potem nie bylo ze springa zna a nie wie co to servlet :) Jednak nie wiem co po kolei robic, tyle rzeczy do ogarniecia ze trudno sie czegos złapać

Dokładniej jeśli o temat moj chodzi - mam na myśli technologie nie związane czysto z programowaniem w javie, a np dodatkowymi jezykami, programami, czyms takim jak JUnit(wiem ze to do testowania oprogramowania hehe) i pozostałe, coś czego w takiej pracy sie używa.

#edit
podobno nie ma glupich pytan, ale: co mam rozumiec pod pojeciem frontend i backend? frontend to interfejs graficzny, a backend cała logika aplikacji?

0

BTW. A co sadzicie o mieszaniu Javy EE i Springa? Moim zdaniem nie jest to bledem, nawet w erze CDI. Ja np. uzywajac Spring Security w aplikacji JSF latwiej korzystalem ze Springowego DI niz oficjalnego CDI (Java EE 1.6). Dzialalo to sprawnie mimo wiekszej ilosci jarow, ktorymi i tak latwo zarzadzac Mavenem.

0

@azalut po prostu zacznij ;) Kolejność nie jest kluczowa ;)
@Rybaa ja nie widze problemu, akurat JSF dobrze się ze springiem integruje i nie ma problemów. Tak samo JPA. Jeśli nie potrzebujesz serwera aplikacyjnego ani rozpraszania swojej aplikacji pomiędzy wiele serwerów to spring wydaje mi się bardzo dobrą alternatywą :) Zresztą ja spodziewam się że sporo elementów springa finalnie i tak wejdzie do specyfikacji JEE (już powoli tak się dzieje).

0

W sumie to podepnę się pod pytaniem, taka kolejność będzie ok, head first servlet and jsp -> spring in action ?

0

Ja nigdy z żadnej książki do tego nie korzystałem więc trudno mi sie wypowiadać.
Jeśli chodzi o coś "na początek" to:

0

Powinienes tez nauczyc sie korzystac z jakiegos profilera (chyba ze juz potrafisz).

0

Pozwolę sobie wtrącić w temat. Czy zna ktoś jakieś fajne tutoriale dotyczące budowania aplikacji czy to w Javie EE czy to w Springu? Chodziło by mi o coś w tym stylu:
http://www.javacodegeeks.com/2012/06/full-webapplication-jsf-ejb-jpa-jaas.html
http://luxlog.wordpress.com/2007/12/15/basic-example-web-app-with-glassfish-netbeans-60-jsf-and-ejb3/

Czyli takie tutoriale gdzie pokazane jest jak budować taką aplikację. Szukałbym też czegoś bardziej skomplikowanego niż powyższe aplikacje, bo tam raczej przedstawione są proste aplikacje typu CRUD.

Autorowi zapewne też przydadzą się takie linki.

2

Proponuję Ci stworzyć prostego CRUD'a razem z tutorialem, a następnie rozbudowywać go o kolejne ficzery czytając oficjalną dokumentację, stosując wzorce itp itd..

0

Shalom, azalut pytal z tego co zrozumialem (bez czepiania sie o slowka) o to, co dobry Javoviec powinien znac. Profiler to narzedzie do sprawdzania co tak naprawde dzieje sie w programie, mozna tym wylapac czy i gdzie nam pameic wycieka, sprawdzic dokladnie obciazenie jakie generuje program itp. Poczytaj sobie np. o VisualVM (jest dystrybuowany razem z nowszymi Javami Oracla).

Co do gier to zalezy w jaki target chcesz celowac, jesli webowe to HTML5 albo Java+libgdx, jesli nie tylko to moze Unity, ja bardzo lubie XNA, ale nie wydaje mi się zbyt przyszłościowe.

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