Совместное использование моделей, представлений и контроллеров между приложениями ExtJS 4 - PullRequest
1 голос
/ 05 августа 2011

Сейчас я работаю над устаревшим веб-приложением, состоящим из нескольких экранов, каждый из которых выполняет отдельную функцию.Я нахожусь в процессе преобразования нескольких экранов в EXTJS 4 с использованием подхода MVC.Чтобы изолировать влияние моих изменений и поскольку у нас нет времени на одновременную конвертацию всего приложения, я преобразовал два экрана в два отдельных приложения EXTJS 4.У каждого экрана теперь есть своя собственная папка, в которой я настроил приложение, используя соответствующую структуру файла и файл app.js.

У меня такой вопрос: по мере продолжения разработки я могу захотеть использовать моделиодно приложение (экран) в другом приложении.Как вы делитесь моделями, представлениями и контроллерами между приложениями?Какой лучший подход?

К вашему сведению, я использую автозагрузку, чтобы вытянуть все.

Спасибо

Ответы [ 2 ]

2 голосов
/ 05 августа 2011

Я бы не использовал автозагрузку в работе, потому что она генерирует много HTTP-запросов для получения всех файлов, что замедляет скорость загрузки страницы. Это хорошо задокументировано на Google Page Speed ​​ и Лучшие практики Yahoo по ускорению вашего сайта .

Рекомендуется предварительно обработать ресурсы при развертывании приложения и создать один файл javascript со всем, что в нем отправлено в одном сжатом ответе (GZIP). Есть несколько инструментов для этой работы, но это сильно зависит от вашей цепочки инструментов. Например, вы можете посмотреть на вопрос SO Лучший JavaScript-компрессор , чтобы получить рекомендации для различных компрессоров (я использую Jammit ).

Если в вашем наборе инструментов есть гибкий настраиваемый компрессор JavaScript, вы можете создать общую папку, в которой хранятся ваши общие файлы, такие как model, stores и некоторые libs. Теперь они включены в сборки для различных проектов.

Если у вас есть веская причина для обслуживания отдельных файлов javascript, вы можете использовать хорошую систему контроля версий, например git , и использовать подмодулей . При таком подходе у вас будет отдельный репозиторий для общих файлов. Это дает вам обратную сторону медленной скорости страницы и немного накладных расходов при обновлении подмодулей.

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

1 голос
/ 16 августа 2011

Вот что сказал мне Саки на форумах Sencha :

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...