Jarosław Szczepankiewicz

Jarosław Szczepankiewicz Lead Technical
Consultant

Temat: Vaadin i doświadczenia

Pawel Dolega:
A co to jest czysty JS ? Dojo ? AngularJS ?

chodzi mi o warstwę widoku (+ jakąs część wchodzącą w walidację) pisaną w javascripcie, czyli wlasnie Dojo (na tyle na ile rozumiem jego działanie) i AngularJS

konto usunięte

Temat: Vaadin i doświadczenia

Kontrolki Dojo / jQuery mają podstawowe walidacje od ręki poimplementowane (używasz ich na podobnej zasadzie jak w Wicket-cie czy JSF, używając np. odpowiedniego atrybutu).

Na piechotę robisz customowe rzeczy (no ale to robisz też na piechotę w czymkolwiek innym).

edit: A sorry za szybko odpowiedziałem. Nie takie było pytanie. Jeżeli chodzi o oryginalne pytanie to nie wiem co Ci za bardzo odpowiedzieć poza: Można. Szczerze mówiąc po kilku latach w Wicket-cie i dotknięciu kilka razy GWT myślałem, że pytanie powinno być raczej odwrotne: "Jak można coś bardziej skomplikowanego pisać efektywnie w Wicket-cie / GWT (nie znam niestety zbyt dobrze JSF) tak by nie walczyć z materią ?". Po wypowiedziach osób w tym wątku widzę jednak, że można.Pawel Dolega edytował(a) ten post dnia 08.02.13 o godzinie 11:51
Jarosław Szczepankiewicz

Jarosław Szczepankiewicz Lead Technical
Consultant

Temat: Vaadin i doświadczenia

Pawel Dolega:
Kontrolki Dojo / jQuery mają podstawowe walidacje od ręki poimplementowane (używasz ich na podobnej zasadzie jak w Wicket-cie czy JSF, używając np. odpowiedniego atrybutu).

Na piechotę robisz customowe rzeczy (no ale to robisz też na piechotę w czymkolwiek innym).

edit: A sorry za szybko odpowiedziałem. Nie takie było pytanie. Jeżeli chodzi o oryginalne pytanie to nie wiem co Ci za bardzo odpowiedzieć poza: Można. Szczerze mówiąc po kilku latach w Wicket-cie i dotknięciu kilka razy GWT myślałem, że pytanie powinno być raczej odwrotne: "Jak można coś bardziej skomplikowanego pisać efektywnie w Wicket-cie / GWT (nie znam niestety zbyt dobrze JSF) tak by nie walczyć z materią ?". Po wypowiedziach osób w tym wątku widzę jednak, że można.

dzięki, generalnie nie podejmuje się tematu GWT vs javascript (Angular, DOJO) raczej interesuje mnie JSF 2 (wykorzystana z pełnym dobrodziejstwem inwentarza czyli wszystkie scopy, ajax itp.) vs wlasnie dlubanie w js'ie. Osobiście mam bardzo pozytywne zdanie w kwestii produktywności JSF 2 ale też nie mam za sobą przekrojowego doświadczenia w tej technologii i dlatego szukam opinii kogoś kto w obydwu technologiach dłubał i jest w stanie porównać i wyłuskać zalety i problemy w obydwu przez konfrontację bo taka wiedza byłaby najcenniejsza.
Jakub Grabowski

Jakub Grabowski Tworzenie aplikacji,
integracja SOA,
outsourcing,
szkolen...

Temat: Vaadin i doświadczenia

