Подтвердить что ты не робот

Лучший способ организовать проект ExtJS

Я только начал разрабатывать приложение ExtJS, которое планирую поддерживать с помощью очень простой службы JSON PHP. Кроме этого, он будет автономным. Мой вопрос: какой лучший способ организовать файлы и классы, которые неизбежно возникнут? У любого есть опыт работы с крупными проектами ExtJS (несколько тысяч строк).

4b9b3361

Ответ 1

Я бы начал здесь http://blog.extjs.eu/know-how/writing-a-big-application-in-ext/

Этот сайт дает хороший вводный обзор того, как структурировать ваше приложение.

В настоящее время мы используем эти идеи в двух наших приложениях ASP.NET MVC/ExtJS.

Ответ 2

При разработке приложения ваша структура файлов и папок не имеет особого значения, поскольку вам, вероятно, захочется свести к минимуму код выпуска и вставить его в один JS файл, когда вы закончите. Автоматический обработчик или сборка script, вероятно, будет лучшим выбором для этого (см. http://extjs.com/forum/showthread.php?t=44158).

Тем не менее, я где-то читал на форумах ExtJS, что один файл для каждого класса рекомендуется, и я могу подтвердить это на собственном опыте.

Ответ 3

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

Я предлагаю имена, один класс для каждого файла и хорошо определенную и хорошо документированную иерархию классов.

Ответ 4

При запуске нового крупного проекта я решил сделать его модульным. Обычно в больших проектах не все модули используются определенным пользователем, поэтому я загружаю их по требованию. F.e., если проект будет иметь 50+ модулей, большая вероятность того, что пользователь работает только с 10-.

Такая архитектура позволяет сделать исходный код относительно небольшим.

Модули хранятся на сервере и загружаются вызовом AJAX, eval'uating responseText в обратном вызове AJAX. Единственная проблема с этим, вы должны следить за зависимостями модулей, которые также могут храниться внутри модулей. У меня есть класс под названием Module, и я проверяю каждый экземпляр модуля для существования внутри задачи. Если он еще не существует, я загружаю его с сервера.