Front-end дайджест #32: подводим итоги 2к18, новый браузер от Microsoft и Chrome Summit

В выпуске: новый блог Дэна Абрамова, как улучшить производительность вашего веб-приложения, разбираемся с React Hooks и Lazy-loading, а также материалы по Angular, Vue.js и Node.js.

CSS и CSS in JS

Making Future Interfaces With Custom Properties — кастомные свойства в CSS

A look at CSS Resets in 2018 — смотрим на CSS Rest с современным взглядом

Dark modes:

A timing attack with CSS selectors and Javascript — CSS для хакеров

Preventing Content Reflow From Lazy-Loaded Images — как правильно загружать картинки

Bridging the Gap Between CSS and JavaScript:

Новинки из мира CSS in JS:

Пишем CSS по новому:

JavaScript

Hummingbird: Building Flutter for the Web

Console.rules() — становимся гуру консоли

The Power of Web Components — почему нужно использовать веб-компоненты

Web workers vs Service workers vs Worklets — зачем нам нужны веб-воркеры, сервис-воркеры и ворклеты

Going Offline First — делаем веб-приложение оффлайн

Little known features of JavaScript — баги и фичи JavaScript’а

These tools will help you write clean code — пишем код лучше с Prettier, ESLint, Husky, Lint-Staged и EditorConfig

Handling Errors in JavaScript: The Definitive Guide — как лучше отлавливать ошибки

An Introduction to Functional Programming Style in JavaScript — пишем функциональный JavaScript

Understanding Asynchronous JavaScript — the Event Loop — разбираемся в асинхронности

Performance

The Baseline Costs of JavaScript Frameworks — почему современные фреймворки такие большие?

A Netflix Web Performance Case Study — Эдди Османи анализирует производительность Netflix

CSS and Network Performance — как CSS влияет на производительность вашего веб-приложения

Improving Document Preview Performance — как инженеры Dropbox ускорили отрисовку превью документов

Fast Google Fonts with Cloudflare Workers — как оптимизировать подгрузку шрифтов вместе с Cloudflare

You need neither PWA nor AMP to make your website load fast — Никита Прокопов рассуждает, как сделать ваш сайт быстрым

React и React Native

A Guide to Custom Elements for React Developers

These are the concepts you should know in React.js (after you learn the basics)

How to create a three layer application with React

Testing React Components with Jest and Enzyme- In Depth

Inside Fiber: in-depth overview of the new reconciliation algorithm in React

Lazy Loading:

React Hooks:

How to Develop a Location-based Application Using React Native

Vue.js

Structuring a Vue project — Authentication

How to create a Vue.js app using Single-File Components, without the CLI

My Favorite Vue.js & Nuxt.js packages for 2019

Real-life use cases for computed properties in Vue

Turn your Vue Web App into a PWA!

Plans for the Next Iteration of Vue.js

Type Vue without TypeScript

Angular

Building Interactive Lists with the new Angular 7 Drag and Drop tool

Theming Angular

Keeping browser tabs in sync using localStorage, NgRx, and RxJS

Best practices for a clean and performant Angular application

Creating a toast service with Angular CDK

The benefits of using pure pipes in Angular templates

How to optimize Angular applications

Node.js

Lets build express — пишем свой Express с 0

Writing memory efficient software applications in Node.js

NodeJS: In Three(ish) Minutes

How to use NodeJS without frameworks and external libraries

Nodejs C++/JS Boundary: Crossing The Rubicon

Why You Should Consider hapi

Библиотеки и инструменты

Fx — инструмент командной для форматирования JSON на JavaScript

HTM — JSX на шаблонных литералах

Rawact — babel-плагин, который компилирует React-компоненты чтобы исключить необходимость использования библиотеки во время выполнения

Linaria — новый CSS in JS, который генерирует CSS

NCC — CLI для компиляции Node.js от Zeit

ImmortalDB — key-value хранилище в браузере

Progress Estimator — логируем прогресс выполнения промиса

Worker Plugin — добавляет поддержку Web Worker’ов в Webpack

Ervy — строим графики в терминале

Carlo — браузерное окружение для Node.js приложений

Percollate — инструмент командной строки для превращения веб-страниц в PDF-файлы

Демо

3D Astronaut — на веб-компоненте <model-viewer>

3D Emoji Town (Pure CSS)

Послушать

Frontend Weekend:

Веб-стандарты:

devschacht:

Фронтенд Юность (18+):

CSSSR Новости 512:

RadioJS #53

Конференции и митапы

FrontTalks 2018

WSD в Киеве 2018

WSD в Минске 2018

HolyJS 2018 Piter лучшее

MoscowJS 43

dotCSS 2018

dotJS 2018

Chrome Dev Summit 2018

ReactiveConf 2018

React Day Berlin 2018

KharkivJS #9 2018

Что нового

PageSpeed Insights теперь работает на Lighthouse

VisBug — редактор интерфейсов в виде расширения для Chrome

Microsoft переводит Edge на платформу Chromium:

Overreacted — персональный блог Дэна Абрамова

Остальное

State of JavaScript 2018

Web.dev — коллекция курсов по разработке веб-приложений

Рассылай и властвуй: инструменты для создания и тестирования рассылки — как в 2ГИС создают и тестируют email-рассылки

I don’t know what to say — уязвимость event-stream

Exploiting Developer Infrastructure Is Ridiculously Easy

7 bad excuses for not using TypeScript — почему не TypeScript

DevTools for Designers

The Ultimate VSCode Setup for Front End/JS/React — настраиваем VSCode под повседневные задачи

Готовимся к интервью:


Grammarly ищет талантливых Front-End инженеров для усовершенствования нашего продукта, создания минималистичных элегантных пользовательских интерфейсов и решения сложных технических задач. Нашим продуктом пользуются миллионы пользователей каждый день. У нас замечательная команда, вместе с которой мы используем самые передовые технологии. И если вам интересно стать частью её, то смотрите открытые вакансии здесь, или стучитесь ко мне в Facebook.

С вами был Григорий Шехет. За помощь в оформлении дайджеста благодарю своих коллег.


← Предыдущий выпуск: Frontend дайджест #31.

Похожие статьи:
Європарламент запустив створення Європейського гаманця цифрової ідентифікації (EUDI). Як повідомляють у Мінцифри, до розробки...
Дисклеймер. При написании статьи ни один чиновник не пострадал.Все совпадения случайны, имена выдуманы. Всем привет, меня...
Віктор Жора — заступник голови Держспецзв’язку з питань цифрового розвитку, який півтора року тому прийшов у державний...
Как провести инсталляцию приложения. Информация для «чайников». Пользователям, которые только недавно принялись за...
Представляем десятую статью серии «Карьера в IT». В этой части цикла поговорим о должности технического...
Яндекс.Метрика