2011-01-28 2 views
19

Я оцениваю Backbone.js для хранения данных и пользовательского интерфейса, синхронизированного в моем веб-приложении. Однако большая часть стоимости базовой линии, по-видимому, заключается в использовании интерфейсов RESTful. Хотя в будущем я могу добавить резервное копирование на стороне сервера, мое основное использование касается хранения всех данных в автономном режиме с использованием локального хранилища HTML5.Использование Backbone.js offline

Является ли магистральный избыток для такого прецедента? Если это так, есть ли лучшее решение, ориентированное исключительно на обновление пользовательского интерфейса при изменении данных и наоборот? (Я также изучаю нокаут и Javascript MVC.)

EDIT: Я также изучаю Angular.js и jQuery Data Link.

ответ

28

Backbone.js работает также с локальным хранилищем, как и с запросами RESTful.

Я учиться на примерах вроде парень так вот некоторые ссылки, чтобы вы начали:

  • Todos, приложение Todo, который использует локальное хранилище и Backbone.js, проверка annotated source, чтобы узнать, как это работает.

  • localStorage adapter является все, что вам нужно, чтобы начать, принять взгляд на the annotated source of that тоже.

9

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

Неудивительно, что у меня был такой же кандидат: Backbone.js, Javascript MVC и Knockout.js.

Backbone.js выиграл:

  • Я не обязан следовать конвенциям или заменить то, что уже на месте
  • Я Ис взломан в кодовом, чтобы понять, что не было ясен, документация
  • Я успешно игнорировали большое количество своих функций, не был интересен для меня
  • Это дало приемлемую производительность на загруженных страницах
  • Он работает

Backbone.js имеет средний вес и Относительно magic-free; вы, вероятно, воспользуетесь небольшим подмножеством своей функции, но это прочная основа для разработки вашего решения.

1

Вы также можете взглянуть на AFrameJS. Я создал доказательство концепции note-taking app, которое работает в автономном режиме, используя спецификацию HTML5 WebSQL, но также хочу создать адаптер, который также использует localStorage. Мое личное мнение (и я предвзято) заключается в том, что использование библиотеки MVC любого рода поможет вам в долгосрочной перспективе - ценность библиотек, таких как Backbone, Knockout и AFrame, заключается в их способности уменьшать когнитивную нагрузку разработчик, обеспечив хорошее разделение проблем. Функциональность, связанная с данными, находится в моделях, отображающих эти данные в представлениях, а клей хранится в контроллерах.Разделение этих трех концепций может показаться педантичным вначале, но конечный результат - это код, который легче разрабатывать, легче тестировать, проще поддерживать и легче использовать. Основное руководство по использованию AFrameJS можно найти на моем сайте по адресу: http://www.shanetomlinson.com/2011/aframejs-tutorial-for-noobs/

Смежные вопросы