Миграция из магистральной системы в AngularJS - насколько это сложно?

Я разрабатываю большой проект в Backbone (около 8000 строк javascript, исключая внешние библиотеки), и я рассматриваю переход на AngularJS.

В настоящее время у меня много кода, который обрабатывает изменения DOM, связывание и отключение событий. Я использую Mustache для рендеринга шаблонов. Большинство данных загружается AJAX и хранится в Backbone-моделях, некоторые из которых используют BackboneRelational. Я использую около 10 маленьких плагинов jQuery, чтобы притворяться файлами пользовательского интерфейса.

Я настроен на эту миграцию, однако я беспокоюсь о своих крайних сроках. Итак, вопросы:

  • Как долго можно переписать его с помощью AngularJS? Может быть, кто-то может поделиться своим опытом.
  • Можно ли начать использовать Angular прямо сейчас и реализовать с ним новые функции, не вызывая головных болей, когда нам нужно взаимодействовать с частью Backbone?
  • Если я решит сделать этот рефакторинг после крайнего срока, какие методы вы бы рекомендовали сделать код более легким для переноса?

Ответ 1

Я поместил большие 5k + строки кода BB в Angular. Я сделал этот порт, когда я начинал сначала с Angular, и если я правильно помню, я делал это в течение выходных, а затем 3 дня. Так было сделано через 5 дней ок. Вы должны заметить, что я написал все приложение BB (все строки 5k, а также..), поэтому мне было легче переносить.

Вы могли бы сначала скомбинировать BB и Angular (разработать новые части в Angular и медленно портировать детали BB).. но я бы предположил, что если вы можете, сначала сделайте портирование полного приложения.

Как правило, все ваши базовые модели и коллекции должны входить в сервисы (с тем же именем?). Портирование html и шаблонов Mustache должно быть куском пирога. Часть, которая будет немного сложной, - это ваши плагины jquery. Но если они простые, тогда вы сможете использовать сквозную прокси angular -ui jQuery (http://angular-ui.github.io/).