Втрата ваги для веб-сайтів

Одна з моїх улюблених цитат, що стосуються розробки, дуже близька до однієї з моїх улюблених цитат, що стосуються дизайну:

веб-сайтів

“Код, який ви пишете, робить вас програмістом. Видалений код робить вас хорошим. Код, який вам не потрібно писати, робить вас чудовим кодом ". - Маріо Фуско

"Дизайнер знає, що вони досягли досконалості не тоді, коли вже нічого не можна додати, а коли вже нічого не забрати". - Антуан де Сент-Екзюпері

Вони обидва виступають за філософію "менше - це більше", і добре нагадують, що за витонченими дизайнами знакових інтерфейсів від Apple, Uber та Google стоять високооптимізовані стеки технологій, призначені для швидкого отримання потрібної інформації потрібним людям. Ось декілька областей, які слід враховувати, прагнучи досягти більш елегантного UX:

Відношення тексту до коду

Коли пошукова машина сканує сторінку для пошуку вмісту, вона повинна відсортувати більше інформації, ніж на перший погляд. Це включає всю структуру, стилі, поведінку та візуальні ефекти, які збирає ваш браузер, що призводить до красиво організованого веб-досвіду. Захоплення тут полягає в тому, що деякі симпатичніші, вражаючі ефекти, які може використовувати сайт для захоплення аудиторії, зазвичай вимагають набагато більше коду. Це впливає на один з мало обговорюваних факторів продуктивності сторінки, який називається "співвідношення тексту до коду". Ця метрика вимірює, скільки вмісту, що читається людиною, існує в блоці коду.

Незважаючи на те, що це не впливає безпосередньо на рейтинг сторінок у пошукових системах, воно вважається ключовим показником можливостей, де можна покращити ефективність сторінки. Google рекомендує співвідношення тексту та коду від 20% до 70% на сторінці. Хоча на перший погляд це може здатися легкою метою для досягнення, уважніший огляд вашого технологічного стеку може виявити велику кількість непотрібної складності, а також те, що ваші сторінки можуть працювати ефективніше за допомогою правильних типів налаштувань. Тут дизайнерам і розробникам потрібно співпрацювати, щоб з’ясувати, чи ці ефекти мають сенс, враховуючи цілі ключових зацікавлених сторін.

Як стилі впливають на ефективність

Хоча вбудовані стилі в деяких випадках можуть заощадити час на впровадження, вони також є одними з найбільших порушників, коли співвідношення тексту та коду починає падати. Як розробники, ми, мабуть, усі робили це в певний момент своєї кар’єри, і в деяких випадках цього не уникнути. Незалежно від того, включені вони між тегами стилю або як правила, вставлені в атрибут стилю елемента, важливо максимально звести ці випадки до мінімуму.

У цьому практичному прикладі я покажу вам, як покращити свій коефіцієнт більш ніж на 10% за дуже незначні зусилля.

До:

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

Після:

У нашому CSS-файлі ми маємо такі правила:

Раніше Після
Довжина сировини: 521 символ
Довжина лише тексту: 95 символів
Остаточне співвідношення: 18,23% вмісту
Довжина сировини: 318 символів
Довжина лише тексту: 95 символів
Остаточне співвідношення: 29,87% вмісту

Наш перший приклад не відповідав рекомендованому мінімальному співвідношенню тексту та коду на 20%. Однак, лише декілька коригувань того, як ми застосовуємо ці стилі, призвели до покращення співвідношення більш ніж на 11%. Хоча Google не буде надавати перевагу одному над іншим, цілком зрозуміло, що другий приклад набагато чистіший, упорядкованіший, а оскільки задіяно менше символів, швидше надходить до браузера користувача.

Ще однією причиною, що це стає важливим, є для тих установ, які використовують ціноутворення на основі комунальних послуг для розміщення сайтів, де кожен байт, переданий хостом, перетворюється на витрати. Хоча це лише невеликі приклади, що ілюструють ідею, ви, мабуть, можете почати бачити вплив у більшому масштабі.

Як сценарії впливають на продуктивність

