2012-03-27 3 views
2

Как раз в моих чтениях за последние несколько дней я нашел по крайней мере три разных расширения, предлагающих поддержку хранилища данных для Ember: ember-data, sproutcore-datastore, ember-ezdata, и я думаю, что, возможно, мне не хватает одного.Как я могу оценить различные компоненты хранилища данных для Ember?

Этот диапазон вариантов дает несколько вопросов.

Очевидно, что данные «ember-data» являются «официальными», но также довольно сильно защищены квалификацией («Это не готово к производству») от основной команды.

  • Как сравнить и оценить эти параметры?
  • В серии SproutCore 1.x разработка обычно выполнялась с помощью светильников, а источник данных был подключен позднее. Может ли любой из этих вариантов поддерживать такой рабочий процесс? Могу ли я загрузить некоторые производственные данные таким образом (может измениться с версиями выпуска, но не редактироваться пользователем) и другими данными из моего исходного источника данных?

ETA: Вот related question.

ответ

3

Лично я ожидаю больших вещей от данных ember-данных, но похоже, что у него есть небольшой путь, чтобы стать «готовым к производству».

Когда я начал использовать Ember, проект ember-data только начался, поэтому я решил создать простой слой сохранения. Я закончил с ember-rest, который довольно тонкий слой над jQuery.ajax(). Вы можете увидеть его в использовании в this Rails example. Кстати, вы можете загружать данные JSON непосредственно в ember-rest без подключения к серверу.

У меня создается впечатление, что sproutcore-datastore больше не поддерживается. Я никогда не пробовал ember-ezdata.

Еще один полезный вариант - ember-resource.

Надеюсь, этого достаточно, чтобы вы начали.

+0

Спасибо, Дэн, это полезно, но я все еще пытаюсь выяснить, как правильно оценить эти разные варианты. – pjmorse

+0

Вы можете просматривать данные ember-data в качестве диспетчера данных. Он действует как клиентский магазин для ваших данных и всех его ассоциаций. Существует одна каноническая запись, соответствующая каждой записи на вашем сервере, которую вы можете найти с помощью приложения App.store.find (App.Person, 1) ;. С другой стороны, библиотека, подобная ember-rest, неуправляема и просто предоставляет канал для перемещения данных в/из REST API в объекты ember и контроллеры массивов. У меня нет большого опыта работы с ember-ресурсом, но это выглядит как нечто среднее между этими подходами. –