Эмёрдж: система управляемой загрузки страниц

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

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

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

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

  • class="emerge" — появись только после того, как все твои внутренности будут загружены;
  • data-effect="slide" data-up="100px" — появись, пролетев снизу вверх 100 пк;
  • data-spin-parent="true" — показывай ромашку в родительском элементе, пока не загрузишься.

По умолчанию любой элемент с классом emerge появляется после загрузки всех содержащихся в нём изображений с полусекундным фейдом (изображения, прописанные через ЦСС, тоже учитываются). Эффекты позволяют модифицировать это поведение. Кроме встроенных эффектов, можно создать любой с помощью параметров data-style-1 и data-style-2. Стиль элемента переключится из первого во второе состояние, как только элемент будет готов — программирования снова не потребуется (используются ЦСС-анимации).

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

В первой публичной версии будет как минимум:

  • несколько встроенных эффектов появления;
  • создание эффектов вручную с помощью ЦСС-анимаций;
  • появление с заданной временной задержкой после готовности;
  • зависимость (ожидание готовности другого элемента);
  • ромашка в родительском элементе, пока грузится данный;
  • поддержка Вебкита (в неподдерживаемых браузерах, как и с выключенным Джаваскриптом, страницы открываются обычно).

Эмёрдж будет платным продуктом и выйдет в ноябре.

Дальше
Мои книги