JavaScript. Любіть це або ненавидьте, це заслуговує на повагу. Без JavaScript веб не був би таким самим. Ми були б засипані оновленнями сторінок, проблемами пропускної здатності та загальними обмеженнями користування. У Grafik ми стандартизували jQuery для його зворотної сумісності та поліфілів для старих браузерів, а саме IE11.

Наше агентство використовує шаблон дизайну під назвою "атомний дизайн", який по суті перетворює функції сторінки на менші окремі програми, які інтегруються разом на задній панелі. Ці візуальні компоненти дозволяють автору вмісту створювати сторінки з нуля, не торкаючись жодного рядка коду. Це допомагає забезпечити контроль над проектом, не відводячи на загальний затверджений дизайн сайту.

Іноді ці атомні компоненти вводять взаємодію, керовану конфігурацією, керовану автоматичними сценаріями. Де це починає стати проблематичним, коли один і той же компонент використовується кілька разів на одній сторінці, або навіть у поєднанні з іншими компонентами, додаючи непотрібного роздуття до самого документа.

Давайте подивимось на практичний приклад, який наближує атомну складову, подібно до того, що ми використовували б на виробничому майданчику. Це може включати використання кнопки, яка робить щось круте, коли глядач взаємодіє з нею, розміщений на сторінці кілька разів.

До:

Незважаючи на те, що вміст цих компонентів унікальний для кожного використання, досить легко помітити, що майже ідентична копія сценарію створюється для управління кожним екземпляром атомного компонента. Давайте внесемо деякі корективи, які дозволять нам запускати один сценарій, який може виконувати роботу обох, не жертвуючи функціональністю.

Після:

Замість того, щоб динамічно писати JavaScript, ми структуруємо наші скрипти, щоб замість них виводити корисні навантаження JSON, які містять лише біти інформації, які раніше робили кожен сценарій унікальним за використання.

Потім перенесений скрипт, який ми розміщуємо в /js/scripts.js, стає єдиним мозком операції, обслуговуючи всю функціональність без необхідності динамічного генерування. Тільки HTML, необхідний для включення сценарію, враховується у співвідношенні, а не весь вміст файлу.

Раніше Після
Довжина сировини: 644 символи
Довжина лише тексту: 108 символів
Остаточне співвідношення: 16,77% вмісту
Довжина сировини: 492 символи
Довжина лише тексту: 108 символів
Остаточне співвідношення: 21,95% вмісту

Знову ж таки, наш перший приклад значно відставав від рекомендованої мінімальної щільності, але вдосконалення, які ми зробили, привели нас до діапазону майже до 22%. Наслідки цього підходу можуть сильно відрізнятися, оскільки природа JavaScript сильно відрізняється від програми до програми. У нашому прикладі ми маємо кнопку, яка змінює власний текст при натисканні, що порівняно з реальним додатком досить просто. Більш складні функції принесуть більшу вигоду, оскільки за цього сценарію зазвичай задіяно більше коду.

Ключові винос

Сторінки настільки хороші, як вміст, який вони містять, і я не думаю, що це скоро зміниться. Що вплине на ваш рейтинг, так це те, скільки людей передчасно покидає ваш сайт через розчарування або через те, що їм довелося просіяти занадто багато роздуття і недостатньо речовини. Звернення уваги на співвідношення тексту та коду може бути одним із багатьох способів досягти більш високих показників ефективності на своїх сторінках.

Також дуже важливо налаштуватися на успіх з самого початку. Одним з найкращих способів досягти цього є те, що дизайнери та розробники тісніше співпрацюють та співпрацюють, щоб вирішити проблеми дизайну з найбільшим можливим рівнем уваги. Погляньте на співвідношення тексту та HTML, стилі та сценарії.

Сподіваємось, у вас є кілька чудових ідей щодо того, як покращити ефективність сторінки після прочитання цих стратегій. Якщо ви зацікавлені побачити деякі з цих концепцій у дії, перегляньте наші технологічні пропозиції, щоб побачити, як ми можемо втілити ваше бачення в життя, або ви можете переглянути наші приклади, які є прекрасними прикладами того, як ми допомогли інші актуалізують свої бачення.