Поиск…


замечания

Логотип Dart

Dart - это открытый, основанный на классе, необязательно типизированный язык программирования для создания веб-приложений - как на клиенте, так и на сервере, созданный Google. Цели дизайна Дарта:

  • Создайте структурированный, но гибкий язык для веб-программирования.
  • Сделайте Дарт знакомым и естественным для программистов и, следовательно, легко учиться.
  • Убедитесь, что Dart обеспечивает высокую производительность во всех современных веб-браузерах и средах, от небольших портативных устройств до выполнения на стороне сервера.

Дарт нацелен на широкий спектр сценариев развития, от проекта с одним человеком без большой структуры до крупномасштабного проекта, требующего формальных типов в коде, чтобы заявить намерение программиста.

Для поддержки этого широкого спектра проектов Dart предоставляет следующие функции и инструменты:

  • Необязательные типы: это означает, что вы можете запускать кодирование без типов и добавлять их по мере необходимости.
  • Изолирует: одновременное программирование на сервере и клиенте
  • Легкий доступ DOM: с помощью селекторов CSS (так же, как это делает jQuery)
  • Инструменты Dart IDE: плагины Dart существуют для многих обычно используемых IDE, например: WebStorm .
  • Dartium: сборка веб-браузера Chromium со встроенной виртуальной машиной Дарта

связи

Документация

Часто задаваемые вопросы

Версии

Версия Дата выхода
1.22.1 2017-02-22
1.22.0 2017-02-14
1.21.1 2016-01-13
1.21.0 2016-12-07
1.20.1 2016-10-13
1.20.0 2016-10-11
1.19.1 2016-09-07
1.19.0 2016-08-26
1.18.1 2016-08-02
1.18.0 2016-07-27
1.17.1 2016-06-10
1.17.0 2016-06-06
1.16.1 2016-05-23
1.16.0 2016-04-26
1.15.0 2016-03-09
1.14.2 2016-02-09
1.14.1 2016-02-03
1.14.0 2016-01-28
1.13.2 2016-01-05
1.13.1 2015-12-17
1.13.0 2015-11-18
1.12.2 2015-10-21
1.12.1 2015-09-08
1.12.0 2015-08-31
1.11.3 2015-08-03
1.11.1 2015-07-02
1.11.0 2015-06-24
1.10.1 2015-05-11
1.10.0 2015-04-24
1.9.3 2015-04-13
1.9.1 2015-03-25
1.8.5 2015-01-13
1.8.3 2014-12-01
1.8.0 2014-11-27
1.7.2 2014-10-14
1.6.0 2014-08-27
1.5.8 2014-07-29
1.5.3 2014-07-03
1.5.2 2014-07-02
1.5.1 2014-06-24
1.4.3 2014-06-16
1.4.2 2014-05-27
1.4.0 2014-05-20
1.3.6 2014-04-30
1.3.3 2014-04-16
1.3.0 2014-04-08
1.2.0 2014-02-25
1.1.3 2014-02-06
1.1.1 2014-01-15
1.0.0.10_r30798 2013-12-02
1.0.0.3_r30188 2013-11-12
0.8.10.10_r30107 2013-11-08
0.8.10.6_r30036 2013-11-07
0.8.10.3_r29803 2013-11-04

Установка или настройка

Dart SDK включает в себя все необходимое для записи и запуска кода Dart: VM, библиотеки, анализатор, диспетчер пакетов, генератор doc, форматирование, отладчик и т. Д. Если вы занимаетесь веб-разработкой, вам также понадобится Dartium.

Автоматическая установка и обновление

Ручная установка

Вы также можете вручную установить любую версию SDK .

Привет, мир!

Создайте новый файл с именем hello_world.dart со следующим содержимым:

void main() {
  print('Hello, World!');
}

В терминале перейдите в каталог, содержащий файл hello_world.dart и введите следующее:

dart hello_world.dart

Нажмите Enter, чтобы отобразить Hello, World! в окне терминала.

Запрос Http

Html

<img id="cats"></img>

дротик

import 'dart:html';

/// Stores the image in [blob] in the [ImageElement] of the given [selector].
void setImage(selector, blob) {
  FileReader reader = new FileReader();
  reader.onLoad.listen((fe) { 
    ImageElement image = document.querySelector(selector);
    image.src = reader.result;
  });
  reader.readAsDataUrl(blob);  
}

main() async {
  var url = "https://upload.wikimedia.org/wikipedia/commons/2/28/Tortoiseshell_she-cat.JPG";

  // Initiates a request and asynchronously waits for the result.
  var request = await HttpRequest.request(url, responseType: 'blob');
  var blob = request.response;
  setImage("#cats", blob);
}

пример

см. Пример на https://dartpad.dartlang.org/a0e092983f63a40b0b716989cac6969a

Геттеры и сеттеры

void main() {
  var cat = new Cat();
  
  print("Is cat hungry? ${cat.isHungry}");  // Is cat hungry? true
  print("Is cat cuddly? ${cat.isCuddly}");  // Is cat cuddly? false
  print("Feed cat.");
  cat.isHungry = false;                     
  print("Is cat hungry? ${cat.isHungry}");  // Is cat hungry? false
  print("Is cat cuddly? ${cat.isCuddly}");  // Is cat cuddly? true
}

class Cat {
  bool _isHungry = true;
  
  bool get isCuddly => !_isHungry;
  
  bool get isHungry => _isHungry;
  bool set isHungry(bool hungry) => this._isHungry = hungry;
}

Dart class getters и seters позволяют API-интерфейсам инкапсулировать изменения состояния объекта.

См. Пример dartpad : https://dartpad.dartlang.org/c25af60ca18a192b84af6990f3313233



Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow