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.

Похожие статьи:
UPD від 28 листопада. Закон про підвищення податків підписав президент. Кабмін звернувся до президента з проханням прискорити...
Привіт, мене звати Олександр Гончар. Я займаюся машинним навчанням в українському стартапі MAWI solutions та консультую компанії...
[Дмитрий Зиновьев — Software Engineering Manager в EPAM, 11 лет в IT] Взаимодействие с клиентами — основа любого бизнеса! Ведь если есть...
Команда DOU вирішила дослідити, як айтівці готуються до можливих блекаутів. Ми на власні очі поглянули на їх сетапи,...
Василь Зубач уже протягом шести років живе у Сіднеї та працює Engineering Manager в австралійській компанії Atlassian, відомій,...
Яндекс.Метрика