Pisanie stron WWW w Javie.

0

Witam, zainteresowałem się tematem pisania stron WWW w Javie, dlatego mam kilka pytań.

  1. Czy Java jest powszechnie stosowana do pisania stron WWW? Oczywiście mam na myśli backend.
  2. Który popularny framework będzie najbardziej odpowiedni do takiego zadania? Spring?
  3. Czy na polskim rynku pracy jest zapotrzebowanie na strony WWW w Javie?
0

3x tak

2

Nie, w Javie pisze się aplikacje webowe a nie strony www. Co więcej, przy popularnym backend-as-a-service w zasadzie nie ma znaczenia co będzie na "froncie" bo tego samego backendu może używać aplikacja mobilna, desktopowa i webowa.

0

ad 2. nie trzeba korzystać ze Springa, w zwykłej JavaEE + Hibernate też machniesz cały backend
Adnotacje to największy rak programowania, a spring psuje przyjemność z kodzenia

w JSP się pisze strony www :D
w doGet doPost piszesz cały backend ustawiasz atrybuty i przekazujesz sterowanie do widoku jsp w którym to wyświetlasz atrybuty ${sessionScope.lol1 } itp itd

0
  1. Czy Java jest powszechnie stosowana do pisania stron WWW? Oczywiście mam na myśli backend.

Duża część softu który istnieje ma backend napisany w Javie chociaż "postępowcy" najpewniej powiedzą że teraz to tylko Kotlin i niego się ucz, kompletnie zapominając o utrzymaniu istniejącego softu.

  1. Który popularny framework będzie najbardziej odpowiedni do takiego zadania? Spring?

W swojej karierze więcej razy spotkałem się z JSP niż ze Springiem.

  1. Czy na polskim rynku pracy jest zapotrzebowanie na strony WWW w Javie?

Zależy jak na to spojrzysz, w utrzymaniu starszych systemów najpewniej króluje JSP/Spring i zapotrzebowanie na utrzymaniowców starych monolitów jest. Jeżeli chcesz pisać nowe rzeczy to już raczej w mniej "barokowej" technologii, bo nie słyszałem aby ktoś zaczynał nowy projekt w JSP.

0

Backend aplikacji webowej możesz zrobić nawet w czystej Javie, używając com.sun.net.httpserver.HttpServer. Do prostej aplikacji, jak dla mnie spoko. Nie trzeba się babrać z zależnościami (nie lubię tych wszystkich mavenów i innych), kod kompiluje się momentalnie nawet na słabym sprzęcie, działa szybko, a kod też jest wporządk. Ma swoje słabe strony, jak na przykład pisanie do strumieni, ale w porównaniu z ogromem frameworków można zacząć robić konkretne rzeczy znacznie szybciej, a, i nie ma żadnych XMLi <3. Co więcej edukacyjnie, myslę że warto poznac podstawy, czemu w ogóle potrzebujesz frameworka (i CZY go potrzebujesz :D). Tylko do obsługi JSONa warto dorzucić JSON.simple...

0
elwis napisał(a):

w porównaniu z ogromem frameworków można zacząć robić konkretne rzeczy znacznie szybciej, a, i nie ma żadnych XMLi <3. Co więcej edukacyjnie, myslę że warto poznac podstawy, czemu w ogóle potrzebujesz frameworka (i CZY go potrzebujesz :D). Tylko do obsługi JSONa warto dorzucić JSON.simple...

No chyba nie, postawienie projektu w spring boocie z embedowanym tomcatem to jest 30 sekund, wszystko masz skonfigurowane, nie musisz ustawiać żadnych portów, resolverów i tak dalej. O xmlu nie wspomnę, nie wiem na którym etapie się zatrzymałeś ale xmla to można powiedzieć, że od lat się nie używa w springu. Nie wiem skąd ta niechęć do frameworków i wymyślanie koła na nowo, to że czegoś nie rozumiesz nie znaczy, że jest gorsze.

0
slayer9 napisał(a):

No chyba nie, postawienie projektu w spring boocie z embedowanym tomcatem to jest 30 sekund, wszystko masz skonfigurowane, nie musisz ustawiać żadnych portów, resolverów i tak dalej. O xmlu nie wspomnę, nie wiem na którym etapie się zatrzymałeś ale xmla to można powiedzieć, że od lat się nie używa w springu. Nie wiem skąd ta niechęć do frameworków i wymyślanie koła na nowo, to że czegoś nie rozumiesz nie znaczy, że jest gorsze.

