Журнал
Запуски, редизайны и технические обновления проектов.
-
Chrome помечает все HTTP-сайты небезопасными
Chrome 68 показывает «Не защищено» на любом сайте без шифрования. К этому моменту все наши проекты уже работали по HTTPS.
-
MySQL 8.0 в продакшене
MySQL 8.0 вышла в стабильную версию: оконные функции, общие табличные выражения, нормальная поддержка JSON. Начали переводить базы клиентов.
-
GDPR: приводим формы в порядок
Вступил в силу европейский регламент по персональным данным. Пересмотрели формы, согласия и политику обработки на проектах, где есть зарубежные посетители.
-
Google переходит на mobile-first индексацию
Google объявил о переводе индекса на мобильную версию страниц. Пересобрали мобильные макеты там, где они были урезанными копиями десктопа.
-
GraphQL: пробуем на внутренних задачах
Собрали прототип API на GraphQL. Клиент запрашивает ровно те поля, которые ему нужны, — для мобильных интерфейсов это заметно меньше трафика.
-
Ленивая загрузка изображений
Внедрили отложенную загрузку картинок ниже первого экрана. На длинных каталогах это срезало вес первой загрузки в разы.
-
PHP 7.2 в проектах поддержки
PHP 7.2 принесла современную криптографию в ядре и типизацию object. Обновили проекты, которые обслуживаем.
-
Symfony 4: Flex и новая структура
Вышла Symfony 4 с Flex: приложение собирается из рецептов, лишнего кода в проекте не остаётся. Перевели внутренние инструменты.
-
TypeScript в клиентских скриптах
Начали писать клиентскую логику на TypeScript. Типы ловят ошибки до запуска — в больших формах и калькуляторах это экономит часы отладки.
-
Прогрессивные веб-приложения
Собрали первое PWA: установка на домашний экран, работа офлайн, push-уведомления. Для части задач это дешевле и быстрее, чем отдельное мобильное приложение.
-
React 16: новый движок рендеринга
Вышел React 16 с переписанным ядром Fiber, порталами и нормальной обработкой ошибок. Взяли в работу для разделов со сложной интерактивностью.
-
Docker в разработке
Разработческое окружение переехало в Docker. Версии PHP, MySQL и расширений у всей команды одинаковые, а новый разработчик запускает проект одной командой.
-
Chrome помечает формы на HTTP как небезопасные
Chrome начал показывать предупреждение у полей ввода на страницах без шифрования. Проверили все сайты клиентов и закрыли оставшиеся разделы сертификатами.
-
«Баден-Баден»: чистим тексты от переоптимизации
Яндекс объявил об алгоритме «Баден-Баден», понижающем страницы с переспамленными текстами. Прошли по текстам клиентов на продвижении и переписали то, что писалось под старые правила.
-
Webpack в сборке фронтенда
Перешли на Webpack. Сборка режет код на части, подгружает их по требованию и пересобирает только изменившееся — правки в вёрстке стало видно почти мгновенно.
-
Service Workers: сайты работают офлайн
Добавили service worker в несколько проектов: статика кешируется, и при обрыве связи пользователь видит страницу, а не ошибку браузера.
-
PHP 7.1: что даёт обновление
Вышла PHP 7.1 — nullable-типы, void как тип возврата, короткий синтаксис списков. Начали переводить проекты поддержки.
-
Мобильный трафик обогнал десктопный
По данным StatCounter доля мобильных устройств в мировом вебе впервые превысила десктоп. Для нас это окончательно закрыло вопрос «нужна ли мобильная версия»: мобильный макет проектируется первым.
-
Vue.js 2.0 берём в работу
Вышла Vue.js 2.0 — переписанный движок рендеринга и виртуальный DOM. Обкатали её на внутренних инструментах и добавили в стек для интерактивных разделов.
-
Git и код-ревью во всех проектах
Закрепили единый процесс: каждая задача — отдельная ветка, каждое изменение проходит код-ревью. Это дисциплинирует и заметно снижает количество правок после релиза.