Новая страница выдачи от Яндекса

Главные отличия от привычной версии заключаются в дизайне и технологических решениях.

Новая страница выдачи от Яндекса

Михаил Трошев, руководитель группы разработки поисковых интерфейсов Яндекса, в блоге компании рассказал о методах и технологиях, которые применяются для разработки новой страницы результатов поиска.

Что касается разработки шаблонов:

«Сильно сократить время на разработку и тестирование первого прототипа помог наш механизм сборки проектов, основанный на методологии БЭМ (Блок-Элемент-Модификатор). Он позволяет подключать внешние библиотеки блоков, так что существенную часть интерфейса мы собрали из готовых блоков, которые уже есть на других сервисах Яндекса и лежат в разных внутренних git- и svn-репозиториях».

Про JavaScript:

«Под капотом у новой версии страницы результатов поиска JavaScript-шаблоны. Они работают быстрее, чем шаблонизатор для языка Perl TT2, который мы использовали раньше, и писать их удобнее и проще».

AJAX, History API:

«Новая версия страницы результатов поиска потребует повсеместного применения ajax и historiapi».

CSS:

«Почти все возможности CSS3 были задействованы для решения наших задач. Стрелочки меню на трансформах, тени у блоков, псевдоселекторыfirst-child/last-child вместо классов-модификаторов – все это есть в новом интерфейсе. При этом для старых браузеров предусмотрена деградация: вместо теней — простые однопиксельные контуры, вместо стрелочек в меню — обычные прямоугольники, svg-градиенты в IE9 и сплошная заливка фона для IE8 и старше».

Деплой:

«Почти все наши проекты хранят свои статические файлы на статическом кластере — yandex.st. Причин для использования статического кластера несколько:

  • не нужно генерировать файлы перед отправкой — всё уже готово и лежит на диске;
  • для передачи готовых файлов достаточно лёгкого веб-сервера;
  • не требуется высокая производительность машин;
  • статика кэшируется навсегда, а инвалидация осуществляется либо изменением версии пакета, либо изменением хэш-суммы;
  • на домен yandex.st не отправляются куки сервиса, это уменьшает объём трафика;
  • «сквозные» файлы (использующиеся на нескольких сервисах, например jquery.min.js или логотип Яндекса) не нужно загружать каждый раз при переходе с сервиса на сервис».

По словам Михаила Трошева, совершенствование интерфейса страницы выдачи продолжится.

Обратный звонок
Отправить
Оформить заказ
OK