Pawel Dolega:
Szczerze mówiąc po kilku latach w Wicket-cie i dotknięciu kilka razy GWT myślałem, że pytanie powinno być raczej odwrotne: "Jak można coś bardziej skomplikowanego pisać efektywnie w Wicket-cie / GWT (nie znam niestety zbyt dobrze JSF) tak by nie walczyć z materią ?". Po wypowiedziach osób w tym wątku widzę jednak, że można.
GWT dobrze się sprawdza w specyficznych zastosowaniach, które mają bardzo rozbudowany model formularzy i skomplikowaną logikę ich walidacji, wypełniania danymi itp. (w tej chwili robimy np. workflow do zarządzania procesem prac planowych u operatora telekomunikacyjnego - drzewa, zaawansowane filtry, filtrowanie dużych tabel w oparciu o predykaty i operacje na kolekcjach, dużo zależności pomiędzy polami, zagnieżdżone modele). Zaczęliśmy używać GWT w 2008, gdzie de facto nie było jeszcze frameworka i dużo rzeczy trzeba było wymyślać samemu. Popełniliśmy sporo błędów i dużo się nauczyliśmy ;-)
Sporo się poprawiło po wprowadzeniu "Cell widgets" i "Editor framework", z tym że zmasterowanie tego drugiego dla zaawansowanych przypadków (np. listy widgetów, zagnieżdżone modele) wymaga sporo pracy, ale generalnie opłaca się.
Nie gloryfikuję GWT, bo uważam że ma swoje wady. Przede wszystkim:
1. Sporo "boilerplate", żeby pożenić model danych GUI i model biznesowy w EJB - to jest chyba główny ból i spora bariera przy mniejszych projektach.
2. Czas kompilacji dużych projektów (u nas w tej chwili 2-3 minuty na jedną przeglądarkę)
3. Dość wolne odświeżanie zmian w development mode
Podsumowując chciałbym mieć framework który dawałby możliwości GWT, ale żeby cały "development cycle" był tak szybki jak w Playu ;-)

Temat: Vaadin i doświadczenia

Vaadin, tak jak pisali poprzednicy, po oswojeniu pisze się dość przyjemnie, co więcej widać, że ten framework się ciągle rozwija. Chyba w dobrą stronę.

Zdarzyło mi się zahaczyć o Play! i wydaje mi się, że przeważa nad Vaadinem (wiadomo inne technologie, inne podejście) swoją prostotą i wyraźnym rozdzieleniem warstw.

Do małej/średniej wielkości projektu użyłbym Vaadin - szybkość developmentu, mnóstwo pluginów, możliwość tworzenia własnych widgetów.

Przy dużym i złożonym projekcie musiałbym się zastanowić.

konto usunięte

Temat: Vaadin i doświadczenia

Zainteresowaliście mnie tym vaadinem, na pierwszy rzut oka to framework zbliżony do JSFa. Nie dotarłem jednak do wszystkich rozwiązań pewnych zagadnień w tym środowisku, więc czy mógłby ktoś na szybko mi odpowiedzieć jak jest/może być rozwiązana kwestia:

-składanych widoków (czy jest jakaś wewnętrzna technologia, czy trzeba integrować z Tiles) ?

-kwestia URL-friendly/REST-URL (to samo - czy są do tego odpowiednie biblioteki, czy trzeba integrować z innymi frameworkami)

JSF nie przypadł mi do gustu, ale miał niewątpliwie tę zaletę że wszystko dało się łatwo integrować, np. powyższe zagadnienia rozwiązywały gotowe, dedykowane biblioteki "fejsowe" - Facelets, Pretty Faces itd. Nie chciałbym się przesiadać na coś, co dosyć nieźle rozwiązuje kwestię MVC i GUI, ale w pozostałych kwestiach milczy i zaczynaja się kłopoty...

konto usunięte

Temat: Vaadin i doświadczenia

Wszystko zależy od projektu.

Jeśli rozpatrujesz Vaadina pewnie robisz aplikację biznesową desktop-like. Vaadin jest super jeśli chodzi o development. Natomiast ma swoje wady. Vaadin jest najwolnieszym możliwym rozwiązaniem zarówno po stronie serwera jak i klienta. Cały model UI jest utrzymywany po stronie serwera, przesyłany jest JSON ze zmianami interfejsu i po stronie klienta jest tłumaczony na HTML. Mieliśmy spore problemy z wydajnością Vaadin 6. Podobno 7 jest lepszy pod tym względem. Vaadin nadaje się do korporacyjnych aplikacji najlepiej intranetowych. Nie nadaje się do publicznych (Kto pamięta KnowledgeBlackBelt...)

W moim przypadku bardzo dobrym wyborem okazał się JSF 2 + PrimeFaces. Problem jest taki, ze zespół musi rozumieć JSF. Wymaga specyficznego tworzenia logiki. Źle używany JSF rodzi więcej problemów niż zysków.

