Scott Tiger Tech Blog

Blog technologiczny firmy Scott Tiger S.A.

Google Dart

Autor: Piotr Karpiuk o piątek 20. Lipiec 2012

Językiem programowania, który można nazwać lingua franca aplikacji webowych, po stronie przeglądarki w praktyce jest JavaScript, choć trudno znaleźć kogoś kto nazwałby go produktem idealnym. Język ewoluuje wprawdzie w stronę platformy zdolnej do obsługi dużych aplikacji, ale Google twierdzi, że język cierpi z powodu wad niedających się naprawić poprzez ewolucję zapewniającą zgodność wstecz i wysunął własną propozycję: język Google Dart. Firma nie ukrywa, że nowy projekt open source powstał z myślą o tym aby zdetronizować JavaScript oferując lepszą wydajność, bezpieczeństwo i przenośność.

Co prawda Dart jest jeszcze we wczesnej fazie rozwoju i nie nadaje się do zastosowań produkcyjnych, ale Google celowo udostępnił jego specyfikację na tym etapie, aby zebrać jak najwięcej sugestii usprawnień i oswoić użytkowników ze swoim dziełem. Opisy języka zaczynają się już pojawiać na blogach i w czasopismach (np. Linux Magazine 08/2012).

Rzeczywiście, propozycja Googla wydaje się być przemyślana:

  • interpretera można użyć nie tylko w przeglądarce, ale i po stronie serwera (jako odpowiednik PHP), gdzie powstały już biblioteki do obsługi gniazd sieciowych i systemu plików,
  • wyraźnie widać inspiracje językami JavaScript, Java i Scala,
  • język ma dynamiczne typy, ale opcjonalnie możemy deklarować typy zmiennych co w przypadku wykrytych niezgodności wygeneruje ostrzeżenia,
  • Dart jest obiektowy, oferuje klasyczny model obiektowości znany z Javy (w tym pojedyncze dziedziczenie, interfejsy, klasy abstrakcyjne),
  • podobnie jak w Javie, dostępne są typy generyczne,
  • mamy kilka typów liczbowych: int, double, num – w odróżnieniu od JavaScriptu gdzie jedynym typem liczbowym jest typ zmiennoprzecinkowy; dostępne są również kolekcje (np. typy List, Map),
  • dostępne są wątki, które są mocno od siebie izolowane – wysyłają do siebie komunikaty, które są kopiowane a nie przekazywane przez referencję.

Język to nie tylko interpreter, ale również narzędzia dla deweloperów. Pomyślano i o tym: dostępne jest oparte na Eclipse środowisko IDE o nazwie Dart Editor, a także pluginy do środowisk IntelliJ IDEA oraz WebStorm. Osoby które chciałyby się pobawić językiem ale nie mają ochoty na instalowanie całego stosu narzędzi, mogą wykonywać fragmenty kodu w przeglądarce WWW na stronie Dartboard.

Interpreter języka Dart dostępny jest obecnie w wierszu poleceń i po stronie serwera, natomiast póki co w żadnej ze współczesnych oficjalnych przeglądarek WWW (choć istnieje odpowiednia eksperymentalna wersja przeglądarki Chromium o nazwie Dartium). Dostępne są kompilatory programów Darta do JavaScriptu: dartc (deprecjonowany, niezbyt popularny ze względu na słabą wydajność), fragc (napisany w Dart, ale obsługuje tylko podzbiór specyfikacji języka), oraz dart2js.

Niestety nie można powiedzieć, żeby propozycja Googla została przyjęta entuzjastycznie. Poza Googlem, żadna firma tworząca współczesne przeglądarki póki co nie ma w planach umieszczać interpretera Dart w swoich produktach, podnoszą się głosy wyrażające obawy o tworzenie niepotrzebnych rozłamów w środowisku aplikacji webowych (język jest porównywany do Visual Basica, który Microsoft bezskutecznie próbował rozpropagować w Internet Explorerze). Krótko mówiąc, przyszłość języka nie jest pewna.

Share and Enjoy:
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • Śledzik
  • Blip
  • Blogger.com
  • Gadu-Gadu Live
  • LinkedIn
  • MySpace
  • Wykop

1 Komentarz do “Google Dart”

  1. Przemek napisał(a):

    Ciekawe…

Zostaw komentarz

XHTML: Możesz użyć następujących tagów: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>