Wydano język programowania Dart 2.8

Odbyła się wydanie języka programowania Dart 2.8, która kontynuuje rozwój radykalnie przeprojektowanej gałęzi Dart 2, skupionej na rozwoju systemów internetowych i mobilnych oraz zoptymalizowanej pod kątem tworzenia komponentów po stronie klienta.

Dart 2 różni się od oryginalnego języka Dart tym, że używa silnego typowania statycznego (typy można wywnioskować automatycznie, więc specyfikacja typu jest opcjonalna, ale pisanie dynamiczne nie jest już używane, a początkowo obliczony typ jest przypisany do zmiennej, a ścisłe sprawdzanie typu jest później zastosowane). Do tworzenia aplikacji internetowych oferowany zestaw określonych bibliotek, takich jak dart:html, a także framework sieciowy Angular. Promowany jest framework do tworzenia aplikacji mobilnych Flutter, na bazie którego budowana jest m.in. powłoka użytkownika nowego mikrojądra systemu operacyjnego opracowywanego w Google Fuksja.

W nowym wydaniu:

  • Dodano możliwość bezpiecznego użycia wartości Null, przerywając kompatybilność wsteczną. Na przykład, jeśli zostanie podjęta próba przypisania wartości „Null” do zmiennej niezdefiniowanego typu, na przykład „int”, zostanie teraz zgłoszony błąd w czasie kompilacji. Wprowadzono także ograniczenia dotyczące kompatybilności zmiennych z typami Nullable i non-Nullable, takimi jak „int?” i „int” (do zmiennej typu „int” można przypisać zmienną typu „int”, ale nie odwrotnie). To samo tyczy się zmiennych zwracanych w instrukcji „return” – jeśli w treści funkcji zmiennej o typie nie dopuszczającym stanu „Null” nie zostanie przypisana wartość, kompilator wyświetli błąd. Zmiany te pozwolą uniknąć awarii spowodowanych próbami użycia zmiennych, których wartość jest niezdefiniowana i ustawiona na „Null”.
  • magazyn pub.dev przekroczył granicę 10 tys. paczek. W ramach cyklu udostępniania Dart 2.8 wydajność pobierania pakietów z pub.dev została znacznie poprawiona poprzez obsługę pobierania pakietów do wielu równoległych wątków podczas wykonywania polecenia „pub get”, a także leniwą prekompilację podczas wykonywania „ polecenie uruchomienia pubu”. Testowanie polecenia „pub get” dla nowego projektu opartego na Flutterze wykazało skrócenie czasu operacji z 6.5 do 2.5 sekundy, a dla większych aplikacji, takich jak galeria Flutter, z 15 do 3 sekund.
  • Dodano nowe polecenie „pub nieaktualne”, aby zapewnić aktualność wszystkich zależności zainstalowanych pakietów. Za pomocą polecenia „pub outdated” możesz ocenić, bez wprowadzania zmian w pliku pubspec, czy istnieją nowsze wersje główne wszystkich zależności skojarzonych z określonym pakietem. W przeciwieństwie do „pub upgrade”, nowe polecenie sprawdza nie tylko wersje odpowiadające pubspec, ale także nowsze gałęzie. Na przykład dla pakietu z przypiętymi zależnościami „foo: ^1.3.0” i „bar: ^2.0.0” uruchomienie „pub outdated” pokaże obecność zarówno dostępnych gałęzi, jak i nowszych gałęzi:

    Zależności Aktualne Możliwość aktualizacji Rozwiązywalne Najnowsze
    foo 1.3.0 1.3.1 1.3.1 1.3.1
    takt 2.0.1 2.1.0 3.0.3 3.0.3

Cechy języka Dart:

  • Znana i łatwa do nauczenia składnia, naturalna dla programistów JavaScript, C i Java.
  • Zapewnienie szybkiego uruchamiania i wysokiej wydajności dla wszystkich nowoczesnych przeglądarek internetowych i różnego rodzaju środowisk, od urządzeń przenośnych po wydajne serwery;
  • Możliwość definiowania klas i interfejsów umożliwiających hermetyzację i ponowne wykorzystanie istniejących metod i danych;
  • Określanie typów ułatwia debugowanie i identyfikację błędów, sprawia, że ​​kod jest jaśniejszy i bardziej czytelny oraz upraszcza jego modyfikację i analizę przez zewnętrznych programistów.
  • Obsługiwane typy to: różne typy skrótów, tablice i listy, kolejki, typy numeryczne i łańcuchowe, typy służące do określania daty i czasu, wyrażenia regularne (RegExp). Może tworzenie własnych typy;
  • Aby zorganizować wykonanie równoległe, proponuje się użycie klas z atrybutem izolowanym, których kod jest wykonywany całkowicie w izolowanej przestrzeni w oddzielnym obszarze pamięci, wchodząc w interakcję z głównym procesem poprzez wysyłanie komunikatów;
  • Obsługa korzystania z bibliotek, które upraszczają obsługę i debugowanie dużych projektów internetowych. Implementacje funkcji innych firm można uwzględnić w formie bibliotek współdzielonych. Aplikacje można podzielić na części i powierzyć rozwój każdej części osobnemu zespołowi programistów;
  • Zestaw gotowych narzędzi wspierających rozwój w języku Dart, obejmujący implementację narzędzi do dynamicznego rozwoju i debugowania z możliwością korygowania kodu w locie („edytuj i kontynuuj”);
  • Aby uprościć programowanie w języku Dart, dołączono SDK, menedżer pakietów pub, statyczny analizator kodu dart_analyzer, zestaw bibliotek, zintegrowane środowisko programistyczne DartPad i wtyczki obsługujące Dart dla IntelliJ IDEA, WebStorm, Emacs, Tekst podekscytowany 2 и Vim;
  • Dodatkowe pakiety z bibliotekami i narzędziami są dystrybuowane za pośrednictwem repozytorium pub, która ma ponad 10 tys. opakowań.

Źródło: opennet.ru

Dodaj komentarz