• Записи 162
  • Теги 66
  • Комментарии 330

Компьютерное

Каким должен быть идеальный сайт?

Некоторое время назад на SbUp.Com наткнулся на тему «каким должен быть идеальный сайт» с технической точки зрения, и решил изложить свою точку зрения по этому вопросу. На мой взгляд, идеальным сайтом можно назвать тот, который максимально похож на статику. Для некоторых типов сайтов (блог и простой магазин) лучше вообще генерировать в админке статические страницы с основными данными, например, текстом сообщения или карточкой товара, а часто меняющиеся второстепенные данные — содержимое корзины, список последних постов — подргружать через AJAX. (Я такой подход называю StaJAX, от static+AJAX, но, к сожалению, он не так распространен, как хотелось бы.)
Кроме этого, идеальный сайт должен обладать такими признаками:

  • Быть сверстан вручную, без всяких bootstrap и тому подобного, с минимально возможным количеством тегов и короткими именами css-классов.
  • 100%-валидный HTML и CSS.
  • Полностью асинхронная загрузка JavaScript после события DOMready.
  • Полная оптимизация всех картинок, настройка сжатия GZIP для HTML, JS, CSS и их минификация.
  • Использование разметки хлебных крошек — тоже обязательно.
  • Короткие и заданные вручную HURL, желательно, на английском, а не транслитом (то есть адреса вида /first-post.htm вместо /eto-pervaya-zapis-v-bloge.htm) и уж точно никакой кириллицы (исключением могут быть только словари и wiki-проекты).
  • Иметь правильную иерархию URL, то есть адреса вида /название-категории/имя-товара.htm вместо /categories/название-категории.htm и /products/имя-товара.htm.
В общем, у идеального сайта скорость загрузки и экономия траффика должны быть на первом месте (после самого контента, конечно). Ещё полное отсутствие всплывающих блоков, которые закрывали бы контент (типа «закажите обратный звонок» или «подпишитесь на нас в социальных сетях»). И небольшой субъективный момент: не должно быть «обрезанных» URL без / или .html на конце. Выглядит просто отвратительно!

9 комментариев:

goblincat
0

Отличное описание идеального сайта! Мне такие самой очень нравятся

4X_Pro
0

Очень рад, что это так!

S0m3Th1nG_AwFul!
0

...но, как обычно, всем нужно быстро и дёшево, в итоге получаем фреймворк на фреймворке фреймворком погоняемый :(

4X_Pro
0

Увы, это проклятие рыночной экономики и конкуренции: бизнесмен указывает инженеру (или разработчику). Тогда как в идеальном мире должно быть наоборот: инженер, руководствуясь своими внутренними представлениями о качестве и моральным кодексом, ставит бизнесмена перед фактом «это можно сделать за такое-то время и никак иначе».

Нет
10geek
0

Ещё отсутствие багов, вызывающих раздражение у пользователей или вовсе невозможность полноценно пользоваться сайтом. И самое главное - отсутствие уязвимостей. Пожалуй, самый важный пункт, который к сожалению многими игнорируется в пользу сроков сдачи проекта (о чём 4X_Pro упомянул в своём комментарии, сам имел негативный опыт работы с таким клиентом).

MadTechGuy
0

Касаемо вёрстки, хотел бы отдельно выделить несколько моментов, которые приводят меня в бешенство:

  • Меню, выпадающие при наведении курсора без задержки (впрочем, я вообще считаю, что выпадающие меню следует по возможности избегать). В пример можно привести, как это ни печально, такой крупный сервис, как GitHub (см. главное меню) и меню выбора emoji в Telegram Desktop (не по теме Web-разработки, но, тем не менее, пример показательный).
  • Всплывающие в момент чтения статьи блоки (уже было упомянуто). Я в таких случаях машинально закрываю вкладку, если, конечно, сайт не представляет для меня особой важности.
  • Проблемы с выделением текста из-за ужасной вёрстки, когда вместе с выделяемым текстом выделяется что-то ещё. Или, ещё хуже — когда вообще средствами CSS отключают выделение текста, зачастую наивно надеясь тем самым избавиться от плагиата, при этом мешая обычным пользователям.
  • Скрипты, переопределяющие чувствительность, плавность, инерцию и пр. параметры прокрутки страницы (scroll).
4X_Pro
0

Насчет меню — отчасти с тобой согласен. Отчасти — не совсем, так как сделать меню, выпадающее с задержкой, раньше можно было только на JavaScript (сейчас вроде еще CSS Animations можно задействовать для этих целей), что противоречит моим убеждениям, что хороший сайт должен работать без JavaScript. В остальном же ты прав, особенно в ситуациях, когда меню многоуровневое, и случайное наведение курсора не туда, куда надо, ведет к тому, что улетаешь на второй-третий уровень вложенности.

Вот что странно: раньше мониторы были меньше, но над экономией места на экране, ради которой и делаются все эти всплывающие гадости, не так заморачивались, а делали полноценное меню в шапке!


MadTechGuy
0

Вот поэтому я и написал, что их лучше избегать. Чем делать меню, выпадающее сразу при наведении, лучше уж сделать навигацию вообще без выпадающих меню. Кстати, можно ещё сделать подменю, выпадающие по клику, с использованием :focus — ещё один вариант без JavaScript.

4X_Pro
0

Как выяснилось, то, что я называл StaJAX, сейчас действительно становится популярным, но под другим названием — JAM-stack. Сегодня нашёл пару статей про него, в частности, вот эту: www.8host.com/blog/chto-takoe-jamstack-i-kak-ego-ispolzovat/

Написать комментарий


Задать вопрос