Jeśli chodzi o aplikacje klient-serwer to masz do wyboru Flex (ale bez kupowania Flash Buildera daj sobie spokój), ExtJS ($), Wijmo ($), KendoUI($) albo ostatecznie Dojo. Niestety z tego co widzę reszta to albo "szycie" HTMLa bez gotowych komponentów (AngularJS) albo geek-driven hipster-friendly frameworki, które nie osiągnęły nawet wersji 1.0 według autorów.

Obejrzałbym jeszcze ZK na Twoim miejscu.
Tomasz D

Tomasz D Programista
Java/JEE, freelancer

Temat: Vaadin i doświadczenia

O ile odnośnie Vaadina to się zgadzam, że jest wolny i raczej do intranetu to w pozostałych przypadkach Twoje wypowiedzi są dla mnie dyskusyjne.
Piotr Gwiazda:
Jeśli chodzi o aplikacje klient-serwer to masz do wyboru Flex (ale bez kupowania Flash Buildera daj sobie spokój), ExtJS ($), Wijmo ($), KendoUI($) albo ostatecznie Dojo.

Flex - nawet Adobe już się z tego powoli wycofuje. Widać to zwłaszcza na konferencjach, gdzie 2-3 lata temu na każdej większej w Polsce był jakiś ewengelista od Flexa i pokazywał jak to się "świetnie" integruje z Javą, a teraz nigdzie ich nie widać.
Niestety z tego co widzę reszta to albo "szycie" HTMLa bez gotowych komponentów (AngularJS)

- http://angular-ui.github.com/
- http://angular-ui.github.com/bootstrap/
tak na szybko szukając komponentów do Angulara. Poza tym nic nie stoi na przeszkodzie, żeby używać Angulara z komponentami z jQuery, etc.
albo geek-driven hipster-friendly frameworki, które nie osiągnęły nawet wersji 1.0 według autorów.
Dwa pierwsze z brzegu przykłady nowych JS frameworków:
- Backbone.js używany w Nokii: http://profiles.nokia.com/ , Del.icio.us
(http://delicious.com),
- Ember.js używany przez Groupona

Więc to nie są jakieśtam zachcianki gośćia, który miał wieczory wolne przez tydzień i sobie cośtam naklepał i teraz lansuje :)
Jakub Grabowski

Jakub Grabowski Tworzenie aplikacji,
integracja SOA,
outsourcing,
szkolen...

Temat: Vaadin i doświadczenia

Tomasz Dziurko:
- Backbone.js używany w Nokii: http://profiles.nokia.com/ ,
To chyba nie był najlepszy przykład ;-) Właśnie mam: "Internal Server Error - Read
The server encountered an internal error or misconfiguration and was unable to complete your request.
Reference #3.d4373bc3.1360830959.da982d". Ciekawe co mają w backendzie...

konto usunięte

Temat: Vaadin i doświadczenia

Flex - nawet Adobe już się z tego powoli wycofuje. Widać to zwłaszcza na konferencjach, gdzie 2-3 lata temu na każdej większej w Polsce był jakiś ewengelista od Flexa i pokazywał jak to się "świetnie" integruje z Javą, a teraz nigdzie ich nie widać.

To prawda. Flex stracił na "fajności" na rzecz HTML 5. Nadal jest solidnym frameworkiem UI ale nie wiem czy brałbym go do nowego projektu. Szkoda trochę, bo JS jeszcze długo nie będzie tak szybki jak Flash Plugin.
Niestety z tego co widzę reszta to albo "szycie" HTMLa bez gotowych komponentów (AngularJS)

- http://angular-ui.github.com/
- http://angular-ui.github.com/bootstrap/
tak na szybko szukając komponentów do Angulara. Poza tym nic nie stoi na przeszkodzie, żeby używać Angulara z komponentami z jQuery, etc.

