Лучший способ организовать проект ExtJS - PullRequest
16 голосов
/ 15 сентября 2008

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

Ответы [ 4 ]

28 голосов
/ 17 сентября 2008

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

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

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

1 голос
/ 18 ноября 2009

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

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

1 голос
/ 15 сентября 2008

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

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

0 голосов
/ 17 сентября 2008

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

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

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

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