Да. Прежде всего, попробуйте сделать все ваши JS внешними и загружать их по требованию, предварительно загружая только те компоненты, которые вам действительно нужны. Затем следите за тем, чтобы каждый файл javascript загружался по порядку. Запустите это через JSBuilder (инструмент для упаковки и сжатия JavaScript).
Включите GZIP на вашем сервере. Сжатие Gzip смогло уменьшить мои статические размеры файлов (css, js и т. Д.) На 73,43%.
Кеш, кеш, кеш. Все, что не меняется между развертываниями приложений, должно иметь заголовок с истекшим сроком давности.
Если вы можете себе это позволить, обслуживайте свои файлы с CDN. Это распределенные сети, облегчающие доставку контента.
Избавьтесь от своих файлов cookie или объедините их, кодируя их значения в JSON или используя серверную службу кэширования для кэширования значений, и сохраняйте только ключ кэширования в файле cookie. Таким образом, у вас есть только один файл cookie вместо сотен.
Поместите свой CSS вверху и оптимизируйте его, убрав все неиспользуемые селекторы и свойства.
Да, и подумайте о переходе на тонкий клиент ... перезагрузка веб-страницы - это 1999 год. Использование тонкого клиента позволяет вам попробовать различные методы оптимизации загрузки страниц, а также отделить ваше представление (веб-клиент) от вашего сервера и промежуточное программное обеспечение API, позволяющее разрабатывать интерфейс практически в любой среде RIA по вашему выбору. С JQuery вы можете сделать его очень легким или использовать более надежный предварительно созданный пользовательский интерфейс Ext или Dojo.
Уменьшите количество неиспользуемого HTML. Таблицы являются злыми, если в них нет абсолютной необходимости или они не вставлены в дом после загрузки страницы.
Я уверен, что некоторые из них потребуют некоторой серьезной доработки, которая может не соответствовать вашей архитектуре приложения и набору навыков разработчика. Хорошей новостью является то, что вы можете улучшить свой пользовательский опыт, просто кэшируя куки-файлы на стороне сервера (как я уже упоминал выше), распаковывая статические компоненты, комбинируя и минимизируя любые и все JS, и оптимизируя свой CSS и макет, не вдаваясь в реструктуризация вашего веб-приложения.