Question - What makes an application complex ?
Ответ - Использование слова «сложный» в самом вопросе. Следовательно, общая тенденция будет искать комплексное решение с самого начала.
Question - What does the word complex means ?
Ответ - Все, что неизвестно или частично понято. Пример: теория гравитации даже сегодня сложна для меня, но не для сэра Исаака Ньютона, который открыл ее в 1655 году.
Question - What tools can I use to deal with complexity ?
Ответ - Понимание и простота.
Question - But I understand my application . Its still complex ?
Ответ. Подумайте дважды, потому что понимание и сложность не сосуществуют. Если вы понимаете огромное огромное приложение, я уверен, что вы согласитесь, что это не что иное, как интеграция маленьких и простых модулей.
Question - Why all of the above philosophical discussion for a question on
Single Page Application (SAP)?
Ответ - Потому что,
-> SPA - это не какая-то новая технология, которая была недавно изобретена, для которой нам нужно заново изобретать колесо для многих вещей, которые мы делаем в разработке приложений.
-> Это концепция, основанная на необходимости повышения производительности, доступности, масштабируемости и удобства обслуживания веб-приложений.
-> Это довольно недавно идентифицированный шаблон проектирования, поэтому понимание SPA как шаблона проектирования имеет большое значение при принятии обоснованных решений об архитектуре SPA.
-> На корневом уровне никакой SPA не является сложным, потому что после понимания потребностей приложения и шаблона SPA вы поймете, что вы все еще создаете приложение, почти так же, как вы делали это раньше с некоторыми изменениями и перестановки в подходе к разработке.
Question - What about the use of Frameworks ?
Ответ - Каркасы - это код / решение для некоторых распространенных и общих шаблонов, поэтому они могут снизить нагрузку на% (переменную, в зависимости от приложения) от разработки приложения, но тогда от них не следует ожидать ничего особенного специально для тяжелых и растущих применений. Всегда полезно иметь полный контроль над структурой и потоком вашего приложения, но самое главное - код для него. В коде приложения не должно быть серых или черных областей.
Question - Can you suggest one of the many approaches to SPA architecture ?
Ответ. Подумайте о своей собственной структуре, основанной на характере вашего приложения. Категоризировать компоненты приложения. Ищите существующую структуру, которая близка к вашей производной среде, если вы найдете ее, то используйте ее, если вы ее не найдете, я предлагаю продолжить работу со своей собственной. Создание фреймворка требует больших усилий, но в долгосрочной перспективе дает лучшие результаты. Некоторые основные компоненты в моей структуре SPA будут:
Источник данных: модели / коллекции моделей
Разметка для представления данных: шаблоны
Взаимодействие с приложением: События
Состояние захвата и навигации: Маршрутизация
Утилиты, виджеты и плагины: библиотеки
Дайте мне знать, если это помогло, и удачи в вашей архитектуре SPA !!