2014-07-03 28 views
9

Próbujemy zdecydować, czy użyć Dart do zbudowania aplikacji internetowej. Szukamy technologii, która pozostanie bardzo ważna z grubsza przez następne 5 lat.Czy Google zaczyna korzystać z Dart? Czy oni zbudowali kompilator zamknięcia (lub GWT) do Dart?

Teraz, gdy specyfikacje EcmaScript 6 są tuż za rogiem (powinny wyjść pod koniec 2014 roku), nie możemy się zdecydować, czy Dart naprawdę tu pozostanie na dłuższą metę.

Dzieje się tak dlatego, o ile nam wiadomo, brakujący element oryginalnego planu Google dla Dash (obecnie Dart). Zgodnie z pierwotnym planem Google w opublikowanej notatce:

Co z istniejącymi podstawami kodu dla dużych Google Apps? Czy nie będą musieli odbudować wszystkiego, aby skorzystać z Dash? Kompilator Dash Cross powinien być zdolny do przyjmowania wpisanego kodu zamknięcia (z pewnymi ograniczeniami) i konwertowania do Dash. Chociaż proces migracji nie będzie w pełni automatyczny, powinien nieco ułatwić przejście do kodu kreskowego Dash.

Dlatego to jest przyczyna tego pytania. Czy dołożono wszelkich starań, aby Google zbudował zamknięcie (lub GWT) dla kompilatora lub tłumacza Dart? Ponadto, czy wiesz, czy Google zaczęło używać go dla dowolnej istniejącej lub nowej produkcyjnej aplikacji internetowej?

Innymi słowy, naszym zmartwieniem jest to, że Dart będzie tylko językiem, który wypełni okres przejściowy i będzie zmuszał JavaScript do iteracji nieco szybciej, ale jak tylko główne przeglądarki będą obsługiwały ES6 (i ES6 +) to będzie porzucone.

Nie chcemy zaczynać żadnych argumentów na temat zalet i wad Dart, potrzebujemy tylko pewnych faktycznych informacji, które mogłyby nam pomóc w podjęciu tej kluczowej decyzji. Dzięki

+0

Nie sądzę, że ktokolwiek może zagwarantować niczego. Ale jeśli Dart VM stanie się częścią Chrome (wersja dla konsumenta), to będzie coś. Dart może się okazać podstawowym językiem po stronie serwera, ale przed rozpoczęciem jakiegokolwiek wielkiego projektu powinienem poczekać, zanim VM stanie się częścią Google App Engine. Dla małych projektów jest całkowicie gotowy, a dart2js ma naprawdę dobrą wydajność, czasem nawet lepiej niż odręczny JS + zapewnia drżenie drzewa. – JAre

+0

tak, znam zalety Dart i myślę, że byłby gotowy na nasz projekt. Martwię się tylko dlatego, że wygląda na to, że Google nadal nie używa go wewnętrznie. – Durden81

+0

https://www.dartlang.org/community/who-uses-dart.html – JAre

Odpowiedz

5

Do tej pory pracowałem głównie z GWT (naukowe aplikacje internetowe), ale ostatnio zacząłem również pracować z Dart.

Google jest mocno zainwestowane w Dart (spójrz na wszystkie rozmowy I/O), więc nie mogę sobie wyobrazić, że je upuszczają. Również ES6 rozwiąże niektóre problemy (moduły, klasy, itp.), Ale nadal jest Javascript ze wszystkimi jego problemami i wadami.

Pracując z GWT były dwa aspekty, które sprawiają, że rozwijające dużą skalę web-apps faktycznie wykonalne:

  • strukturze językowe (Java) & typy statyczne
  • kompilator

1.) Java jest statycznie napisanym językiem, co pozwala łatwo wychwycić błędy podczas programowania. Co więcej, znacznie łatwiej jest poprawić kod, gdy IDE zrozumie strukturę twojego kodu.Te same zalety odnoszą się również do Dart.

2.) Zarówno GWT kompilator jak również Dart kompilator są dość skomplikowane Mogą zrobić global optimizations (https://plus.google.com/111739836936169749229/posts/DSUgfWefyR3) i tree shaking (https://plus.google.com/110412141990454266397/posts/VK8URgZiLbS). Jeśli tworzysz aplikacje internetowe o wartości 100 000 LOC, jest to bardzo ważne i kluczowe.

Dart ma jedną wielką przewagę nad GWT dotyczące historii rozwoju: Dartium ma DartVM pieczony w ten sprawia, rozwój i iteracji tak wygodne, jak z Javascript (GWT ma SuperDevMode ale to nie tak szybko)..

Można kasy Java2Dart które mogłyby zostać wykorzystane do transpile kod GWT do Dart

+0

Sądzę, że GWT miało więcej czasu antenowego, ale może to być spowodowane ogólną zmianą Google IO od programistów do marketingu i PR. – JAre

+0

Powodem, dla którego GWT nie występowało na I/O, jest to, że nie jest już własnością Google'a i ma swoją własną konferencję dla programistów (GWT.create). –

+0

Mówię o tym, jak Google wyglądał na naprawdę zaangażowanego w GWT w kompresji Dart z punktu widzenia prezentacji Google IO. Kiedy GWT wkroczyło na scenę, Google nadało mu dużą porcję czasu antenowego, ale mimo to wycofują zasoby z projektu i nie widzę takiego zaangażowania w Dart nawet na tym etapie. Myślę, że teraz grają naprawdę bezpiecznie. Również GWT miał naprawdę dobre przyjęcie (Sencha, Smart GWT, Vaadin itp.) Ale ogólnie jestem optymistą. – JAre

2

Nie słyszałem o konwerteru Zamknięcie do Dart. Myślę, że jest to przestarzałe, ponieważ Dart może po prostu użyć JavaScript przez Dart-js-Interop. Pomaga to przenieść istniejące aplikacje do Dart, przenosząc część kodu na część.

Możesz zadawać tyle pytań, ile chcesz, nie otrzymasz gwarancji, że Dart pozostanie, ale uwielbiam pracować z Dart i to, co słyszałem, że wielu też robi. Myślę, że to pokazuje, że Google stworzył świetny produkt. Pozostanie, jeśli wystarczająca liczba programistów skoczy na modę.