Давайте начнем с context .Что у меня в руках?
- Несколько веб-приложений (все .NET: WebForms и MVC)
- Общий шаблон пользовательского интерфейса
- Каждое приложение имеет также свой собственныйЭлементы пользовательского интерфейса.
- Несколько файлов для css / javascript.Некоторые общие для всех приложений, некоторые специфические для приложения.
- Десятых файлов на странице = несколько запросов на странице = медленно.
Вопрос: Ваместь какие-либо идеи или комментарии по моим идеям для достижения следующих целей?
- Сократить количество запросов до минимума.
- Минимизируйте CSS и JavaScript.
- ИспользованиеCDN для их распространения.
- Иметь жизнь и иметь возможность управлять областью пользовательского интерфейса.
Идея 1
Централизация пользовательского интерфейсав проекте.Каждый виджет пользовательского интерфейса будет там с образцом (который можно будет протестировать позже).
Я могу «построить» пользовательский интерфейс: minify, group, publish для глобального известного места.Приложения могут ссылаться на эти глобальные файлы и использовать элементы пользовательского интерфейса.
Это приведет к некоторой дисциплине при использовании пользовательского интерфейса.Это не будет «взломать CSS, и все готово».И через 3 месяца все полно хаков, и вы не знаете, с чего начать, когда что-то исправляете.
плохо : вы работаете с приложением, но часть пользовательского интерфейса должна работатьэто сначала в другом проекте.Перейдите туда, создайте свои виджеты, а затем используйте их в своем приложении.
Idea 2
Забудьте идею CDN и воспользуйтесь динамическим .NET minifier / packer,Я поделюсь основными частями пользовательского интерфейса, и каждое приложение будет генерировать динамически необходимые им пакеты во время выполнения.
bad : нет CDN, динамически генерируется то, что, как вы знаете, статично, нет централизованного местадля пользовательского интерфейса (у вас есть общая база, но больше ничего).