Трудный путь прогресса
В апрельском дайджесте взглянем на свежий релиз WebStorm, узнаем, как выход Safari 16.4 попортил крови авторам платформы Construct, и выясним, какой CSS-фреймворк предпочёл бы использовать создатель технологии CSS.
WebStorm обновился
JetBrains выпустила первый в этом году мажорный релиз WebStorm 2023.1. Стоит сказать, он заслуживает внимания. IDE получила поддержку новых Frontend-фреймворков, доработанный пользовательский интерфейс и улучшенную поддержку систем версионирования. Посмотрим, чем нас порадовали.
Фреймворк Astro, о бета-версии которого мы рассказывали год назад, теперь поддерживается в WebStorm. Поддержка реализована плагином, который можно установить прямо в IDE через меню Preferences — Settings — Plugins. Пишете в поиске «Astro» и устанавливаете в один клик. После этого появится подсветка кода, автозавершение, навигация и прочие приятные вещи, за что разработчики любят WebStorm.
В шаблоны Vue добавили поддержку TypeScript. Для включения нужно в теге script поставить атрибут lang равный ts:
<script setup lang=”ts”>
…
</script>
После этого вы получаете корректное автозавершение (работает одинаково для JS и TS), встроенное приведение и улучшенное сужение типов.
В новом релизе WebStorm стал заботиться об импорте компонентов при копипасте. Если вы копируете и вставляете код из одного файла в другой, то IDE сама добавит все нужные импорты компонентов. Это работает даже для шаблонов Vue, Svelte, Astro и Angular.
Любители хоткеев, которым «мышиная возня» не интересна, теперь смогут получать подсказку с информацией о типе, нажав ⌘P на Mac или Ctrl+P на PC. Раньше такие хинты появлялись только при наведении курсора мыши.
Создатели WebStorm приложили массу усилий, чтобы сделать IDE более удобной для разработчиков. Познакомиться со всеми обновлениями можно в блоге JetBrains.
Адские релизы Safari
«Не было печали — апдейтов накачали», — эта поговорка актуальна не только для системных администраторов, но и для Frontend-разработчиков. Обычно, релизы Safari проходят более-менее спокойно, лишь изредка вызывая стресс и хаос. Достаточно вспомнить, как 11.1 сломала MessageChannels.
Safari 14 проехалась катком по localStorage и бонусом сплюснула IndexedDB. Это лишь пара примеров, реально же багов в прошедших релизах Safari было множество.
Ключевая проблема Safari в том, что он жёстко привязан к операционной системе и экосистеме в целом. Там, где остальные браузеры легко справляются с поломками, а ответственные выходят на связь и оперативно реагируют на багрепорты, со стороны Apple такое отношение встречается редко. Вряд ли это значит, что сотрудникам наплевать, но выглядит именно так.
Некоторые проекты зависят от браузера гораздо сильнее, чем может показаться. Разработчики браузерного приложения Construct для создания игр при очередном обновлении Safari 16.4 столкнулись с массой проблем. О своих злоключениях они написали детальный пост в блоге проекта. Сложности стали заметны уже на этапе выхода первой бета-версии.
Поддержка Compression Streams API сломала популярную библиотеку zip.js, которая использовалась в Construct для открытия проектов. Несмотря на оперативно открытый issue, проблема оставалась актуальна почти до момента релиза 16.4. Стресса ситуации добавляло то, что Apple не публикует свой график релизов. Это автоматически значит, что любой сломанный будущим релизом функционал приходится исправлять экстренно, забрасывая другие дела. Это, в свою очередь, может легко испортить запланированный график релизов веб-проектов.
Ещё одним серьёзным ударом для Construct стало внедрение в Safari технологии OffscreenCanvas. Казалось бы — здорово, что наконец-то решили ускорить производительность, вот только без поддержки WebGL. Это сломало все веб-игры, опубликованные Construct за предыдущие несколько лет.
Дело было в том, что Construct видел поддержку OffscreenCanvas, создавал worker, пытался задействовать WebGL и получал оплеуху в виде null. Пользователи при этом наблюдали пустой экран. Экстренный патч со стороны Construct решил проблему, но всё же это оставалось потенциальной катастрофой и грозило репутационными потерями.
Мораль сей басни такова: Safari — отличный браузер с крутыми технологиями, но консервативность корпорации и отсутствие нормального процесса релизов могут серьёзно испортить вам жизнь. Так что стоит уделять ему особое внимание и тщательно тестировать ваши веб-приложения отдельно от мира экосистем Chrome/Firefox. Возможно, в будущем эти проблемы уйдут, а пока что имеем то, что имеем.
Интервью с автором CSS
Если изучить современные рейтинги CSS-фреймворков, то мы неизменно увидим такие названия, как Tailwind CSS, Bootstrap или Bulma. Но что, если узнать мнение непосредственно у автора стандарта CSS? Мы в Evrone взяли большое интервью у Хокона Виума Ли (Håkon Wium Lie) и выяснили какой бы CSS-фреймворк он выбрал. Ответ немало удивил — W3.CSS, позиционирующий себя как качественная альтернатива Bootstrap.
Своё мнение Ли аргументирует тем, что многие иные фреймворки создают сложный, запутанный и дурно пахнущий CSS-код, лишённый всякого чувства стиля. W3 же вызывает у него больше доверия, равно как и учебные материалы, размещённые на w3school. Именно ими он вдохновлялся, создавая свои руководства по конвертированию HTML и CSS в красивые PDF-документы.
W3.CSS — это бесплатный CSS-фреймворк, работающих во всех современных браузерах и на всех популярных типах устройств. В нём нет каких либо JS-библиотек или jQuery. За счёт этого он безопасен, прост для освоения и имеет отличную документацию.
По словам Ли, технологиям, на которых построен современный веб, ничего не угрожает. HTML, CSS и JavaScript будут процветать следующие 10 лет минимум. А вот развитие метавселенных скорее всего «сядет на мель». Первый язык для описания виртуальной реальности VRML (Virtual Reality Markup Language) был представлен ещё в 1994 году. HTML прижился, а вот про VRML успешно забыли. Даже несмотря на то, что некоторые крупные корпорации сделали ставку на VR, существенного успеха они не достигли.
Кстати, одной из причин этого, вероятно, является то, что люди не хотят накладывать ограничения на свою жизнь, подчиняясь корпорациям. При этом Ли верит, что человечество, скорее всего, уже живёт в компьютерной симуляции. И это одна из причин по которой ещё одна метавселенная нам не нужна. А вот резкий скачок в развитии генеративных нейронных сетей вполне может стать подспорьем, как для судебной системы, так и в целом для сторонников открытых данных. Понятное дело, что существующая бюрократия может тормозить процессы, но будущее этой технологии выглядит вполне оптимистично.
Хотите узнать про два необычных хобби автора стандарта CSS, а также какой моделью ноутбука он пользуется — читайте полную версию интервью на нашем сайте.
Митапы
Frontend meetup
12 июля 2023
Летом мы соберёмся на замечательный Frontend Meetup. Программа мероприятия формируется, но регистрация уже открыта. Кстати, вы уже можете подать доклад прямо в режиме онлайн. Заявки на участие принимаются до 20 июня! Теперь следить за митапами Evrone стало удобнее. В Telegram-канале Evrone meetups мы выкладываем анонсы с подробными описаниями докладов, а также студийные записи после мероприятий. А ещё, у нас можно выступить, мы поможем оформить вашу экспертизу в яркое выступление. Подписывайтесь и пишите @andrew_aquariuss, чтобы узнать подробности.
Вакансии
Удаленка / Офис
Evrone
Мы рады новым Frontend-разработчикам. Удалённая работа с первого дня, помощь в подготовке выступлений на профессиональных конференциях, поощрение и оплата участия в Open-source проектах. Прозрачный способ увеличить грейд через обучение и проверку навыков под контролем ментора. Здесь есть понимание, как организовать разработку комфортно и эффективно. Присоединяйтесь!