Pytanie do wszystkich guru GWT - jaka jest najlepsza biblioteka widżetów GWT? I dlaczego?
Lista na podstawie odpowiedzi:
- Domyślna
- Sencha GXT
- Inteligentny GWT
- Vaadin
- GWT-Bootstrap
- GwtBootstrap3
- Rakieta GWT (nieaktywna)
- Tatami (nieaktywne)
- ErraiFramework
- GWTMaterialDesign
И наконец- новое поколение основанное на JsInterop :
Odpowiedzi:
Nie wiąż się z ŻADNĄ z tych bibliotek. Użyj Vanilla GWT do stworzenia struktury swojego projektu. W szczególności użyj wzorca MVP i magistrali zdarzeń. Zapoznaj się z artykułem Google, aby dowiedzieć się, jak najlepiej zaprojektować aplikację kliencką za pomocą GWT: Tworzenie aplikacji MVP
Następnie możesz użyć dowolnego widżetu z tych bibliotek (powiedzmy tabeli, pola kombi, selektora dat itp.) I dołączyć go do swojego projektu. Spróbuj używać rozszerzonych komponentów TYLKO, jeśli nie widzisz sposobu, aby to zrobić z waniliowym GWT. W ten sposób nie przywiązujesz się do tych bibliotek, które ZAWSZE są uciążliwe, gdy próbujesz zrobić coś, co nie pojawia się w aplikacji demonstracyjnej, zawiera wiele błędów, a ich wsparcie jest w najlepszym przypadku słabe.
Sposób wyszukiwania widgetów powinien przebiegać w następującej kolejności:
Ostrożnie z innymi bibliotekami, pracowałem z nimi (i nadal mam koszmary).
źródło
Zależy od tego, co masz na myśli, mówiąc „najlepszy”. Najlepiej wyglądający? Najlepszy interfejs API? Najlepsze rozwiązanie do własnych, niestandardowych potrzeb?
Np. Właśnie oceniałem klasy tabel do użycia w naszej aplikacji. Używaliśmy GWT-Ext, ale ma on dla nas wiele problemów z wydajnością i bardzo trudno jest uzyskać rozmiar tabel tak, jak ich potrzebujemy. Byłem bardzo blisko przejścia z GWT-Mosaic , ale zamiast tego zdecydowałem się zbudować widżety w Inkubatorze GWT .
Dlaczego więc dokonałem tego wyboru? Wygląda na to, że zbyt wiele bibliotek ma własne, z braku lepszego słowa, bagaż. Albo musisz zanurzyć się w całości w jakimś frameworku MVC (który może nie być całkowicie kompatybilny z resztą twojego kodu), albo musisz przyjąć czyjś nowy, wachlarzowy system układu, albo musisz żyć z faktem, że nie możesz naprawdę debuguj kod (ponieważ to tylko opakowania JSNI).
Nie zrozumcie mnie źle, inkubator GWT nie jest doskonały ... widżety są w pewnym stopniu zmienne. W moim przypadku był to jednak najlepszy wybór. Daje mi dobre (ale zdecydowanie nie idealne):
Więc ... odpowiedź (dla mnie) to kombinacja:
(Powinienem dodać: „bagaż”, o którym mówię, niekoniecznie jest złą rzeczą. Ale jeśli potrzebujesz tylko jednego lub dwóch widżetów, może podnieść poprzeczkę w zakresie tego, co jest potrzebne do wykonania pracy i jak dobrze wygląda aplikacja.)
źródło
Zobacz tę bibliotekę komponentów GWT Bootstrap To jest implementacja w gwt Twitter Bootstrap.
źródło
Sam GWT to całkiem niezła biblioteka.
Nie korzystałem ze wszystkich wymienionych, ale mogę polecić Ext GWT .
źródło
Wolę waniliowy GWT. Niektóre inne API wyglądają ładnie, a ich prezentacje naprawdę pokazują widżety, ale zawsze uważam, że wydajność nie jest najlepsza ... kiedy mówię o wydajności, mam na myśli bardziej czas odpowiedzi. Nienawidzę, gdy aplikacja działa wolno.
źródło
Większość wymienionych bibliotek nie jest open source, a co gorsza: są po prostu opakowaniami na górze biblioteki JavaScript. Siła GWT polega na tym, że aplikacja działa na różnych przeglądarkach (ze względu na generowanie kodu dla "dużych" przeglądarek). Te podstawowe biblioteki JavaScript mogą powodować wiele problemów.
Zgadzam się z jgindin GWT Incubator i GWT Mosaic są jak dotąd najlepsze.
źródło
Nie mówię, że jest „najlepszy”, ale ostatnio używam GWT-Ext w pracy. Ma kilka zalet i wad:
Plusy:
Cons:
źródło
NIE używaj żadnego z nich! Jeśli planujesz stworzyć aplikację na dużą skalę, powinieneś rozważyć użycie wzorca MVP. Najlepszą implementacją jest framework MVP4G , który obsługuje dzielenie kodu GWT po wyjęciu z pudełka. Jest wiele świetnych przykładów, od których możesz zacząć. Najcenniejszym z nich jest Mvp4GModules.
źródło
Dodaj nowy: GWT-Bootstrap :)
W tej chwili nie ma stabilnej wersji, ale wkrótce będzie.
źródło
Z mojego doświadczenia wynika, że z bibliotekami innych firm zawsze jest wiele problemów. Najlepszym sposobem - jest użycie samej dobrze znanej i dobrze wykonanej technologii oraz własnych komponentów. Ich zapisanie i utrzymanie może zająć więcej czasu, ale TCO jest zawsze na niższym poziomie.
Biblioteki zewnętrzne często mogą nieoczekiwanie zepsuć Twoje plany. Trudno jest znaleźć i naprawić źródło problemu.
Więc sugerowałbym użycie zwykłego GWT.
źródło
Myślę, że SmartGWT jest w porządku, jeśli po prostu chcesz używać widżetów takimi, jakimi są, ale jeśli chcesz rozszerzyć lub zmodyfikować widżety, tak jak ja w Gxt Scheduler , myślę, że Ext-GWT jest lepszym wyborem.
źródło
dla mnie EXT-GWT (aka GXT) to najlepsza obecnie dostępna biblioteka, używam jej w 6-miesięcznym projekcie i bardzo pomaga przy wielu predefiniowanych komponentach, takich jak siatki, drzewa ... Jest również piękny
źródło
SmartGWT to dobra biblioteka i ma wiele przykładów, ale interfejs użytkownika nie jest tak elegancki. Interfejs użytkownika Ext GWT jest dobry.
źródło
Grupa użytkowników gwt-mosaic nie wygląda na zbyt aktywną i nie mogłem znaleźć podręcznika użytkownika poza fragmentami wiki. gwt-mosaic zapoznało mnie z dwoma interesującymi narzędziami.
1) gwt-mosaic zawiera opakowanie dla Tibco's PageBus, które jest narzędziem publikowania / subskrypcji dla części JS twojej aplikacji (programy obsługi RPC, wywołania zwrotne widgetów, narzędzia do ustawiania widgetów). Jest to alternatywa dla magistrali zdarzeń gwt.
2) gwt-mosaic zachęca do używania Beans Binding (http://code.google.com/p/gwt-beans-binding/) do wiązania danych z widżetami i sprawdzania poprawności widżetów.
smartgwt nie jest tani w przypadku pełnego zestawu funkcji i wsparcia. Jar jest za duży dla appengine, chyba że usuniesz pliki motywów, których nie używasz. Inwestują też w inżynierię po stronie serwera.
Słyszałem, że ext-gwt działa wolno, a pliki JS są duże.
Inkubator widżetów gwt wygląda na przestarzały. Wierzę, że deluxe grid zostanie wydany wraz z nowym gwt.
Brak standardów wyglądu i działania, powiązań i standardów walidacji utrudnia współdziałanie bibliotek widżetów.
źródło
Zdecydowanie nie SmartGWT. Ich szkielet jest nadęty i ma bardzo niedopieczony charakter. Mają milion widżetów, ale próba zmuszenia ich do pracy nad Twoim projektem nie jest łatwa. Źródła danych w bardzo dużym stopniu komplikują proces zarządzania danymi, na przykład aby dostać się do danych w źródle danych, należy często korzystać z fecth i sprawdzać. Wyniki można zapisywać w pamięci podręcznej, jednak ich przesłuchanie nie zawsze jest łatwe.
RPC to kolejny słaby i zawiły obszar. W dokumentacji i na forach znajdują się sprzeczne informacje. Podczas gdy dokumentacja powie, że rzadko powinieneś używać niestandardowej operacji jako części ds, forum powie ci, że jest to całkowicie w porządku. Nauka efektywnego korzystania z tych narzędzi to trudna wspinaczka w najlepsze dni.
Będą wyprzedawać produkt. Na przykład pakiet wykresów / analiz zawiera wykresy ... Ale te wykresy nie będą wyświetlać wartości ujemnych ani nie pozwolą na manipulowanie etykietami osi w jakikolwiek znaczący sposób. I otwarcie odpowiadają na pytania na ten temat na forum z nastawieniem „tak i co z tego”. „Nie planujemy dodawać tego do 3,0x, mimo że jest to jeden z naszych punktów sprzedaży, jest na naszej mapie drogowej”. Kiedy sprzedali mi pakiet, nigdy nie wspomnieli, że nie mogę wyświetlić wartości ujemnych. Naprawdę? Który wykres nie musiałby pokazywać wartości ujemnych? Przychodzi mi do głowy tylko jeden - ten, który przedstawia liczbę niezadowolonych klientów izomorficznych.
Trzymaj się z daleka od tych facetów i przejdź do witryny dowolnego konkurenta, na przykład ExtJS, JQuery, a nawet quxdoo. Istnieje kilka projektów, które naprawdę zyskują na popularności i oferują dobre rozwiązanie.
Zachowaj dużą ostrożność, jeśli kiedykolwiek ocenisz ten produkt. Wygląda ładnie, ale po około dwóch tygodniach od używania go do projektu, zaczniesz rozumieć, o co mi chodzi. Widżety są na wpół upieczone, źródła danych są niezwykle skomplikowane i tylko dlatego, że zapłaciłeś za wsparcie na forum, nie oznacza, że w rzeczywistości otrzymasz coś innego niż złośliwe, protekcjonalne odpowiedzi, które na początku sprawią, że pomyślisz, że coś przegapiłeś. Nie byliście generalnie bardzo aroganccy.
Powodzenia i trzymaj się z daleka od tego produktu, jeśli cenisz swój czas rozwoju i łatwość konserwacji. Och i ostatnia rzecz. Spójrz na przykład MVC na ich stronie internetowej. Nie ma to dosłownie nic wspólnego z MVC poza etykietą „MVC”. Spróbują cię przekonać, że takie frameworki są dla niedoświadczonych programistów i że na taką koncepcję nie ma miejsca w prawdziwym programowaniu ... Coś w rodzaju tych, które próbują złapać bloki.
źródło
Domyślna biblioteka Google to najpotężniejsza biblioteka.
Ext GWT dodaje dzwonki i gwizdki, ale poza tym jest podobny do Google.
źródło
Obecnie podoba nam się widżety GWT Mosaic . Pracowaliśmy z ext-JS i w przeszłości tworzyliśmy własne widżety. Licencjonowanie ext-JS i zbiorcze były dla nas problemem. Nie chcemy tego robić. Mosaic daje nam radosny kompromis, który, jak nam się wydaje, będzie jeszcze szczęśliwszym, gdy projekt dojrzeje.
źródło
Powiedziałbym, że jeśli potrzebujesz tylko kilku widżetów, zbuduj własne. Możesz skopiować i wkleić niektóre koncepcje z wymienionych bibliotek. Ale wszystkim brakuje jednej lub drugiej rzeczy. Grałem z większością z nich i porzuciłem każdego.
źródło
Jedną rzeczą, o której należy pamiętać, jest to, że na forach GWT-Ext wygląda na to, że nie będzie już dużo rozwijany / utrzymywany (może wcale?). Na swojej stronie internetowej zalecają migrację do SmartGWT .
źródło
Nie widziałem tego wspomnianego Vaadina (wcześniej znany to IT Mill Toolkit), ale może to dlatego, że technicznie nie jest to dokładnie GWT; jak mówi ich FAQ :
źródło
smartGWT działa wolno i brakuje przykładów i bardzo trudno jest znaleźć odpowiedzi nawet na podstawowe pytania, tj. zobacz wszystkie moje pytania bez odpowiedzi na tym forum. Rzucam smartgwt.
źródło
Porównanie dwóch EXT z zaletami i wadami .
źródło
Zbudowaliśmy duży portal HR i kilka mniejszych aplikacji korzystających z portletów GWT . Projekt koncentruje się nie tyle na budowaniu kolekcji widżetów, ile na tworzeniu prostego modelu programowania.
Ze strony internetowej:
Portlety GWT to bezpłatna platforma internetowa typu open source do tworzenia aplikacji GWT (Google Web Toolkit). Definiuje bardzo prosty i produktywny, ale potężny model programowania do tworzenia dobrze wyglądających, modułowych aplikacji GWT.
Model programowania jest nieco podobny do pisania portletów JSR168 dla serwera portalu (Liferay, JBoss Portal itp.). „Portal” to aplikacja utworzona za pomocą struktury portletów GWT jako biblioteki. Funkcjonalność aplikacji jest rozwijana jako luźno powiązane portlety, każdy z opcjonalnym dostawcą danych po stronie serwera.
źródło
Używam GWT od roku. Po wielu badaniach zdecydowałem, że GWT Mosaic jest biblioteką widżetów. Mosaic używa niektórych komponentów inkubatora GWT, takich jak PagingScrollTable .. Ale funkcje combobox i tabeli nie są dla nas wystarczające. Dlatego mamy rozszerzył te komponenty, aby dodać potrzebną funkcjonalność.
źródło
Sprawdź SpiffyUI: www.spiffyui.org
To nie jest tylko biblioteka widżetów, ale złożony framework UI / UX GWT.
źródło
Dwie ważne rzeczy - i to, czego brakuje większości bibliotek - to testowanie jednostkowe i debugowanie. To tam błyszczy GWT. Jeśli korzystasz z biblioteki opartej na vanilla js, udostępniasz możliwość testowania jednostkowego i debugowania projektu. Jako programista GWT powinieneś wziąć pod uwagę te punkty i użyć biblioteki bez lub z minimalną zależnością js.
źródło
Realizujemy projekty GWT od ponad 2 lat i trzymamy się domyślnych widżetów. Stworzyliśmy własną bibliotekę open source do automatycznego wypełniania domyślnych lub własnych rozszerzeń widżetów. Sprawdź to, nazywa się gwt-jet . Jest bardzo dobrze przetestowany, ponieważ używamy go w dużych środowiskach produkcyjnych i mamy nadzieję, że z czasem będzie się bezpiecznie rozwijał.
źródło