Jarosław Szczepankiewicz

Jarosław Szczepankiewicz Lead Technical
Consultant

Temat: Jak się teraz pisze w Javie?

Java nigdy nie była "sprzedawana" przez możliwości GUI i nie traktowanie na równym poziomie co w .NET w kwestii innowacji GUI. Po pierwsze nie nazwałbym Swinga porzuconym, po prostu przestano w niego specjalnie mocno inwestować, co nie znaczy że nie można w nim fajnych rzeczy robić. Najbardziej rozbudowanym, dojrzałym i kompleksowym "podejściem" do budowania aplikacji opartych na Swingu jest netbeans platform:

https://netbeans.org/features/platform/Ten post został edytowany przez Autora dnia 08.06.13 o godzinie 19:24

konto usunięte

Temat: Jak się teraz pisze w Javie?

Generalnie strategia jest taka, że JavaFx ma zastąpić Swinga (choć pewnie szybko się to nie stanie). Oracle sugeruje aby nowe aplikacje graficzne pisać już w JavaFx. Fx nie jest już też taki nowy - jeśli dobrze pamiętam pierwsza stabilna wersja ukazała się może z 5 lat temu.

Fx jest już też częścią SDK więc nie ma problemu z dodatkowymi bibliotekami u klienta. Nigdy nie używałem Fx (w ogóle aplikację okienkową robiłem ostatnio może ze 3 lata temu) ale jakbym miał teraz pisać nową to z pewnością przynajmniej jakieś POC zrobiłbym w Fx.

Kiedy pracowałem nad swingiem WYSIWYG z Netbeans używało mi się przyjemnie (w zasadzie to używałem tego z MyEclipse ale to chyba jest właśnie ten z Netbeans przeportowany - Matisse). Nie jestem pewien czy jest odpowiedni edytor graficzny dla JavaFx.
Marcin Mroczkowski

Marcin Mroczkowski Programista JAVA/JEE

Temat: Jak się teraz pisze w Javie?

Michał P.:
Chciałem jeszcze wrócić do kwestii interfejsu. Z czasem jak poszerzam swoją wiedzę nt technologii Java (bo nazywanie tego językiem było by co najmniej krzywdzące), zauważyłem, iż jest silnie dedykowany pod Web. Poprawcie mnie jeśli się mylę. Ale próbując stworzyć aplikację Desktopową w Javie natrafiamy na całą masę problemów.

Niestety muszę stwierdzić, że w dużej mierze masz rację. Java nigdy przyjazna w tej kwestii nie była i moim zdaniem nie będzie. Przede wszystkim Java płaci dużą cenę za dwie swoje sztandarowe cechy: przenośność i kompatybilność wsteczną. To wymusza zastosowanie bardzo mocnej abstrakcji pomiędzy systemem operacyjnym, a naszą aplikacją.
Wielokrotnie uczyłem ludzi Javy (sam zresztą też uczyłem się od podstaw) i spotykałem się z szokiem, ile rzeczy trzeba umieć i wiedzieć, żeby zrobić poprawnie pierwsze okienko "Hello World". Z drugiej strony taki program wyświetli dokładnie tego samego "Hello World" na Ubuntu, czyli coś czego .NET nie potrafi i nigdy nie będzie potrafił.
W swojej historii "popełniłem" bardzo dużo aplikacji w SWINGU(od projektów studenckich, po projekt na certyfikat OCMJD) i muszę stwierdzić, że po przewalczeniu wszystkich trudności od layoutów, po model wielowątkowości, jest się nagradzanym bardzo sprawną i uniwersalną aplikacją.
Michał Pyclik

Michał Pyclik Architekt
Oprogramowania,
Biuro Projektowania
Systemów Cy...

Temat: Jak się teraz pisze w Javie?

Pawel D.:
(...)
Nie jestem pewien czy jest odpowiedni edytor graficzny dla JavaFx.
Jest, całkiem fajny nawet: http://www.oracle.com/technetwork/java/javafx/tools/in...
Szkoda tylko że jest zupełnie inne podejście do tworzenia interfejsu - css jak w html-u...


Marcin M.
W swojej historii "popełniłem" bardzo dużo aplikacji w SWINGU(od projektów studenckich, po projekt na certyfikat OCMJD) i muszę stwierdzić, że po przewalczeniu wszystkich trudności od layoutów, po model wielowątkowości, jest się nagradzanym bardzo sprawną i uniwersalną aplikacją.


A czy jest szansa żebyś się czymś pochwalił? :) Tzn. chciałbym zobaczyć jak to się robi na prawdę. Bo stworzyć aplikację w Swing jest prosto - będzie działać. Ale to jest jeszcze daleko żeby powiedzieć że się potrafi...
Np. implementacja MVC w Swing, albo czy korzystasz z WindowsBuildera czy wszystko z kodu? Etc. etc...Ten post został edytowany przez Autora dnia 09.06.13 o godzinie 14:55
Marcin Mroczkowski

Marcin Mroczkowski Programista JAVA/JEE

Temat: Jak się teraz pisze w Javie?

