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



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


При разработке приложения структура файлов и папок не имеет особого значения, поскольку вы, вероятно, захотите минимизировать код выпуска и вставить его в один файл JS, когда закончите. Автоматический обработчик или сценарий сборки, вероятно, будут лучшим выбором для этого (см. http://extjs.com/forum/showthread.php?t=44158).
Тем не менее, я где-то читал на форумах ExtJS, что рекомендуется использовать один файл для каждого класса, и я могу подтвердить это на собственном опыте.
Я бы начал здесь http://blog.extjs.eu/know-how/writing-a-big-application-in-ext/
Этот сайт дает хороший вводный обзор того, как структурировать ваше приложение.
В настоящее время мы используем эти идеи в двух наших приложениях ASP.NET MVC / ExtJS.
Начиная новый большой проект, я решил сделать его модульным. Обычно в больших проектах не все модули используются конкретным пользователем, поэтому я загружаю их по запросу. Например, если в проекте будет 50+ модулей, большая вероятность, что пользователь работает только с 10-ю модулями.
Такая архитектура позволяет иметь относительно небольшой исходный код.
Модули хранятся на сервере и загружаются вызовом AJAX, оценивая responseText в обратном вызове AJAX. Единственная проблема в том, что вы должны отслеживать зависимости модулей, которые также могут храниться внутри модулей. У меня есть класс под названием Module, и я проверяю каждый новый экземпляр модуля на наличие в задаче. Если его еще нет, я загружаю его с сервера.
Я предлагаю пользователям дождаться загрузки приложения, поэтому мы обычно загружаем весь JS во время первоначального запуска приложения. Я предлагаю загружать и оценивать файлы JS по мере необходимости, особенно когда весь JS будет минифицирован перед развертыванием в производственной среде.
Я предлагаю имена, один класс для каждого файла и четко определенную и хорошо документированную иерархию классов.
Что вы имеете в виду под «очень легким сервисом JSON PHP»? Логика на стороне сервера очень проста? Если это так, я бы удивился, почему бы не использовать более простой JS-фреймворк, такой как Prototype или jQuery?