У нас есть довольно большое приложение на вершине Ember 1.7. Существует довольно значительная часть кода - это наследие, и мы хотим реорганизовать/переструктурировать, чтобы избавиться. Цель состоит в том, чтобы быть в последней версии Ember (2.9 в данный момент), использовать ember engine, так что позже мы можем портировать часть приложения в другие приложения, если это необходимо. На этот раз у нас нет большого спроса на новые функции, и у нас есть 6-8 недель, чтобы инвестировать в обновления технологий. Также в течение этого времени нам может потребоваться добавить некоторые функции в существующее приложение. Наши разработчики могут быть привлечены к работе над некоторыми другими небольшими проектами в течение нескольких недель. Мы считаем, что быть на Ember 2.x имеет решающее значение. В 2017 году у нас может не хватить времени на миграцию. У нас есть 2 варианта на данный момент:Migrate Ember 1.7 to Ember 2.9
- Погрузитесь с помощью нашей головы вниз, перестройте приложение с помощью последнего ember, что означает, что рефакторинг одновременно с мигрированием. Если есть новые функции, мы добавим в старое приложение и перенесем позже.
- Рефакторинг сначала, повторная архитектура версии 1.7 Ember, избавиться от старого кода, который нам не нужен, и мигрировать, когда мы закончили рефакторинг. Если нам нужно добавить дополнительные функции в приложение, мы можем добавить его в процессе рефакторинга. Когда это будет сделано с рефакторингом, мы заморозим приложение из новых функций.
Первый подход более рискован, вещь может выйти из-под контроля из-за реорганизации и миграции в одно и то же время. Но если все будет хорошо, это можно сделать за более короткое время.
Более поздний подход намного безопаснее. Если в конце у нас заканчивается время, у нас все еще есть лучшая база кода. И всякий раз, когда у нас есть время, мы можем вернуться к миграции. Но это займет больше времени, так как нам нужно будет сделать еще один недостаток рефакторинга при переносе на ember 2.x. И у нас может не быть времени для миграции и навсегда застрять с Ember 1.7.
Мы пытаемся найти третий подход, который реорганизует и переносит небольшие куски приложения на ember-двигатели или более мелкие приложения ember. И добавьте эти небольшие двигатели/приложения в существующее большое приложение для старых приложений. Тем не менее, я не мог найти нигде, где упоминается, что мы можем использовать Ember 2.x внутри приложения Ember 1.x.
Любая идея, предложение, подсказки, подсказывающие, что мы можем достичь наших целей, будут действительно оценены. Еще одно, существующее приложение с использованием RequireJS.