Jeśli jesteś rutynowanym programistą w Javie i masz postawione środowisko to może i tak. Już samo postawienie mavena trwa i każe czekać zanim zaciągnie wszystkie zależności z których nie korzystam. To jest jedno. Drugie jest to, że może postawienie projektu trwa krótko. Zanim zorientujesz się jak jest poukładany framework, to już trwa. Dzięki mavenowi i wszystkim dodatkowym zależnościom, kompilacja też trwa. Ja nie lubię tyle czekać, wolę działać.

Ja nie twierdzę, że frameworki są złe, one po prostu nie odpowiadają moim potrzebom. Jeśli ktoś chce poświęcić swoją karierę robieniu backendów w Javie, to framework jest super, bo rzeczywiście nie bedzie robił tego samego za każdym razem. Raz brałem udział w programowaniu aplikacji na springu i było w porządku — musiałem tylko kodować endpointy i niczego się o springu nie nauczyłem, bardzo dobrze. Natomiast nauczyć się springa, żeby napisać jedną w życiu aplikację to przegięcie. Jak akurat zdarzylo się, żebym musiał napisać proste mikroserwisy w Javie to musialem sobie tylko przypomnieć 2 klasy i już wszystko wiem, mogłem przystąpić do działania, nawet maven mi nie był potrzebny. Natomiast kompilacja trwała tyle jakbym pisał w C, czyli w mgnieniu oka. xD Programowanie jest fajne, użeranie się z narzędziami, nie. :)

Natomiast jeśli o naukę chodzi, znajomość podstaw się przydaje, a im więcej frameworków tym bardziej się od nich oddalasz. I tyle w tym temacie.

1
slayer9 napisał(a):
elwis napisał(a):

w porównaniu z ogromem frameworków można zacząć robić konkretne rzeczy znacznie szybciej, a, i nie ma żadnych XMLi <3. Co więcej edukacyjnie, myslę że warto poznac podstawy, czemu w ogóle potrzebujesz frameworka (i CZY go potrzebujesz :D). Tylko do obsługi JSONa warto dorzucić JSON.simple...

No chyba nie, postawienie projektu w spring boocie z embedowanym tomcatem to jest 30 sekund, wszystko masz skonfigurowane, nie musisz ustawiać żadnych portów, resolverów i tak dalej. O xmlu nie wspomnę, nie wiem na którym etapie się zatrzymałeś ale xmla to można powiedzieć, że od lat się nie używa w springu. Nie wiem skąd ta niechęć do frameworków i wymyślanie koła na nowo, to że czegoś nie rozumiesz nie znaczy, że jest gorsze.

tu nie chodzi o to czy ktoś to rozumie, bo jest masa how to tutoriali na youtube w dodatku w języku polskim. Np. od Pana Artura Owczarka.
Tu chodzi o to że te rakowe adnotacje i cały mechanizm CRUDOWY niszczy przyjemność z pisania kodu, bo co z tego że to znasz (bo tak ma być i koniec) skoro nie wiesz co się dzieje pod spodem - możesz co najwyżej ustawić breakpointa w klasie której ty nie napisałeś i bawić się w detektywa.

2
  1. Czy Java jest powszechnie stosowana do pisania stron WWW? Oczywiście mam na myśli backend.

Tak, ale w Javie zwykle pisane są większe rzeczy niż proste strony typu sklep internetowy lub blog. Np Allegro chwaliło się tym że ich 200 mickroserwisów z php zostało przepisane do 600 mickroserwisów, głównie w Javie.

  1. Który popularny framework będzie najbardziej odpowiedni do takiego zadania? Spring?
  • Goły Spring Core jest głownie frameworkiem DI jak np mniej znany Guice. Można ich używać w każdym rodzaju aplikacji
  • Spring Boot i Spring Fu służą do pisania aplikacji z RESTowym API, alternatywą jest np DropWizard lub Ratpack
  • Spring MVC służy do pisania aplikacji webowych, które generują HTML po stronie backendu, alternatywą jest np DropWizard z szablonami Mustache lub Freemarker
  1. Czy na polskim rynku pracy jest zapotrzebowanie na strony WWW w Javie?

Od ośmiu lat pracuję jako programista Javy i tylko w pierwszej pracy przez pół roku rozwijałem aplikację z "twardym" (nieprzeglądarkowym) klientem w Javie. Więc uważam, że jest. Gorzej tylko, że zwykle chcą legendarnego fullstacka (zwykle Java + Angular). O czysty Backend trudno, przynajmniej na Górnym Śląsku

BTW. Jeśli mieszkasz w większym mieście niż Gliwico-Katowice to polecam naukę Kotlina/Scali. Dalej można używać Springa. Spring Fu posiada nawet dedykowaną wersję (Spring Kofu) dla Kotlina

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