Реальная проектная структура проекта с Sencha Architect

Я новичок в Sencha ExtJS и Architect MVC, но я знаю MVC и некоторые другие библиотеки JQuery в целом.

Я хочу спросить при построении реальной системы, каков правильный подход к компоновке структуры приложений Sencha в Architect 2?

Например, в нашем приложении есть следующие отделы, у них есть разные функции:

Accounting, Controlling, Quality Assurance, Customer Services, Human Resources, Logistics, Purchasing, Sales, Records Management ...

Подход 1: Напишите их в разных проектах Sencha Architect. Выровняйте страницу главной страницы + основную область + заголовок/нижний колонтитул + страницы боковой панели. (используя MVC.NET в нашем случае)

--- Плюсы:

  • Несколько программистов могут работать в разных подпроектах в гибкой Окружающая среда.

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

--- Минусы:

  • У нас есть разные проекты Sencha Architect для, например, основные области, боковая панель, верхний колонтитул, нижний колонтитул. Как они взаимодействуют друг с другом? Теперь мы используем JQuery для передачи информации между ними, но это выглядит как хакка.

Подход 2: Напишите их в одном большом проекте Sencha Architect. Таким образом, он попадает на одну страницу app.html со всем в ней.

--- Плюсы:

  • Теперь каждый компонент проекта может взаимодействовать друг с другом.

  • Истинное одностраничное приложение "Все-в-одном" app.html выглядит хорошо.

--- Минусы:

  • Нелегко, если несколько программистов работают над одним проектом Sencha Architect.

  • Это одна сложная часть приложения. Хотя он разделен на простые категории App, Store, M, V, C, но мы можем иметь сбой имени на компонентах в более крупном проекте.

  • Скорость загрузки может быть проблемой? Я просто догадываюсь, потому что мы не знаем, может ли проект Sencha Architect MVC загружать соответствующие окна и компоненты по частям или всего вместе.

Вопрос: если мы возьмем 1-й подход, как мы делаем связь между различными проектами? Если мы возьмем 2-й подход, Sencha Architech 2 предназначен для создания реальных проектов таким образом? укладывая все в один большой проект?

Ответ 1

Сначала я скажу, что вы думаете об этой проблеме всеми правильными способами. Ваши плюсы и минусы находятся на месте.

Второй для полного раскрытия. Я инженер в команде Sencha Architect.

Мое предложение состоит в том, чтобы иметь отдельные проекты, которые более слабо связаны и, возможно, связаны с приложением портала/приборной панели. Приложение клей может быть написано во всем, что включает Ext JS в Architect.

Причина, по которой я говорю, это просто то, что мне не нравится вкладывать все яйца в одну корзину, и если вы создали одностраничные приложения, вы будете знать, что когда они работают, они действительно гудят. Но когда возникает непонятое исключение javascript, оно может заставить этого пользователя сделать полное обновление, чтобы вернуться в счастливое состояние. Конечно, если вы совершенны, этого никогда не произойдет: p Кто идеален?

Я создаю Архитектор, который на самом деле является очень большим одностраничным приложением. Как команда мы все делаем все возможное, чтобы каждая система могла работать с минимальной зависимостью от любой другой системы (ов), насколько это возможно. Мы используем такие вещи, как eventing, pub/sub, адаптеры и шаблоны плагинов и т.д.

Эти системы очень сильно разбиты на отдельные пространства имен и каталоги, которые, как и все программное обеспечение, помогают разработчикам разделять. Сегодня архитектор не поддерживает эту идею. Однако с согласия вы можете приблизиться. например HRController, HRNewEmployeeForm, HREmployeeGrid

Если HR как отдельное приложение, тем не менее, предоставляет вам HR.EmployeeController, HR.NewEmployeeForm, предполагая, что ваше имя приложения - HR. Каждое приложение, являющееся отдельным проектом, также позволяет команде разработчиков работать более гибко в том, как она развертывается! Основная победа.

Другие пользователи использовали этот подход, и один из таких пользователей объединяет все свои проекты, используя управляемый подход iframe http://www.sencha.com/forum/showthread.php?243179

Asp.Net MVC - еще один хороший подход и может предоставить вам некоторые функции, такие как auth и т.д....

Надеюсь, это поможет!