Wicket vs Vaadin

Jestem rozdarty między wicket i Vaadin. Zaczynam mikro-isv i muszę dokonać wyboru frameworka internetowego. Zawęziłem wybór do Wicketa i Vaadina. Używałem obu frameworków i kocham je obie. jednak muszę dokonać wyboru.

If If I choose Vaadin:

  1. nie muszę się martwić wyglądem i odczuciem. Zawiera ładne motywy.
  2. wykonam całe moje programowanie w Javie, w którym jestem bardzo dobry i nie będę musiał spędzać czasu na hackowaniu CSS, który nie jestem w tym dobry.
  3. i większość składników, które będą potrzebne do aplikacji biznesowych są tam po wyjęciu z pudełka, w tym, pulpit jak układ, podpowiedzi, skróty klawiaturowe, tabele z przeciąganych i składanych kolumn, aby wymienić tylko kilka.

Jednak jeśli pójdę drogą Vaadina:

  1. stracę możliwość tworzenia UI deklaratywnie.
  2. Nie będę miał funkcji awaryjnej, jeśli przeglądarka nie obsługuje JavaScript - np. przeglądarki.
  3. firma Vaadin sprzedaje niektóre komponenty - np. JPAContainer, więc nie jestem pewien, czy firma będzie zobowiązana do oferowania pełnego frameworka open-source. Interesy biznesowe zawsze będą na pierwszym miejscu.
  4. Aplikacje Vaadin będą przeznaczone głównie dla intranetu. Nie są one zbyt odpowiednie dla internetu o wyglądzie i działaniu sieci.

If I go the Wicket way:

  1. będę musiał stylizować moje aplikacje i trudno mi nadać im wygląd pulpitu.

Jakaś rada? Każdy, kto ma doświadczenie w obu ramach uprzejmie powiedz mi wady i zalety i jak podjąłeś decyzję.

Author: Lii, 2010-08-24

6 answers

Myślę, że zainwestowałem trochę czasu na oba frameworki. Naprawdę lubię oba, ponieważ wprowadzają kodowanie Swing-alike do tworzenia stron internetowych. A ja nie znam tych łatwiejszych dla mnie (chociaż jest klik ale nie podoba mi się template velocity)

I tak, są różnice.

Nie muszę się martwić o wygląd i feel.It pochodzi z nice themes

Prawda, ale każda poważna firma będzie stylizować swoją aplikację inaczej (chyba że jesteś prototypowanie)

Wykonam całe moje programowanie w Javie, w którym jestem bardzo dobry i nie będę musiał spędzać czasu na hackowaniu css, w którym nie jestem zbyt dobry

Wtedy Vaadin byłby 'lepszy'.

Stracę możliwość tworzenia UI deklaratywnie.

Jakie są tego zalety? (BTW: można kodować deklaratywnie w groovy ; -))

Ale ok. Wiem, co masz na myśli: jeśli możesz pracować z osobnymi projektantami, to "lepiej".

Trudno mi nadać im wygląd pulpitu.

Dlaczego nie? Albo co masz na myśli? Wicket obsługuje ajax i istnieją komponenty, które obsługują ładne "desktopowe" rzeczy (ajaxlink, lazycomponent, autocompletion, progressbar, patrz wicket stuff + extensions). ok, dla każdego bardziej złożonego komponentu będziesz musiał kodować w javascript ale BTW Czy wiesz, że możesz nawet użyć GWT w wicket

Niektóre drobne doświadczenia:

Vaadin jest na pewno szybszy podczas kodowania (bez css, HTML). Ale jeśli idziesz do produkcji należy pamiętać, że łatwość programowania może przyjść do kosztów wydajności po stronie klienta: np. jeśli używasz " złe " układy, takie jak poziome/pionowe, ... masowe użycie javascript może spowolnić starą przeglądarkę.

Ale Vaadin nie jest wolny! Użyj odpowiednich układów, takich jak CssLayout lub FastLayout, a także stara przeglądarka może go obsługiwać. (Chociaż jeśli używasz CssLayout Twój styl kodowania jest naprawdę / align = "left" / )

Problem z Vaadin polega na tym, że nieco trudniej jest profilować, ponieważ nie widzisz łatwo, gdzie klient potrzebuje całego procesora, a zagnieżdżone div-y otrzymują kryptograficzne nazwy id.

Jedną wielką rzeczą w Wicket jest jej integracja WARP persist

W przeciwieństwie do innych języków, Guice może być wbudowany w Vaadin i Wicket.]}

Testowanie interfejsu powinno być łatwe z Vaadin (chociaż nie znalazłem rzeczy do testowania jednostek) i jest bardzo łatwe Z wicket .

Last but tworzenie list/tabel w Vaadin jest bardzo proste w porównaniu z wicket.

 30
Author: Karussell,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-09-07 17:17:56

Pracowałem intensywnie z Wicket, ale nie miałem żadnego doświadczenia z Vaadinem, więc może to być (trochę) stronnicze.

Polecam Wicket z oczywistych powodów, ale to, co prawdopodobnie Cię interesuje, to otwartość Wicket. Jak słusznie zauważył Gweebz, wicket używa podstawowych znaczników HTML jako podstawy, więc wszelkie zmiany strukturalne lub kosmetyczne są często trywialne do wdrożenia.

