Дает ли асинхронная загрузка модуля какую-либо выгоду, когда загрузка модуля неизбежна?

Модули AMD, такие как requirejs, могут помочь сэкономить на обмене данными по сети, если возникает случай, когда загрузка модуля никогда не требуется. Но даст ли это вообще какую-либо выгоду, когда загрузка модуля неизбежна, например, загрузка общих библиотек, таких как jQuery и загрузочные файлы javascript.


person Juzer Ali    schedule 04.12.2013    source источник


Ответы (1)


Когда загрузка модуля неизбежна, requirejs вообще не дает никакой выгоды. Наоборот, это вредит вашей работе. Это связано с тем, что загрузка ресурса скриптом всегда медленнее, чем загрузка его через анализатор html. Таким образом, в целом сценарии, загруженные через тег <script>, будут быстрее, чем загрузка через ajax, а затем evaling. То же самое касается тегов <img> и любого статического ресурса.

AMD предлагает преимущества только в том случае, если ваши сценарии слишком велики и вы хотите загружать модули постепенно, а не все сразу. Если возникает случай, когда модуль может быть вообще не нужен, то есть выигрыш с точки зрения проходимости сети и пропускной способности, то в таких случаях его обязательно нужно использовать.

Такие библиотеки, как jQuery и bootstrap, обычно требуются заранее, нет смысла делегировать их AMD.

person Juzer Ali    schedule 04.12.2013
comment
Вы должны написать сообщение в блоге вместо того, чтобы задавать основанный на мнении вопрос, на который вы собираетесь ответить сами. Некоторые ссылки, результаты тестов были бы хороши, если вы хотите, чтобы вас воспринимали всерьез. Отказ от ответственности: я не против (... пока, все еще рассматриваю) - person kryger; 06.12.2013
comment
Stackoverflow утверждает, что можно делиться знаниями, отвечая на собственный вопрос. К тому же не каждый вопрос stackoverflow таит в себе бенчмарки и результаты. Я буду размещать ссылки, подтверждающие мое утверждение. И это не вопрос мнения, AMD медленнее, чем тег script, подождите некоторое время для ссылок. - person Juzer Ali; 06.12.2013