To jest właśnie przykład tego co mówiłem. AgularUI jest 0.4.0 a UIBootstrap 0.1.0.
jQueryUI ma raptem kilaka komponentów. Reszta to szukanie pluginów i za każdym razem próba oceny jakości itp. Każdy komponent napisany i utrzymywany przez kogo innego to nie najlepszy pomysł.
albo geek-driven hipster-friendly frameworki, które nie osiągnęły nawet wersji 1.0 według autorów.
Dwa pierwsze z brzegu przykłady nowych JS frameworków:
- Backbone.js używany w Nokii: http://profiles.nokia.com/ , Del.icio.us
(http://delicious.com),
- Ember.js używany przez Groupona

Nie wiem czy to są jakieś dobre przykłady. Zależy od wagi projektu trochę. Flexa używa Morgan Stanley do swojej platformy tradingowej http://www.morganstanley.com/matrixinfo/
Większość z tych frameworków nadaje się do stronek, startupów, sklepów internetowych itp. Większość z nich jednocześnie nie nadaje się np. na aplikacje biznesowe dla instytucji finansowych. Tu istnieje tylko JSF, Flex, Vaadin i ExtJS.Piotr Gwiazda edytował(a) ten post dnia 14.02.13 o godzinie 10:03

konto usunięte

Temat: Vaadin i doświadczenia

Piotr Gwiazda:
Nie wiem czy to są jakieś dobre przykłady. Zależy od wagi projektu trochę. Flexa używa Morgan Stanley do swojej platformy tradingowej http://www.morganstanley.com/matrixinfo/
Większość z tych frameworków nadaje się do stronek, startupów, sklepów internetowych itp. Większość z nich jednocześnie nie nadaje się np. na aplikacje biznesowe dla instytucji finansowych. Tu istnieje tylko JSF, Flex, Vaadin i ExtJS.

Fuck - a my nie wiedząc tego zrobiliśmy kilka projektów dla największych polskich instytucji przy użyciu Dojo + Spring MVC.Pawel Dolega edytował(a) ten post dnia 14.02.13 o godzinie 10:08

konto usunięte

Temat: Vaadin i doświadczenia

Pawel Dolega:
Piotr Gwiazda:
Nie wiem czy to są jakieś dobre przykłady. Zależy od wagi projektu trochę. Flexa używa Morgan Stanley do swojej platformy tradingowej http://www.morganstanley.com/matrixinfo/
Większość z tych frameworków nadaje się do stronek, startupów, sklepów internetowych itp. Większość z nich jednocześnie nie nadaje się np. na aplikacje biznesowe dla instytucji finansowych. Tu istnieje tylko JSF, Flex, Vaadin i ExtJS.

Fuck - a my nie wiedząc tego zrobiliśmy kilka projektów dla największych polskich instytucji przy użyciu Dojo + Spring MVC.

Ale wtopiliście :D

konto usunięte

Temat: Vaadin i doświadczenia

Pawel Dolega:

Fuck - a my nie wiedząc tego zrobiliśmy kilka projektów dla największych polskich instytucji przy użyciu Dojo + Spring MVC.
To bardzo cenna informacja.Piotr Gwiazda edytował(a) ten post dnia 14.02.13 o godzinie 11:43
Jakub Grabowski

Jakub Grabowski Tworzenie aplikacji,
integracja SOA,
outsourcing,
szkolen...

Temat: Vaadin i doświadczenia

Pawel Dolega:

Fuck - a my nie wiedząc tego zrobiliśmy kilka projektów dla największych polskich instytucji przy użyciu Dojo + Spring MVC.

Sprawdza się zasada: "Jak coś jest niemożliwe do zrobienia - daj to zrobić komuś kto o tym nie wie" ;-)

A z innej beczki - z mojego doświadczenia różnica pomiędzy frameworkami z małą ilością podstawowych komponentów, ale dużą elastycznością (jak Dojo, czy GWT) a takimi z dużą liczbą komponentów, a niezbyt elastycznymi (JSF, ExtJS) zaciera się w złożonych projektach. W momencie gdy dochodzisz do ściany w ExtJS, czy JSF, zużywasz "zaoszczędzony" czas. Jako dojście do ściany rozumiem niestandardową funkcjonalność, dla której brak komponentu, lub performance (np. w GWT da się zejść bardzo nisko, optymalizując wydajność).
Maciej Nowicki

Maciej Nowicki Java Developer

