Intereting Posts
Можно ли получить координаты в реальном времени ImageView, когда он находится в анимации трансляции? Сообщение об ошибке эмулятора Android: «PANIC: Отсутствует программа для эмулятора эмулятора для« x86 »CPUS». Кто-нибудь использует Sencha Touch для мобильной разработки? Как отключить историю совместного использования при использовании ShareActionProvider? ScrollView отсекает верх и оставляет пространство внизу Push-уведомления для Android и iPhone Размер файла, который мы получаем через функцию AssetManager getAssets в Android Диалоговое окно предупреждения о дизайне материалов Как я могу автоматически очищать вывод logcat перед каждым запуском в Android Studio? Takepicture зависает на Android 2.3.3 Автообновление google play Как указать цвет фона в ресурсах списка состояний цвета? Android Studio Exclude Class из сборки? Подтверждение и отрисовка диалогового окна Android Fullscreen Android L Preview не ищет собственные библиотеки в папке «armeabi» (UnsatisfiedLinkError)

Inline vs включает js и css?

В среде с латентностью не менее 500 мс по мобильным соединениям 2G (~ 0.1 Мбит / с), что является самым быстрым и эффективным способом отправки клиенту примерно 10 килобайт css и js примерно в 5-10 файлов на сервер?

Я могу представить три варианта:

  1. Объединение всех js в один файл и все css в один файл
  2. Связывание всех файлов css и js по одному
  3. Встраивать все

Я знаю, что Google использует встроенный, но это, вероятно, просто для сохранения сокетов. Они даже экономят RAM, работая в режиме без гражданства – они доверяют клиентам запоминать сеансы для них. Сила сервера совсем не проблема.

С другой стороны, facebook, похоже, автогенерирует свои css (их имена закодированы в base64), но в более 10 различных файлов, отправленных пользователю, и они даже не оптимизируют его так сильно; Только удаление некоторых пробелов.

Я уже передаю все файлы через функцию, которая сжимает все, поэтому любой из них возможен. Я не хочу выбирать первую альтернативу, потому что это проще.

Первые два используют кеширование (второе – бит меньше первого), а для второго требуется только три запроса на сервер, а для третьего требуется только один запрос на получение с сервера (игнорируя несколько изображений, которые мы могли бы иметь на Некоторые из страниц).

Является ли Android / iOS кеш js и css перезапуском браузера? Если нет, то встроенный звук лучше.

Единственная цель – минимизировать среднее время загрузки пользователя. Каждый пользователь будет тратить около 100 загрузок на сайт в день, имея около 40 файлов css и js в день. Css и js – это в основном статический контент. Он настроен на кеширование 30 дней, и мы изменим URL-адрес, если файл изменится с помощью /path/to/file.ext?md5-hash-of-file . Кроме того, везде, где это возможно, все gzip.

РЕДАКТИРОВАТЬ:

Я думаю, я должен уточнить два варианта, которые я нашел для второго номера. Является ли хорошей идеей использовать один файл для css и js по всему сайту? Он будет использовать только два запроса и удалить любое двойное (или перекрестное) кеширование, потому что одна функция находится в двух или более разных комбинированных js-файлах, но загрузка до 1 МБ не звучит так хорошо.

Сегодня это в основном один комбинированный CSS для каждого представления, поэтому каждый раз, когда вы просматриваете одну и ту же страницу, содержимое кэшируется. Однако некоторые js и css используются на нескольких страницах.

Solutions Collecting From Web of "Inline vs включает js и css?"

Inline css и javascript сделает вашу страницу такой тяжелой. Очень хорошая практика объединить ваши таблицы стилей и все файлы javascript в один и включить их в вашу страницу. Это сделает вашу страницу очень быстрой по сравнению с встроенными стилями.

Это действительно зависит от использования. Для страницы с посетителями только один раз , я бы рекомендовал вложить все. Это обеспечивает более быструю начальную загрузку (один запрос и несколько запросов) и с ним легче работать. Это касается целевых страниц, страниц справки, мастеров и аналогичных одноразовых страниц.

Однако, если вы ожидаете постоянных посетителей , я бы рекомендовал использовать внешний файл. В то время как первая загрузка будет медленнее, вы получите ее с нулевым временем загрузки для этих активов. Это касается большинства веб-сайтов.

Проблема с # 2, связанная с каждым файлом, заключается в том, что самым большим фактором времени загрузки для небольших элементов является время в оба конца, а не размер файла. Для настройки каждого файла требуется несколько раундов. Это также означает, что вы должны комбинировать файлы css и js. В вашей среде с высокой задержкой поездки будут особенно болезненными. Вот совет Google по поездкам в оба конца

Как указывали другие, # 3, inlining, означает, что файлы нельзя кэшировать. Это может замедлить время загрузки из-за увеличенного размера html. Однако вы избегаете штрафа в оба конца.

В вашей среде я также рекомендовал бы посмотреть на кеш-приложение HTML5 для оптимизации кэширования файлов css и js. Вам нужно будет конвертировать ваше приложение для использования вызовов AJAX вместо загрузки html-страниц, но это также уменьшает необходимую передачу данных.