Стратегія Mobile First
Last updated
Last updated
"Mobile First" - це стратегія веб-розробки, яка передбачає спочатку розробку та оптимізацію веб-сайту для мобільних пристроїв, а потім поступове розширення та додавання функціональності для більших екранів і пристроїв. Цей підхід переосмислює традиційний підхід до веб-розробки, де сайт спочатку розробляється для настільних комп'ютерів і потім адаптується для мобільних пристроїв.
Основні принципи стратегії "Mobile First":
Пріорітет мобільних пристроїв: Починаючи розробку з мобільних пристроїв, розробники змушені обмірковувати, яка інформація та які функції є дійсно важливими для користувачів. Це сприяє простоті та зосередженості на основних функціях сайту.
Оптимізація для швидкості та продуктивності: Мобільні пристрої мають обмежені ресурси, тому потрібно ретельно вибирати зображення, скрипти та інші ресурси для оптимізації завантаження сторінок.
Гнучкий та адаптивний дизайн: Використання гнучкого та адаптивного дизайну, який легко адаптується до будь-якого розміру екрану, дозволяє сайту ефективно виглядати як на малих, так і на великих екранах.
Прогресивне вдосконалення: Поступове додавання більш складної функціональності для більших екранів та потужніших пристроїв. Це дозволяє оптимізувати взаємодію користувачів з сайтом на різних пристроях.
Зосередженість на користувачі: Зосередженість на користувачах та їхніх потребах, врахування їхніх можливостей та обмежень на мобільних пристроях.
Переваги стратегії "Mobile First":
Один веб-сайт. Для всіх пристроїв створюється тільки один проєкт, який адаптується під різні ширини екранів. Такий підхід скорочує необхідну кількість розробників.
Зручність інтерфейсу. Користувачі отримають важливий зміст сторінки (особливо на мобільних пристроях).
Швидкість завантаження. Сторінка завантажуватиметься швидше на мобільних пристроях. Переважно на мобільній версії верстки кількість ресурсів буде меншою.
Рейтинг в пошуку. Пошуковики віддають перевагу сайтам, які оптимізовані для мобільних пристроїв, і швидше завантажують сторінки.
Ідея реалізації Mobile First:
Стилі для мобільних пристроїв - це базові стилі за межами медіа-запитів.
Для кожної нової точки перелому додається медіа-запит в якому перевизначаються необхідні базові стилі або стилі з попереднього медіа-запиту. Також можуть додаватися нові стилі.
В медіа-запитах переважно використовують медіа-функцію min-width.
або
Ідея такого підходу, що спочатку створюється легка версія стилів для мобільного телефону. Потім по наростанню точок перелому перевизначаються стилі всередині відповідних медіа-запитів. При цьому HTML-розмітка не змінюється (окрім деяких рідкісних випадків).
У мобільній версії розмітки переважно не застосовується позиціювання, зокрема за допомогою FlexBox. Всі елементи розташовуються за замовчанням в одну колонку - це стандартний потік документа. А вже в медіа-запитах прописують позиціонування.
Наприклад є три точки перелому: 768px, 1024px і 1280px. В CSS буде прописуватись для кожної точки новий медіа-запит.
В загальному контейнері позиціювання FlexBox застосовуємо тільки на першому медіа-запиті, до цього використовується звичайний потік документа.
Ширина самих блоків на різних ширинах також окремо розраховується в медіа запиті в залежності від того скільки елементів у стовпчик ми хочемо розмістити.
Переваги такого підходу у визначенні стилів:
Чистий базовий CSS-код.
Використання стандартного потоку документу для позиціювання у базовому CSS-коді.
Наслідування стилів від базового стилю і до попередніх медіа-запитів.
Легке і мінімальне перевизначення стилів позиціювання.
У переважній більшості випадків для перевизначення стилів достатньо медіа-функції min-width. Але бувають випадки, коли варто використовувати медіа-функцію max-width. Це роблять, щоб зробити код чистішим і уникнути зайвих перевизначень стилів.
Наприклад на екранах до 767px (включно) потрібно додати скруглення кутів, а на екранах від 768px до 1023px (включно) потрібно додати рамку.
Розглянемо варіант скруглення кутів. Якщо використовувати медіа-функцію min-width, то спочатку потрібно скруглити кути, а на першому медіа-запиті скасувати скруглення кутів.
В такому разі достатньо додати скруглення кутів у медіа-запиті max-width і після його закінчення, скруглення кутів скинеться до дефолтних значень і перевизначати стиль не потрібно буде.
Тепер розглянемо варіант з додаванням рамки. Якщо використовувати тільки медіа-функцію min-width, то на ширині вʼюпорту 768px потрібно додати рамку, а на 1024px - її прибрати.
А можна прописати додавання і прибирання рамки тільки в одному медіа-запиті з використанням медіа-функції max-width.
Веб-розробник на своє уподобання обирає спосіб як описувати медіа-запити. Тому можете вільно користуватися обома медіа-функціями.