Dart взаимодействие/доступ к базе данных

Как Dart (на стороне сервера) может обращаться к базе данных?

Могу ли я выполнять SQL-выражения напрямую или могу использовать какой-то ORM?

Ответы

Ответ 1

В настоящее время нет API баз данных для Dart, который соперничает с ODBC/JDBC, также, насколько мне известно, ORM отсутствует. В будущем определенно будет такая вещь, также Dart SDK в конечном итоге позволит вам связать собственный код с ним, что упростит предоставление доступа к базе данных путем связывания с существующими библиотеками баз данных.

Я сам в настоящее время использую Riak на Dart через свой интерфейс REST, который хорошо работает для небольших приложений, но для чего-то более серьезного нам придется ожидание поддержки SDK лучше.

Примечание. базы данных на стороне клиента, такие как IndexDB и WebSQL, находятся в процессе добавлено до dart: html прямо сейчас.

Обновление: Теперь есть драйвер MongoDB, и мы работаем над драйвером для Amazon DynamoDB

Обновление 2: Теперь драйверы доступны для mysql и postgresql.

Ответ 2

Существует драйвер mongoDb, который выпустил Вадим Цушко. Это было упомянуто в dartlang news в последнее время.

Pastebin, например, использование.

Обновить. Я также написал об этом в блоге dartwatch

Ответ 3

Это затрагивает более крупный вопрос о переносе из существующих архитектур, таких как CakePHP и RoR в Dart. Дарт очень новенький и не обеспечивает много функциональности на стороне сервера, а не с драйверами db - это наименьшая из ваших проблем. В Dart отсутствует проверенная и проверенная на практике структура MVC, что означает, что почти смешно воображать переход с CakePHP на ради аргумента Дарта.

В ситуации, когда вы хотите попробовать и начать конвертировать в цели Dart - было бы бессмысленно обращаться к db непосредственно из Dart, а использовать RESTful-сервисы в существующей инфраструктуре MVC.

Это обеспечивает гораздо более чистый и надежный интерфейс, чем кодирование SQL в Dart и обеспечивает хороший путь миграции.