Назад

CSS в сучасному світі

html code

Джерело фото: https://goo.su/NeWb499

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

Чи актуальне CSS сьогодні?

Більшості веб-розробників сама постановка питання про актуальність CSS видається дивною. Тим не менш, нові тренди в веб-розробці ставлять під питання технологію CSS. Рекомендую прочитати статтю від Louis Lazaris, який вважає, що CSS живий і гарно себе почуває. Хоч більшість його статей пророкують CSS довге життя, він також не випустив з уваги популярність React, який використовує інлайнові стилі через JS. Також автор посилається на статтю, в якій ведуться дебати щодо того чи потрібен нам все ще CSS. У статті він описує деякі складнощі, які постають перед розробниками під час використання CSS. Я навів приклад цих статей, так як в них описані ті проблеми, з якими зіткнулися розробники, а також чому деякі з них вирішили скористатися іншими технологіями. Чи означає це, що настає кінець CSS?

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

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

Прості істини CSS

У нашому сучасному світі я думаю добре б взяти паузу і задати собі питання «Чому ми робимо те, що робимо?». Запитуючи себе про доцільність використання CSS, необхідно знайти відповідь. Нижче я склав список тверджень (не без чужої допомоги), які переконують мене в подальшому використовувати CSS для стилізації:

1. CSS дозволяє розділити відповідальність. CSS - це додаткова мова стилів HTML, тобто стилі визначаються окремо від розмітки. Розмітку окремо від стилів легше читати і обробляти не тільки людям, але і пошуковим системам.

2. CSS – швидка мова. Швидкість проявляється у багатьох аспектах. Швидкість зміни стилів, сторінка з окремими стилями завантажується швидше, ніж з вбудованими. І, звичайно, анімація і плавні переходи на CSS набагато швидше обробляються, ніж JavaScript.

3. CSS – адаптивна мова. Технологія CSS - це найкращий спосіб для перегляду сторінок на екранах з різною роздільною здатністю, а також з його допомогою можна задати стилі відображення сторінки при друці. Це лише пара прикладів.

4. У CSS велика аудиторія. По технології CSS написані маса книг, відео, статей і веб-сайтів. Кількість бібліотек, інструментів і фреймворків, що полегшують застосування CSS, тільки зростає.

5. CSS скрізь. Сучасні браузери використовують CSS по повній. Список властивостей, які підтримуються різними браузерами, можна знайти на таких сайтах, як CanIUse.com. Також CSS використовується для написання стилів для мобільних додатків на різних платформах, коли для запаковування використовуються інструменти типу ManifoldJS або Cordova.

CSS Сьогодні

Існує безліч способів використання CSS. Немає ідеального методу, який задовольняв би всі сценарії, так як різні проекти мають різні потреби і рамки. Щоб зрозуміти, яким методом скористатися, необхідно задати відповідні питання: Які властивості CSS потрібні проекту? Які браузери повинен підтримувати проект? Скільки наймати розробників та з якими навичками? Чи швидкість завантаження є пріоритетом? Після відповіді на всі ці питання можна поглянути на відповідні методи. Таких методів маса, тому я розділю їх на два основних:

1. Ручне написання та обслуговування CSS. Простіше кажучи, розробник повністю несе відповідальність за всі аспекти CSS.

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

Другий метод на сьогодні дуже популярний, але це не означає, що він скрізь підходить. Приміром, маленький інтранет-сайт з передбачуваною аудиторією браузерів і пристроїв може бути сильно перевантажений зайвим інструментарієм CSS фреймворків – особливо якщо на сайті мало сторінок. Чи постраждає мініфікація в такому разі? Чи займе встановлення і вивчення фреймворку більше часу, ніж написання самого сайту? Все, що тут потрібно, це вручну написати стилі для однієї сторінки.

Реальність така, що більш-менш багато сайтів пишуться за другим сценарієм. Наприклад, розробник може добре знати CSS, але більше покладатися на спеціальні інструменти через мініфікацію файлів. Іншим прикладом послужить використання повноцінних фреймворків типу Bootstrap і покупка тем для швидкого створення сайтів. Також можна просто скористатися готовим файлом стилів W3.CSS і отримати повний набір адаптивних стилів. Необхідно чітко зрозуміти що використовувати. І залежність від технологій повинна допомагати розвитку проекту, а не шкодити йому.

Висновок

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