Front-end дайджест #28: что было в 2К17 и чего ждать от 2К18?
В выпуске: Эдди Османи о Progressive Web Apps, начинаем использовать сервис-воркеры и переходим на новые быстрые сборщики.
CSS и CSS in JS
Font-display — зачем он нужен и как работает
Modern Asynchronous CSS Loading — асинхронная загрузка стилей
Styling Components — Typed CSS With Stylable — как можно типизировать CSS?
CSS-in-JS Roundup: Styling React Components — 15 CSS-in-JS решений для React. Что выбрать?
JavaScript
The Hidden Treasures of Object Composition
Robust Client-Side JavaScript — надёжный JS на клиенте
Teach the CLI to Talk Back — как сделать CLI дружелюбными?
Fitting Flappy Bird Into a Tweet — Flappy bird в 280 символов
Service Workers: Going beyond the page — сервис-воркеры в Edge
Service Workers. Инструкция по применению — cервис-воркеры в 2ГИС
JavaScript Has Already Won — JavaScript захватил мир
Progressive Web Apps
All you need to know about Progressive Web App — зачем нужны Progressive Web Apps?
Эдди Османи о техник оптимизации производительности в Progressive Web Apps:
PWA feature detector — проверяем возможности Progressive Web Apps в вашем браузере
React и React Native
Behind the Scenes: Improving the Repository Infrastructure — инфраструктурные изменение в React
Recommended by the React Team — что рекомендует нам команда React
How to write highly readable React code — 10 coding style tips
React Performance Fixes on Airbnb Listing Pages
How to build a React and Gatsby-powered blog in about 10 minutes
Designing Reusable React Components
О прошедшем годе:
- React & React Native — Best of 2017
- The most popular React links of 2017
- A recap of front-end development in 2017
- 25 Amazing Open Source React.js Projects for the Past Year (v.2018)
Vue.js
Prototyping with Vue.js and Bootstrap
Build A Lazy-Load Router With Vue.js And The Latest Browser Features
Why Nuxt Js is perfect framework for your next landing page?
Want to get things done and ship? 3 reasons to choose Vue over React in 2018.
Angular
Angular is easy — переходим на Angular
Angular 5 Server Side Rendering With Firebase — Step-By-Step Guide
Top 10 Angular articles in 2017 from Angular-In-Depth you really want to read
Angular 5.1 & More Now Available
Пишем Progressive Web Apps на Angular 5:
- Part 1: Getting started with framework, creating an application, hosting it on github-pages
- Part 2: Progressifying the application
Node.js
25 Amazing Open Source Node.js Projects for the Past Year (v.2018)
Building a Serverless REST API with Node.js and MongoDB
Building a FoodKick SMS Sale Notifier Bot
Библиотеки
Yew — пишем Front-end на Rust
Rustify — бандлим Rust
Microbundle — быстрый бандлер, без конфигураций и зависимостей
On-change — слушаем изменение объектов
React Native Typography — удобные нативные шрифты
React Performance Devtool — исследуем производительность React приложений
Unistore — минималистичный state-managment для React
Immer — работаем с иммутабельным состоянием
Послушать
Frontend Weekend:
- #32 — Андрей Смирнов о том, как появился Frontend Weekend и как из разработчика стать руководителем
- #33 — Виталий Фридман о создании и редизайне Smashing Magazine
Веб-стандарты:
Пятиминутка React:
devschacht:
- Ночной фронтенд #14 — HolyJS. День 1
- Ночной фронтенд #15 — HolyJS. День 2, Rust захватывает мир, новости V8
- Ночной фронтенд #16 — PiterJS 20: Dart, Kotlin, Closure и Wallaby.js
- Выпуск № 10 — Новогодний. История Девшахты и планы развития
Фронтенд Юность (18+):
- Метод Кнута и Пряника
- #29 Vue.js для нищебродов
- #30 Код Абрамова или мироточащий монорепозиторий
- #32 Новогодний выпуск. Как свалить в Швейцарию
Radio.js:
Egghead подкаст:
- Episode 1: Using TypeScript with Basarat and Marius Schulz
- Episode 2: Functional JavaScript with Paul Frend and Briand Lonsdorf (Dr Boolean)
- Episode 4: Getting into Python
- Episode 5: Dan Abramov, co-author of Redux
- Episode 6: Learning React with Kent C. Dodds
Конференции
Что нового?
Parcel — новый быстрый сборщик
Turbo — NPM-клиент в браузере
Docusaurus — создаем сайты с документацией для опенсорса от Facebook
Ждем Webpack 4.0.0 — уже alpha 2
Итоги 2К17
Frontend in 2017: The important parts
Totally Tooling Tips Holiday Special: 2017 Year in Review — лучшие инструменты 2017
Angular vs. React vs. Vue: A 2017 comparison
Frontend in 2017: The important parts
Learn to code in 2018, get hired, and have fun along the way
Остальное
JavaScript Array Explorer — выбираем правильный метод массива
Manage Application State with Mobx-state-tree — разбираемся с MST на EggHead
Making your web app work offline:
Why Design Systems Fail — Уна Кравец о дизайн-системах
Accessibility Through Semantic HTML — влияние семантики верстки на доступность веб-ресурсов
What happens when you visit ft.com? — как работает FT.com?
30 seconds of code — коллекция JS-утилит, которые можно понять за 30 секунд
How GitLab switched to Headless Chrome for testing — как GitLab пытался ускорить тесты
Building a custom WebdriverIO reporter using documented and undocumented WebdriverIO features — делаем результаты тестов лучше
Top JavaScript Libraries & Tech to Learn in 2018 — чему учиться в 2018
Grammarly ищет талантливых Front-End инженеров для усовершенствования нашего продукта, создания минималистичных элегантных пользовательских интерфейсов и решения сложных технических задач. Нашим продуктом пользуются миллионы пользователей каждый день. У нас замечательная команда, вместе с которой мы используем самые передовые технологии. Подробнее здесь. Присоединяйтесь.
С вами был Григорий Шехет, @AGambit95. За помощь в оформлении дайджеста благодарю своих коллег.
← Предыдущий выпуск: Frontend дайджест #27.