Дайджест новостей №2
Привет! Это второй выпуск нашего, всё ещё экспериментального, еженедельного дайджеста новостей. Его веду я, Андрей Романов, фронтенд-разработчик в Avito и автор сообщества For Web. Напомню, что основная идея этого дайджеста — собрать в одном месте наиболее важные и полезные материалы прошедшей недели, сопроводив их небольшим описанием. Не стесняйтесь делиться предложениями по улучшению дайджеста в комментариях.
Русскоязычные материалы
Дорогой JavaScript, …
Джеймс Кайл обращается к сообществу с призывом ценить труд своих коллег. Он как активный участник опесорс-сообщества не раз сталкивался с хамством других разработчиков, считавших, что им должен весь мир. Не забывайте, что даже за плохими по вашему мнению опенсорс-проектами стоят такие же разработчики, как и вы — уважайте их труд и критикуйте конструктивно.
Распутываем спагетти-код: как писать поддерживаемый JavaScript
Как не сойти с ума, поддерживая старый проект с легаси-кодом? Первой мыслью может быть «здесь нужно всё выкинуть и переписать с нуля!». Мориц Крёгер рассказывает, как последовательно сделать из кошмарного проекта конфетку — от анализа и выработки единого кодстайла до тестов и документации.
Основы производительности React-приложений
Пишете на React, но нечасто используете метод shouldComponentUpdate
?
Обязательно прочитайте эту статью. Вы узнаете, когда React запускает перерисовку
компонентов и как её избежать, если компонент не менялся — на средних
и больших проектах это просто необходимо, иначе всё начнёт тормозить.
Как писать сообщения коммитов
Практические приёмы и советы по улучшению сообщений коммитов от Криса Бимса.
Англоязычные материалы
Chrome 55 uses ~30% less memory than Chrome 54
Небольшая, но приятная для всех новость — Chrome 55 потребляет на ~30% меньше памяти, чем предыдущая версия.
Node.js Benchmarks
В Node.js появилась рабочая группа, ответственная за производительность, а вместе с ней появилась страничка, на которой ежедневно выкладываются результаты тестов производительности разных версий node.js. Основные задачи рабочей группы — отслеживать и своевременно предотвращать снижение производительности. Кстати, любой желающий может присоединиться к рабочей группе и помочь.
CSS Grid!
У вас есть какие-то вопросы или сомнения насчёт CSS-гридов? Эрик Мейер в виде статьи-диалога ответил на все волнующие вопросы: когда и где будут поддерживаться гриды, как быть со старыми браузерами, какие проблемы решаются гридами и по каким материалам учиться.
Installing web apps on phones (for real)
Раньше прогрессивные веб-приложения можно было только добавить на главный экран, и они не вели себя как нативные приложения в полной мере. Теперь появилась (пока что экспериментальная) возможность «честно» устанавливать их на устройство. Хенрик Йортег написал большой обзор: какое место занимают PWA на рынке, какие сейчас есть проблемы и как они решаются появлением возможности установки.
Virtual CSS with Styletron
Styletron — новый инструмент для CSS в JS, отличающийся от существующих решений высокой производительностью и меньшим количеством генерируемых стилей. Под капотом работает движок вроде виртуальной DOM, только для CSS. Этот движок генерирует атомарные классы для реиспользования общих кусков стилей, за счёт чего и достигается высокая эффективность инструмента.
The Web, Worldwide
Тим Кэдлек сделал удобный сервис со статистикой использования интернета по всему миру. Выбираете интересующую вас страну и получаете основную информацию о стране и её жителях (население, уровень грамотности, доступ к электричеству) и детальную информацию об интернете в этой стране (количество пользователей и качество связи, доступность связи, использование HTTPS).
Working the Command Line
Реми Шарп учит основам и полезным приёмам работы с командной строкой в новой книге серии A Book Apart Briefs.
Learn Advanced CSS Layout Techniques
Новый видеокурс на Egghead о продвинутых приёмах вёрстки: от скрытия пустых элементов до разбиения меню на колонки без изменения разметки.
JavaScript 30
Как давно вы писали на чистом JavaScript? Уэс Бос выпустил новый курс, посвящённый изучению JS на практике. 30 дней, 30 видео и 30 проектов, которые вам предстоит сделать без использования каких-либо библиотек или фреймворков.