Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Оптимизация большого приложения (https://javascript.ru/forum/misc/29512-optimizaciya-bolshogo-prilozheniya.html)

danik.js 01.07.2012 04:20

Оптимизация большого приложения
 
Интересует такой вопрос. Положим имеется большое приложение, скажем админка cms. Для построения gui используется что-то типа ExtJS или подобного. Имеется большое количество js-кода с реализацией ui.

Вопрос: нормально ли для одностраничного приложения загружать за раз весь javascript (например 3mb) ? Это много для совр. браузера или мало? Или нужно что-то делать для частичной загрузки/выгрузки скриптов по требованию? Как загрузить необходимы скрипты еще ясно, а вот как их "выгрузить" - не понятно. Достаточно ли для этого удалить из DOM узел script ? Есть ли вообще в этом смысл?

И еще сопутствующий вопрос:

Есть ли современные фреймворки для построения приложений, которые не ставят себе задачу поддерживать IE5.5, но при этом поддерживают фичи html5 (для того же d'n'd, history и т.д.), возможно canvas, а для стилизации всецело используют css2-3 ?

Просто объем скриптов и без того большой, не хотелось бы тянуть поддержку ie6-8. А интерфейс подтормаживает, поэтому куча экстра-дивов ради стилизации, когда все решается одним дивом на css3, крайне не желательна.

Заранее благодарю за любые ответы.

danik.js 02.07.2012 23:04

что то все молчат.. форум партизанов чтоли? :)

Drimogemon 02.07.2012 23:23

я приду отпишусь пошел бухать)

dmitriymar 02.07.2012 23:27

Цитата:

Сообщение от danik.js
что то все молчат.. форум партизанов чтоли?

форум не экстрасенсов
Цитата:

Сообщение от danik.js
Вопрос: нормально ли для одностраничного приложения загружать за раз весь javascript (например 3mb) ?

браузеры код кешируют(если не отключено кеширование. )- второй раз он не загружается.
Вопрос в том что выдержит ли пользователь первую загрузку
Цитата:

Сообщение от danik.js
а вот как их "выгрузить" - не понятно.

что значит выгрузить? -будет работать только то что подключенно
Цитата:

Сообщение от danik.js
Просто объем скриптов и без того большой, не хотелось бы тянуть поддержку ie6-8. А интерфейс подтормаживает, поэтому куча экстра-дивов ради стилизации, когда все решается одним дивом на css3, крайне не желательна.

сss 3 в ие6 -это как?
Есть здравый разум-баланс между пользователем и поисковиками

Drimogemon 03.07.2012 02:26

Цитата:

Сообщение от dmitriymar
сss 3 в ие6 -это как?

Цитата:

Сообщение от danik.js
не хотелось бы тянуть поддержку ie6-8.

  ▲
▲ ▲

danik.js 03.07.2012 04:24

Цитата:

Сообщение от dmitriymar
форум не экстрасенсов

Да я кажется довольно подробно расписал вопрос.
Цитата:

Сообщение от dmitriymar
сss 3 в ие6 -это как

Я пояснил что ие6-8 не нужен. Речь то об админке. Или по крайней мере о приложении, правила использования которого я устанавливаю, а не клиенты. Поэтому ишаки идут лесом. Причем тут поисковики - вобще не ясно. Я ведь четко указал, что вопрос касается одностраничных приложений а не веб-страниц с контентом.

Цитата:

Сообщение от dmitriymar
что значит выгрузить? -будет работать только то что подключенно

Но распарсив скрипт однажды, браузер ведь не удалит скрипт из памяти. Речь о мегабайтах.
Это нормально будет загружать 2-3 мб скриптов и исполнять их? Хотя вроде gmail так и делает. Грузит около 1.5 МБ и все вроде нормально. Но все же хотелось бы услышать мнения, советы...

dmitriymar 03.07.2012 15:20

Цитата:

Сообщение от danik.js
Да я кажется довольно подробно расписал вопрос.

это вы так считаете. гуглить оптимизация js
Цитата:

Сообщение от danik.js
Но распарсив скрипт однажды, браузер ведь не удалит скрипт из памяти. Речь о мегабайтах.

как вы кеш себе представляете? или вы зашли на 100 сайтов -след раз комп включаете а вся оператива забита?

danik.js 03.07.2012 18:07

Причем тут кэш и оператива. Я про единовременную загрузку всех скриптов приложения. Тоесть 2-3мб.
Кэш это одна проблема. Меня же пока интересует другое - не будет ли все тормозить при разовой загрузке такого объема скриптов. Еще раз повторяю: я не про скорость загрузки скриптов. Я про скорость работы приложения. У меня создается впечатление что лучше разбить приложение на десяток-другой страниц, и на каждой подгружать только нужные для работы скрипты. Но это неудобно, и создает кучу проблем (в основном связанные с восстановлением состояния интерфейса, потерей хистори областей редактирования, и тд.).

Короче, имел ли кто дело с серьезными одностраничными приложениями на javascript ?

melky 03.07.2012 18:24

Цитата:

Сообщение от danik.js
Короче, имел ли кто дело с серьезными одностраничными приложениями на javascript ?

я имел (ю). писать интерфейс пришлось с нуля - ибо всё не подошло.

dmitriymar 03.07.2012 19:30

Цитата:

Сообщение от danik.js
Я про единовременную загрузку всех скриптов приложения. Тоесть 2-3мб.

это не большое.
Цитата:

Сообщение от danik.js
Я про скорость работы приложения.

выбросте всё лишнее в т.ч и библиотеки. перепишите код-там 100% мусора немерянно
пересмотрите архитектуру-100% что подход к ней неправильный


Часовой пояс GMT +3, время: 00:20.