Osobiście jedną z rzeczy, które naprawdę lubię w pracy na zewnątrz jest przepływ między front endem prezentacja i backend danych, zaimplementowaliśmy Spring & JPA / Hibernate, co oznacza, że wszelkie zmiany w interfejsie mogą być przetłumaczone z powrotem do bazy danych za pomocą jednej linii kodu dzięki architekturze opartej na modelu Wickets.

Ponownie nie mogę wiele powiedzieć o Vaadinie, który nigdy z nim nie pracował, ale jeśli szukasz architektur na początek, polecam również zajrzeć do GWT.

 10
Author: BjornS,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-08-25 07:14:38

(ciąg dalszy z komentarza w pierwszej odpowiedzi)

Główna różnica między Vaadinem a Wicket polega na tym, jak jest pisany skład interfejsu użytkownika i Kod po stronie klienta. Dzięki Vaadin zazwyczaj komponujesz swój interfejs użytkownika bez żadnych szablonów lub HTML, a otrzymasz elegancki, w pełni ajaxowy interfejs użytkownika. Jeśli jednak wolisz podejście do szablonów, użyj CustomLayout, który dokładnie to robi.

Kodowanie po stronie klienta jest rzadko potrzebne, ale gdy jest to zrobić z GWT oparty na Javie, który jest IMO o wiele ładniejszy niż pisanie Javascript ręcznie. Poza tym, dzięki GWT automatycznie uzyskujesz rozwiązanie zgodne z przeglądarką, zamiast samodzielnie radzić sobie z tymi problemami.

Porównując frameworki należy również przyjrzeć się działaniom społeczności i dokumentacji. Z Vaadinem oba są doskonałe. Zwróć również uwagę na katalog Vaadin, który obecnie zawiera 100 + bardzo przydatnych komponentów interfejsu użytkownika i inne dodatki.

 9
Author: hezamu,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-09-01 22:17:35

Mam ograniczone doświadczenie z każdym, ale wolę Vaadina. Pozwoliło to na bogatsze doświadczenie z tworzoną przeze mnie aplikacją internetową. Główną korzyścią, która nas przekonała, było to, jak łatwo było pisać testy jednostkowe wokół naszych klas interfejsu użytkownika, zapewniając prawidłowe działanie komponentów podczas interakcji z nimi w oczekiwany sposób. Jest to również możliwe z Wicket jednak było to trudniejsze z mojego doświadczenia.

Wspomnę też, że każdy framework będzie wymagał pewnych stylizacja. Wicket zaczyna się jako zwykły stary HTML, a Vaadin zaczyna się domyślnie z motywem podobnym do MacOSX, ale prawie każda aplikacja internetowa, którą napiszesz, będzie wymagała przynajmniej pewnych dostosowań. Mając to na uwadze, dostosowanie CSS aplikacji Wicket jest znacznie łatwiejsze niż Vaadin z tego prostego powodu, że kontrolujesz znaczniki. Vaadin ukrywa przed tobą znaczniki i generuje elementy z dziwnymi identyfikatorami i strukturami, więc trudniej jest dostosować wygląd. Pamiętaj o tym przy podejmowaniu decyzji.

 7
Author: Jesse Webb,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-08-24 17:57:00

Obecnie pracuję z Wicket i pracowałem w przepustce z Vaadinem. Będę krótka w moich spostrzeżeniach:

    Vaadin ma prawo być wolny, ale IMO nie jest tak piękny. Jeśli potrzebujesz wsparcia, pomocy, dokumentacji dla tych bolesnych i trudnych problemów, które napotykasz, to masz przerąbane, ponieważ nie masz tak dobrej dokumentacji/społeczności w porównaniu z Apache Wicket. Vaadin ma ludzi, którzy ci pomogą, ale musisz za to zapłacić.;
  • aby zaprogramować w wicket musisz być silnym programistą. Vaadin wymaga również dobrej znajomości Javy, ale możesz łatwo zrobić trochę kodu spaghetti, jeśli chcesz (tylko mówienie, nie Robienie..);
  • Apache Wicket naprawdę oddziela technologie internetowe (Javascript, HTML, itp.) z technologii framework (Java). Vaadin też próbuje to zrobić, ale IMO nie jest tak elegancki i przejrzysty w tym.

Z tego wynika, że mówimy o dwóch różnych rodzajach frameworków, dwóch różnych podejściach, które mają zalety i wady, że radzę ci szukać i porównać i zobaczyć, co naprawdę pasuje do Twoich potrzeb.

Edit: Aha, a co do wyglądu i dotyku, na przykład zawsze masz

 4
Author: Cavaleiro,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-02-01 10:06:43

Zauważ również, że chociaż Vaadin base framework jest darmowy, dla niektórych dodatkowych funkcji możesz potrzebować kupić rozszerzenia.

Ex-jeśli chcesz zintegrować dobre rozwiązanie do tworzenia wykresów, takie jak Highcharts, musisz zapłacić i kupić rozszerzenie Wykresów vaadin (mimo że highcharts jest dostępny za darmo dla aplikacji FOSS, wtyczka Wykresów vaadin zbudowana na tym nie jest darmowa dla aplikacji FOSS).

 3
Author: Ishan Thilina Somasiri,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-12-30 12:11:58