Michał P.:
A czy jest szansa żebyś się czymś pochwalił? :) Tzn. chciałbym zobaczyć jak to się robi na prawdę. Bo stworzyć aplikację w Swing jest prosto - będzie działać. Ale to jest jeszcze daleko żeby powiedzieć że się potrafi...
Np. implementacja MVC w Swing, albo czy korzystasz z WindowsBuildera czy wszystko z kodu? Etc. etc...

Pisałem od początku w kodzie i dlatego jak później znalazłem buildery, to nie miałem wcale chęci ich używać. Jak się później okazało wyszło mi to na dobre, ponieważ w certyfikacie nie mogłem używać żadnego generatora kodu.
Główny problem wcale nie leży tu po stronie samego projektowania widoku, może z wyjątkiem skomplikowanych layoutów, które potrafią być zawiłe. Najpierw warto zrozumieć rolę i działanie wątku SWINGA (event dispatching thread), bo bez tego najprawdopodobniej napisze się niestabilną aplikację i builder nic tu nie poradzi. Należy też koniecznie ogarniać model eventów i zastosowany tam wzorzec obserwatora.
Implementacja MVC w SWING to trochę mylenie pojęć, ponieważ SWING buduje gui i dostarcza listenery na eventy wysyłane użytkownika, więc występuje tylko w roli widoku. Jeśli aplikacja ma poprawnie zdefiniowany model i kontroler, to nie jest ważne jakiego widoku używa.Ten post został edytowany przez Autora dnia 10.06.13 o godzinie 11:12
Michał Pyclik

Michał Pyclik Architekt
Oprogramowania,
Biuro Projektowania
Systemów Cy...

Temat: Jak się teraz pisze w Javie?

Przeczytałem ten wątek jeszcze raz i nie znalazłem odpowiedzi na takie bardzo noobistyczne pytanie... Jaki framework (albo i technologię...) należy zastosować, żeby stworzyć minimalistyczną, najprostszą stronę w Java? Tomcat + JSP? Wszyscy piszą o JSP, JSF natomiast nie da się po prostu zmusić Tomcata żeby "rozumiał" Javę tak jak sam Apache dogaduje się z PHP?
Jarosław Szczepankiewicz

Jarosław Szczepankiewicz Lead Technical
Consultant

Temat: Jak się teraz pisze w Javie?

Michał P.:
Przeczytałem ten wątek jeszcze raz i nie znalazłem odpowiedzi na takie bardzo noobistyczne pytanie... Jaki framework (albo i technologię...) należy zastosować, żeby stworzyć minimalistyczną, najprostszą stronę w Java? Tomcat + JSP? Wszyscy piszą o JSP, JSF natomiast nie da się po prostu zmusić Tomcata żeby "rozumiał" Javę tak jak sam Apache dogaduje się z PHP?

Daj spokój JSP niech spoczywa w pokoju. Weź sobie springa + jakąś warstwę wyświetlania (z ostatnio ciekawych np. thymeleaf) i jedziesz. A jak chcesz robić "stronki" to zrób to w php, może być szybciej i mniej frustracji posuwania się po początkowej skali krzywej nauczania.

konto usunięte

Temat: Jak się teraz pisze w Javie?

Michał P.:
Przeczytałem ten wątek jeszcze raz i nie znalazłem odpowiedzi na takie bardzo noobistyczne pytanie... Jaki framework (albo i technologię...) należy zastosować, żeby stworzyć minimalistyczną, najprostszą stronę w Java? Tomcat + JSP? Wszyscy piszą o JSP, JSF natomiast nie da się po prostu zmusić Tomcata żeby "rozumiał" Javę tak jak sam Apache dogaduje się z PHP?

A ja odwrotnie niż kolega powyżej - powiedziałbym, że na start Tomcat/Servlet/JSP/jdbc. Najprostsza konfiguracja. Znajomość podstaw i tak się przyda. Dopiero jak już to ogarniesz to bym wybrał coś dalej (Spring, inny template engine, itd itp).
Michał Pyclik

Michał Pyclik Architekt
Oprogramowania,
Biuro Projektowania
Systemów Cy...

Temat: Jak się teraz pisze w Javie?

Jarku, chyba rozumiem Twoje stanowisko :-) Zapoznałem się już z Tomcatem Serwletami (o zgrozo!) i JSP (które akurat mi się spodobało). Musze przyznać że nawet w obliczu PHP + np. Smarty, wygląda to dość prymitywnie :D Aczkolwiek, zgadzam się z Pawłem - pierw trzeba ogarnąć coś łatwego.
ps. zauważyłem wiele zbierzności w JSP z ASP... i nie wiem czy mnie to cieszy :D
ps2. PHP jest nadal jednym z moich ulubionych języków i dla prostych rzeczy nie zamierzam z niego rezygnować :p
Kinga Odecka

Kinga Odecka Student,
Politechnika
Warszawska

Temat: Jak się teraz pisze w Javie?

Dla mnie PHP wygląda prymitywnie przy możliwościach tworzenia własnych taglibów na servletach/JSP, filtry też zapewniają ciekawe możliwości, więc może jeszcze trochę zbyt mało wniknąłeś w temat servletów i JSP.

