Разница в реализации истории Backbone.js, Davis.js и History.js
-
27-10-2019 - |
Вопрос
Все эти 3 библиотеки позволяют манипулировать объектом истории. ОК, Backbone делает гораздо больше, но давайте рассмотрим только историю.
- http://documentcloud.github.com/backbone/#history
- https://github.com/olivernn/davis.js
- https://github.com/browserstate/history.js
В чем разница между этими 3 реализацией?
Решение
История.
Davis.js - это слой маршрутизации, в первую очередь на вершине pushstate (хотя это можно легко переключить на хэш -маршрутизацию). Это дает вам простой API для определения и реагирования на маршруты в вашем приложении.
Маршрутизатор Backbone похож на Дэвиса, однако он пытается автоматически отступать к маршрутизации на основе хэша, когда Pushstate недоступна.
Как автор Davis, я слегка предвзят, но я думаю, что API Davis немного приятнее и мощнее, чем магистрали. Я также думаю, что попытка изящно справиться с падением на маршрутизацию на основе хэша, когда Pushstate недоступна, не стоит усилий и сложности, которые она может представить.
Другие советы
Ну вот:
- Davis.js только поддерживает html5 story.pushstate. Браузеры, которые не работают с ним, не поддерживаются, поэтому, вероятно, не вариант.
- И магистраль, и история.
- Как вы знаете, Backbone также делает MVC, и через подчеркивание, от которого он зависит, дает вам дополнительных помощников для функциональных вещей.
Это действительно зависит от того, нужны ли вам дополнительные функциональность основы, и в этом случае это очевидный выбор.