Использование Backbone.js в автономном режиме - PullRequest
19 голосов
/ 29 января 2011

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

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

РЕДАКТИРОВАТЬ: Я также сейчас изучаю Angular.js и jQuery Data Link .

Ответы [ 4 ]

28 голосов
/ 29 января 2011

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

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

  • Todos , приложение todo, использующее локальное хранилище и backbone.js, посмотрите аннотированный источник , чтобы увидеть, какэто работает.

  • Адаптер localStorage - это все, что вам нужно для начала, взгляните на аннотированный источник этого тоже.

9 голосов
/ 30 января 2011

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

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

Backbone.js выиграл:

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

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

4 голосов
/ 19 июля 2012

Я знаю, что это было давно, но вы, возможно, захотите проверить офлайн-проект на github: https://github.com/Ask11/backbone.offline

1 голос
/ 02 февраля 2011

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

...