Swoją drogą dziwie się, że SMARTY poszło w stronę dziwnych tagów {} zamiast po prostu html/xml, i tak się "kompilują", więc tylko przy parsowaniu było by gorzej z wydajnością, a same szablony by były dużo przejrzystsze i zaoszczędziłyby tysiącom ludzi czasu na męczenie się bez wsparcia IDE / tworzenie pluginów, edytorów, instalacji ich itd. a problemy z formatowaniem SMARTY w NetBeans mam nadal dosyć spore (np. przy umieszczaniu if-/if w jednej lini)

konto usunięte

Temat: Jak się teraz pisze w Javie?

Kinga O.:
Dla mnie PHP wygląda prymitywnie przy możliwościach tworzenia własnych taglibów na servletach/JSP, filtry też zapewniają ciekawe możliwości, więc może jeszcze trochę zbyt mało wniknąłeś w temat servletów i JSP.

Swoją drogą dziwie się, że SMARTY poszło w stronę dziwnych tagów {} zamiast po prostu html/xml, i tak się "kompilują", więc tylko przy parsowaniu było by gorzej z wydajnością, a same szablony by były dużo przejrzystsze i zaoszczędziłyby tysiącom ludzi czasu na męczenie się bez wsparcia IDE / tworzenie pluginów, edytorów, instalacji ich itd. a problemy z formatowaniem SMARTY w NetBeans mam nadal dosyć spore (np. przy umieszczaniu if-/if w jednej lini)

Składnia "<%= treść %>" jest zgodna z jakąś wersją XML-a czy HTML-a? Którą?
Większość (jeśli nie wszystkie) z systemów szablonów które poznałem używa jakichś dziwnych znaczków do zawarcia dynamicznej części strony. Smarty wybrało akurat jeden znak zamiast 3 - co jest bardziej czytelne.

@Michał: AFAIK JSP to najprostsze rozwiązanie do webdev w Javie.
Jeśli chcesz poznać coś bardziej rozbudowanego to zapoznaj się z Spring:

https://netbeans.org/kb/docs/web/quickstart-webapps-spr...

lub Spring Roo:

http://static.springsource.org/spring-roo/reference/ht...
http://www.springsource.org/spring-roo

lub ew. JSF:

https://netbeans.org/kb/docs/web/jsf20-intro.html
Michał Pyclik

Michał Pyclik Architekt
Oprogramowania,
Biuro Projektowania
Systemów Cy...

Temat: Jak się teraz pisze w Javie?

Piotrze, dokładnie to teraz przerabiam :) Tzn. Spring, Roo (rzucam okiem na EE min. JSF).
Natomiast o AFAIK nie potrafię znaleźć jakiegoś konkretnego info... (literówka?). Co to w ogóle jest? :>
Jarosław Szczepankiewicz

Jarosław Szczepankiewicz Lead Technical
Consultant

Temat: Jak się teraz pisze w Javie?

Piotr L.:
Większość (jeśli nie wszystkie) z systemów szablonów które poznałem używa jakichś dziwnych znaczków do zawarcia dynamicznej części strony. Smarty wybrało akurat jeden znak zamiast 3 - co jest bardziej czytelne.

są systemy templatów zgodne z xml / xhtml np. Thymeleaf. Oczywiście nie mają możliwości przeplotki kodu dynamicznego a raczej są do typowego MVC. Co akurat według mnie wychodzi tylko na dobre projektom,
@Michał: AFAIK JSP to najprostsze rozwiązanie do webdev w Javie.

Jednocześnie bardzo "nieświeże", jasne że można od tego zacząć ale jeżeli nie będzie się konserwować systemów legacy to raczej nie jest już zalecana technologia do nowych projektów

konto usunięte

Temat: Jak się teraz pisze w Javie?

Michał P.:
Piotrze, dokładnie to teraz przerabiam :) Tzn. Spring, Roo (rzucam okiem na EE min. JSF).
Natomiast o AFAIK nie potrafię znaleźć jakiegoś konkretnego info... (literówka?). Co to w ogóle jest? :>

AFAIK - As Far As I Know
AFAIR - As Far As I Remember
AFAIU - As Far As I Understand
itd...

http://www.potpourri.0nyx.com/acronyms.html
Michał Pyclik

Michał Pyclik Architekt
Oprogramowania,
Biuro Projektowania
Systemów Cy...

Temat: Jak się teraz pisze w Javie?

Piotr L.:
Michał P.:
Piotrze, dokładnie to teraz przerabiam :) Tzn. Spring, Roo (rzucam okiem na EE min. JSF).
Natomiast o AFAIK nie potrafię znaleźć jakiegoś konkretnego info... (literówka?). Co to w ogóle jest? :>

AFAIK - As Far As I Know
AFAIR - As Far As I Remember
AFAIU - As Far As I Understand
itd...

http://www.potpourri.0nyx.com/acronyms.html

A to po polsku się nie da? :)

konto usunięte

Temat: Jak się teraz pisze w Javie?

...Ten post został edytowany przez Autora dnia 30.07.13 o godzinie 22:48



Wyślij zaproszenie do