З чого зроблені AMP
Функціонально AMP складається з трьох частин:
AMP HTML - це звичайний HTML з рядом обмежень для більш надійної роботи і деякими розширеннями для створення медійного контенту.
У HTML-коді AMP використовуються переважно регулярні HTML-теги, хоча деякі з них замінюються специфічними AMP-тегами. Це так звані HTML-компоненти. наприклад:
Так як AMP HTML є підвидом базового HTML, він підтримується всіма існуючими юзер-агентами, крім того, документи на AMP HTML можуть бути завантажені на веб-сервер і функціонувати як і будь-який інший елемент. Вони також призначені для опціонального обслуговування через спеціалізовані системи AMP - проксі документи AMP.
Бібліотека AMP JS підвищує продуктивність, управляє завантаженням ресурсу і забезпечує швидкий рендеринг сторінки і перешкоджає його блокування. Також відповідає за попередній розрахунок компонування кожного елемента сторінки перед завантаженням ресурсу і відключення повільних CSS селекторів.
AMP CDN - заснований на проксі CDN для передачі всіх валідних AMP-документів. Він витягує HTML сторінок, кешируєт їх і автоматично підвищує продуктивність сторінок. При використанні AMP CDN все JS-файли і зображення завантажуються в такому ж варіанті, що і при використанні HTTP 2.0.
У CDN AMP є вбудована система перевірки, яка підтверджує працездатність сторінок і їх відповідність AMP HTML.
Інший варіант валідатора перевіряє помилки прямо в консолі браузера, коли сторінка рендерится. Він дозволяє побачити, який комплекс змін в коді може вплинути на продуктивність і поліпшити користувальницький досвід.
Навіщо потрібні AMP
В якості основної мети нововведення було позначено підвищення продуктивності відкритості мобільного інтернету.
В офіційному релізі сказано.
Насправді проект повинен закрити кілька різнопланових завдань:
Що вже готове
Судячи з усього, Google серйозно налаштований щодо свого нового проекту. За минулі 4 місяці з анонса AMP представники компанії вже встигли розіслати рекомендації по використанню нового формату в Search Console і оголосити про:
На закінчення
Поки проект AMP знаходиться на етапі відкритого тестування, приєднатися до якого можна тут. Задати питання команді проекту або іншим учасникам експерименту можна на GitHub.