2012-07-20 15 views
8

Wiem, że lotka wciąż jest w technicznym podglądzie. Dart można również skompilować do JavaScript.Jakie są ograniczenia kompilacji dart do javascript?

Ale jakie są granice kompilacji dart do javascript? Dart musi mieć pewne specyficzne cechy lub pojęcia w języku, które nie mogą być przetłumaczone tylko na kod JavaScript?

Powód jest taki, że znajomy zapytał mnie, czy Dart może skompilować wszystko co możliwe z JavaScriptem lub np. 5% elementów językowych (no wiesz, naprawdę fajne ulepszone rzeczy) nie będzie można kompilować.

http://www.dartlang.org

Odpowiedz

3

Czy mogę dołączyć FAQ quote? ;)

P. Czy każdy ważny kod Dart będzie kompilowany do JavaScript, czy też istnieją ograniczenia ? Tak, zamierzamy uzyskać dowolny ważny kod darta do kompilacji do JavaScript. Jeśli brakuje jakiegoś wsparcia dla jednego z naszych kompilatorów, to błąd (w kompilatorze lub specyfikacji).

Więc jeśli to nie jest przypadek teraz, przynajmniej Celem Google jest kompilacja każdy kawałek kodu Dart do JavaScript.

7

Mój startup opracowała aplikację 50.000+ linie w dart i dotąd stumpled na nielicznych ograniczeń w odniesieniu do sporządzania Dart do JavaScript. Dart został od początku skonstruowany z myślą o konwersji na JavaScript, więc nie cierpi z powodu problemów kompilacji, które nękały GWT (wiele klas Java nie może być serializowanych do Javascript przez GWT, co powoduje, że ludzie opakowują rzeczy z innych powodów niż spraw, aby kompilator GWT był szczęśliwy).

Po tym, istnieje kilka ograniczeń podczas kompilacji Dart do JavaScript, ale większość z nich jest związana z technologią po stronie serwera, która nie może działać w przeglądarce jak gniazda i dostęp do IO i dlatego jest bardzo rozsądna. Istnieje również kilka ograniczeń dotyczących przekazywania obiektów do izolatów, ale wierzę, że zostaną one rozwiązane w przyszłych wydaniach dart2js.

+1

Co powiedział Lars. Dodam, że obecnie, od 2012-07-20, jest znany problem ze skompilowaniem bardzo dużych liczb całkowitych (od Dart) do JavaScript. Dart obsługuje dowolne wielkości całkowite, JavaScript nie. Jest to znany błąd i zespół o tym wie. Jeśli pozostaniesz w rozmiarach JavaScript, wszystko będzie w porządku. Zamierzamy rozwiązać tę niedopasowanie przed wydaniem Dart'a. –

+0

@SethLadd Przepraszam, tak, zapomniałem o tym (dlatego mam własną implementację int, ale większość ludzi nigdy tego nie potrzebuje). Czy wiesz, że JS int stanie się z dowolną precyzją (jak na VM) lub będzie ograniczone do 64-bitowych liczb całkowitych JavaScript. –

Powiązane problemy