Как запустить Дарт на сервере?

Есть ли способ запустить код Dart на сервере, подобно тому, как Node.js запускает javascript или интерпретатор ruby ​​запускает код ruby? Или дело в том, что в настоящее время он может работать только в Dartium?


person snitko    schedule 04.05.2012    source источник
comment
См. предыдущий аналогичный вопрос: stackoverflow.com/ вопросы/10360855/   -  person Ugtemlhrshrwzf    schedule 04.05.2012
comment
Да, я видел это. Тем не менее, это все еще не ответило на вопрос. Или похоже, что ответ отрицательный, и код дротика можно запустить только в Dartium, но на данный момент нет отдельной виртуальной машины, которую можно было бы использовать. Это так или я не правильно понимаю?   -  person snitko    schedule 04.05.2012
comment
Проверьте эту тему: Доступна ли виртуальная машина Dart?   -  person Idolon    schedule 04.05.2012


Ответы (2)


Ответ положительный.

Например, следующий файл Hello.dart:

main() => print("Hello World");

при запуске с помощью команды (в Windows, но также доступно для Mac, Linux)

dart.exe Hello.dart

будет выводить

"Hello World"

Это очень похоже на node.js.

Кроме того, в редакторе Dart вы можете нажать «Создать > Серверное приложение», после чего команда «Выполнить» будет работать, как в примере выше.

Взгляните на этот файл, который запускает http-сервер из командная строка.

Обновление: я написал пост в блоге об этом сейчас, который должен привести пример и исполняемый код

person Chris Buckett    schedule 04.05.2012
comment
Правильный URL сегмента в сообщении блога: blog .dartwatch.com/2012/05/ - person Helpa; 02.07.2012

Да, вы можете запускать серверные приложения, написанные на Dart. Проект Dart предоставляет библиотеку dart:io, которая содержит классы и интерфейсы для сокетов, HTTP-серверов, файлов и каталоги.

Хороший пример простого HTTP-сервера, написанного на Dart: http://www.dartlang.org/articles/io/

Образец кода:

#import('dart:io');

main() {
  var server = new HttpServer();
  server.listen('127.0.0.1', 8080);
  server.defaultRequestHandler = (HttpRequest request, HttpResponse response) {
    response.outputStream.write('Hello, world'.charCodes());
    response.outputStream.close();
  };
}
person Seth Ladd    schedule 02.06.2012