Temat: Vaadin i doświadczenia

Jakub Grabowski:
A z innej beczki - z mojego doświadczenia różnica pomiędzy frameworkami z małą ilością podstawowych komponentów, ale dużą elastycznością (jak Dojo, czy GWT) a takimi z dużą liczbą komponentów, a niezbyt elastycznymi (JSF, ExtJS) zaciera się w złożonych projektach. W momencie gdy dochodzisz do ściany w ExtJS, czy JSF, zużywasz "zaoszczędzony" czas. Jako dojście do ściany rozumiem niestandardową funkcjonalność, dla której brak komponentu, lub performance (np. w GWT da się zejść bardzo nisko, optymalizując wydajność).

W GWT też bywają ściany. Ostatnio stanąłem przed wyzwaniem dostosowania aplikacji w GWT do wymogów accessibility dla osób niewidomych. Wiele łez na klawiaturę się wylało i wiele bluzgów usłyszał mój komputer, kiedy musiałem walczyć z markupem generowanym przez niektóre Widgety. Z drugiej strony masz rację- zejść można na tyle nisko, że jest to do przebrnięcia
Andrzej Grzesik

Andrzej Grzesik happy developer ;)

Temat: Vaadin i doświadczenia

Piotr Gwiazda:
>
- http://angular-ui.github.com/
- http://angular-ui.github.com/bootstrap/
tak na szybko szukając komponentów do Angulara. Poza tym nic nie stoi na przeszkodzie, żeby używać Angulara z komponentami z jQuery, etc.

To jest właśnie przykład tego co mówiłem. AgularUI jest 0.4.0 a UIBootstrap 0.1.0.
jQueryUI ma raptem kilaka komponentów. Reszta to szukanie pluginów i za każdym razem próba oceny jakości itp. Każdy komponent napisany i utrzymywany przez kogo innego to nie najlepszy pomysł.

A myśmy zrobili w Angularze i działa :-)
Lubiłem Flexa, ale teraz angular + rest w czymkolwiek i świat jest piękny i prosty. Jak bardzo chcesz, możesz nawet node'a gdzieś wrzucić. :-)
Jakub Grabowski

Jakub Grabowski Tworzenie aplikacji,
integracja SOA,
outsourcing,
szkolen...

Temat: Vaadin i doświadczenia

Łukasz Grabski:
W ten weekend bede probowal swoich sil z AngularJS, jak chcecie to moge dac znac jak poszlo hehe
Łukasz, jak było? Poszło, czy nie poszło?

konto usunięte

Temat: Vaadin i doświadczenia

Jakub Grabowski:
Łukasz Grabski:
W ten weekend bede probowal swoich sil z AngularJS, jak chcecie to moge dac znac jak poszlo hehe
Łukasz, jak było? Poszło, czy nie poszło?

Glupio sie przyznac, ale narazie dalem sobie spokoj ;)
Wykladam sie na takich durnych elementach jak podstawowy routing ;/
Chyba jestem za glupi na js ;) Moze kiedys, hehe ...
Maciej Nowicki

Maciej Nowicki Java Developer

Temat: Vaadin i doświadczenia

Łukasz Grabski:
Glupio sie przyznac, ale narazie dalem sobie spokoj ;)
Wykladam sie na takich durnych elementach jak podstawowy routing ;/

Krótki, ale chyba dużo mówiący test frameworku... ;)
Jarosław Szczepankiewicz

Jarosław Szczepankiewicz Lead Technical
Consultant

Temat: Vaadin i doświadczenia

abstrachując od tematu: jakby ktoś 5 lat temu powiedział że js będzie wiodącym językiem frontendu w aplikacjach RIA to by chyba był brany za fantastę. Nie uważacie że to lekki fenomen informatyczny że na skutek oporu trzech(?) producentów przeglądarek we wdrażaniu nowej wersji Ecmascriptu i usilnej chęci zachowania kompatybilności wstecznej duża część webu po prostu regresuje (głównie w kwestii automatycznej kontroli jakości jak statyczna typowalność, wczesne zgłaszanie błędów itp.).

Następna dyskusja:

Poszukiwany Programista JAV...




Wyślij zaproszenie do