2013-01-24 15 views
10

Dla mojej organizacji oceniam technologie BRICH dla naszych kolejnych projektów. Obecnie korzystamy z grails 2.1.0 i jesteśmy z tego bardzo zadowoleni, szczególnie jeśli chodzi o groovy i gorm i chcielibyśmy z tym zostać. Chodzi o to, aby rozszerzyć grails o jakiś framework/bibliotekę RICH. Obecnie oceniam: wtyczkę grails dla ZK, grails plugin dla Vaadin, knockoutjs, angular.js, ember.js.Grails z wtyczką Vaadin, czy to właściwy wybór?

Otrzymałem już informację od moich kolegów, którzy pracowali z ZK (bez grails), a ich wnioski były następujące: fajne, ale zapomnij o występach, ZK idzie na serwer za każdym razem, gdy robisz coś po stronie klienta.

Moje pytanie brzmi: czy jest to również prawdą w przypadku Vaadin (wtyczka do Grails)? Jak reaguje z ciężkimi aplikacjami na jedną stronę? a co z Bambi? czy to może być opcja?

Na papierze grails + Vaadin jest to, czego potrzebujemy: chcemy napisać groovy/java, nie xml iz pewnością nie javascript. Czy to właściwy wybór?

Wiem, że moje pytanie jest bardzo ogólne, ale jestem na samym początku oceny ... Dziękuję za uwagę!

+0

ZK nie przechodzi na serwer przy każdym żądaniu. Oto moje demo, które używa wielu kodów po stronie klienta, aby poprawić wydajność: http://zello.herokuapp.com/. ujawnienie: Jestem autorem wtyczek ZK. – chanwit

+0

Dzięki! Z pewnością zgłoszę to moim kolegom oceniającym ZK. –

+0

Bez problemu. Po prostu zapomniałem podać identyfikator użytkownika i hasło. To "demo" i "demo". – chanwit

Odpowiedz

6
  1. Vaadin doskonale współpracuje z Groovy i Grails. Możesz uzyskać usługi (w rzeczywistości fasolę wiosenną), używając metody Grails.get() i wykonuj lokalizację za pomocą metody Grails.i18n(). Ponieważ cały kod będzie napisany w Groovy, nie w Javie, stanie się mniej ciężki (mniej linii kodu i tak dalej ...).
  2. Vaadin nie wykonuje nigdy żadnych działań użytkownika na serwerze. Możesz na to wpływać ustawiając setImmediate (false) na dowolnym komponencie.
  3. Gdy tworzysz złożoną aplikację w Vaadin, musisz uważać na ile składników umieściłeś na stronie. Jeśli spodziewasz się, że na jednej stronie pojawią się tysiące komponentów, to renderer przeglądarki będzie miał problemy z wydajnością obsługi (oczywiście szybkość renderowania zależy od sprzętu komputerowego). Więcej wskazówek to here.
  4. Polecam - spróbuj zbudować interfejs w Vaadin i podrobioną bazę danych. Następnie sprawdź wydajność, a następnie przejdź do prawdziwej bazy danych. Zazwyczaj ludzie obwiniają Vaadina, ale problem jest gdzie indziej, np. w bazie danych, indeksowanie, ładowanie do wielu pozycji jednocześnie ...
  5. Jeśli nie chcesz grać z JavaScriptem, to przypuszczam, że knockoutjs, angular.js, ember.js są już poza grą.
  6. Musisz dowiedzieć się, czy Vaadin components jest tym, czego potrzebujesz. Naprawdę sugeruję, aby wypróbować to i zrobić Proof of Concept w Vaadin. Jeśli nie, Vaadin 7 upraszcza integration with JavaScript! Dzięki temu możesz łatwo zintegrować kod serwera Vaadin z dowolną biblioteką JavaScript (np. Highcharts i tak dalej ...).
  7. Musisz dostać kontenerów leniwie ładowane (check this)
  8. myślę, że należy zacząć od Vaadin 7 (tutaj jest tutorial)
  9. Będzie więcej optimalisations skuteczności w Vaadin 7 (w wersji 7.0.1 lub 7.0.2)
+0

Wielkie dzięki! Mam pytanie strategiczne: jak dojrzała jest wtyczka i jak jest perspektywa na dłuższą metę? Nie chcę ryzykować przyjęcia technologii, która zostanie przerwana w ciągu jednego roku ... Jestem exatcly w punkcie 6. Podążyłem za tutorialem i bawiłem się przykładami. Mam problemy, ale w tym celu stworzę osobne pytanie. –

+0

Wtyczka Vaadin ma tylko trzy rzeczy: dodawanie zależności Vaadin do projektu Grails, zapewnianie dostępu do komponentów bean (get (SomeService)) i zapewnienie dostępu do pliku lokalizacji za pomocą metody i18n ("key.to.value"). Nie wydaje mi się, żeby na wtyczce było coś, co mogłoby sprawić kłopoty. Od zeszłego tygodnia więcej informacji znajduje się na http://vaadinongrails.com –

+0

Byłoby jeszcze większe, gdyby mogło obsłużyć kompilację scss (problem znaleziony dla środowiska produkcyjnego => [link] (http://stackoverflow.com/questions/20777850/grails-scss-compiler-required-for-production-env) –

Powiązane problemy