Articles like “Building a simple todo list with [framework or technology name]” won’t teach you how that framework or technology solves real-world problems and works at a large scale. This document is a curated list of technical talks and articles about real-world enterprise frontend development.
- English
- YouTube
- eBay
- Slack
- Airbnb
- GitHub
- GitLab
- Stack Overflow
- GOV.UK
- The Guardian
- BBC
- The New York Times
- The Times & The Sunday Times
- Financial Times
- Condé Nast
- Netflix
- Uber
- Tinder
- Shopify
- Flipkart
- Dropbox
- stripe
- Unsplash
- repl.it
- Figma
- Superhuman
- Algolia
- Yelp
- grammarly
- Ele.me
- Snipcart
- Flocktory
- Product Hunt
- Conductor
- AdRoll
- Reaktor
- Aha!
- This Also
- Roompact
- De Voorhoede
- cars.com
- Garbarino
- Myntra
- ThomasNet
- Lyft
- CodeSandbox
- npm
- Line
- Futurice
- Pivotal Tracker
- The U.S. Digital Service
- Evil Martians
- HealthCare.gov
- 18F
- Artsy
- Medium
- Mixpanel
- Mixmax
- TinyMCE
- Wix
- Walmart Labs
- Bloomberg
- Discord
- Soundcloud
- Udacity
- Microsoft To-Do
- Safety Culture
- Kickstarter
- Gusto
- Skillshare
- Internet Archive
- in der Apotheke
- Wingify
- Campaign Monitor
- Flickr
- ezCater
- Thread
- blogfoster
- Carbon Five
- The Wall Street Journal
- Electronic Arts
- Australian Broadcasting Corporation
- Zynga
- Zajno
- PayPal
- 1Password
- Checkbot
- Spotify
- Lucidchart
- Spectrum
- Miscellaneous
- Russian
- License
- This browser tweak saved 60% of requests to Facebook
- Building High-Quality JavaScript Tools
- Facebook has 30,000 react components. How do you manage large project directories with many components?
- React 16: A look inside an API-compatible rewrite of our frontend UI library
- Behind the Scenes: Improving the React Repository Infrastructure
- Design Systems & Tools at Facebook
- Building the F8 App with React Native
- The technology behind preview photos
- Improving CSS quality at Facebook and beyond
- Designing very large (JavaScript) applications
- Building the Google Photos Web UI
- TypeScript at Google
- View Source: Twitter.com
- How we built Twitter Lite
- Twitter Lite and High Performance React Progressive Web Apps at Scale
- Infinite List and React
- The Twitter Lite team about their use of Node.js
- Redux modules and code-splitting
- eBay’s Font Loading Strategy
- Beyond HTTPS
- Building a UI Component in 2017 and Beyond
- The Future of Marko
- The Path to JavaScript Next
- How Our CSS Framework Helps Enforce Accessibility
- Mobile First - A Retrospective
- Rebuilding slack.com
- TypeScript at Slack
- Rebuilding Slack’s Emoji Picker in React
- Keep webpack Fast: A Field Guide for Better Build Performance
- Localizing Slack
- Reducing Slack’s memory footprint
- Ember Timer Leaks: The Bad Apples in Your Test Infrastructure
- Sleek and Fast: Speeding Up your Fat Web Client
- The Glimmer Binary Experience
- Lighter than Lightweight: How We Built the Same App Twice with Preact and Glimmer.js
- Rearchitecting Airbnb’s Frontend
- React Performance Fixes on Airbnb Listing Pages
- Server Rendering, Code Splitting, and Lazy Loading with React Router v4
- Migrating from Mocha to Jest
- Turbocharged JavaScript Refactoring with Codemods
- React Native at Airbnb: The Technology, Building a Cross-Platform Mobile Team, Sunsetting React Native, What’s Next for Mobile at Airbnb
- Operationalizing Node.js for Server Side Rendering
- How Airbnb is Moving 10x Faster at Scale with GraphQL and Apollo
- GitHub's CSP journey
- GitHub's post-CSP journey
- GitHub's CSS
- Shipping system fonts to GitHub.com
- Browser Monitoring for GitHub.com
- How GitHub is using Web Components in production
- Design Systems at GitHub
- Removing jQuery from GitHub.com frontend
- Our big Frontend plan revealed: long term plan to make GitLab as fast and performant as possible with Vue and webpack
- Why We Chose Vue.js
- How we do Vue: one year later
- How GitLab switched to Headless Chrome for testing
- How we iterated and improved our frontend team culture
- Redefining the BBC News core experience
- HTTP/2 is easy, just turn it on…
- How BBC Interactive Content Works Across AMP, Apps, And The Web
- Building a Cross Platform 360-degree Video Experience at The New York Times
- Improving Article Accessibility
- The Technology Behind the NYTimes.com Redesign
- React, Relay and GraphQL: Under the Hood of The Times Website Redesign
- What happens when you visit ft.com?
- Speeding up without slowing down
- Can't You Just Make It More like Bootstrap?
- YES, your site too can (and should) be accessible
- Free-market software development
- Tips for in-house teams in a free market software culture
- A faster FT.com
- SVG icons are easy but the fallbacks aren't
- An outbreak of Accessibility anti-patterns
- Improving the cache performance of The Polyfill Service
- Building The New Financial Times Web App
- This one line of Javascript made FT.com 10 times slower
- HTML5 Video Playback UI
- Improving the performance of our JavaScript inheritance model
- Node.js in Flames
- Making Netflix.com Faster
- Netflix's approach to ES6 feature detection
- Shop Talk podcast #264: React with Netflix
- Localization Technologies at Netflix
- Crafting a high-performance TV user interface using React
- Pass the Remote: User Input on TV Devices
- Integrating imperative APIs into a React application
- JSON Graph: Reactive REST at Netflix
- Performance Signup in React & Transactional Apps with Redux
- Implementing Japanese Subtitles on Netflix
- Pseudo Localization @ Netflix
- Javascript @ Uber
- Building m.uber: Engineering a High-Performance Web App for the Global Market
- Powering UberEATS with React Native and Uber Engineering
- Building Shopify mobile with native and web technology
- How 17 lines of code improved shopify.com loading by 50%
- Designing a GraphQL API
- A Pinterest Progressive Web App Performance Case Study
- Demystifying SEO with experiments
- How we made JavaScript testing 15x faster
- Making Pinterest HTTPS
- Migrating Pinterest profiles to React
- How we switched our template rendering engine to React
- Introducing Bonsai: an open source Webpack analyzer
- Supporting React Native at Pinterest
- A one year PWA retrospective
- Gone In 60 Frames Per Second: A Pinterest Paint Performance Case Study
- Dropbox dives into CoffeeScript
- Some love for JavaScript applications
- Content Security Policy at Dropbox: On Reporting and Filtering, Unsafe-inline and nonce deployment, The Unexpected Eval, Third Party Integrations and Privilege Separation
- Enabling HTTP/2 for Dropbox web services: experiences and observations
- Annotations on Document Previews
- Preventing cross-site attacks using same-site cookies
- Deploying Brotli for static content
- Dropbox Paper: Emojis and Exformation
- Improving Document Preview Performance
- How we’re winning the battle against flaky tests
- Migrating from Underscore to Lodash
- Dropbox new homepage
- Translating Dropbox
- Connect: behind the front-end experience
- A new approach to mocking GraphQL data: how we power React component tests and examples at Stripe
- Whoa! That Embedded Web View Looks Hot in Your iOS App!
- CSS in the Age of React: How We Traded the Cascade for Consistency
- Lazy loading Backbone collections with Promises
- Rollup: Shared UI components at AdRoll
- Rollup: How we use React.js and npm to share UI code at AdRoll
- Rollup: What we have learned from sharing UI code at AdRoll
- How to Create a Style Guide: Start with a UI Framework
- gulp-react-docs: From propTypes to Markdown in 3 seconds
- How to Run a Front-End Infrastructure Team
- Rendering on the Server and Client in Node.js
- The Tech Behind Live Auction Integration
- React Native at Artsy
- Making Artsy Editorial Accessible
- Helping the Web Towards OSS by Default
- JSON Web Tokens: Artsy's Journey
- Exploration: Front-end JavaScript at Artsy in 2017
- Modernizing Force
- React Native, 2 years later
- Keeping Artsy's dependencies up to date
- Switch from Capybara Webkit to Chrome
- GraphQL Stitching 101
- GraphQL: Union vs. Interface
- Why ContentEditable is Terrible
- Wait, Don’t Touch That! Mutual Exclusion Locks & JavaScript
- The curious case of the disappearing Polish S
- Five Goofy Things Medium Did That Break Accessibility
- The Unluckiest Paragraphs: A Tale of CSS and Why Parts of Medium Sometimes Disappear
- Simple Style Sheets, Or How to Improve Your Sleep by Dropping the Cascade
- The case of the eternal blur: a bug hunt horror novella
- 2 Fast 2 Furious: migrating Medium’s codebase without slowing down
- GraphQL Server Design @ Medium
- Straightening our Backbone: A lesson in event-driven UI development
- Making Web Components Work, or: How We Learned to Stop Worrying and Love the DOM
- Scaling Mixmax: Front-end performance
- How we built ‘instant’ autocomplete for Mixmax
- React without Redux: how we moved from Backbone to React without rewriting
- Using CORS policies to implement CSRF protection
- Handling 3rd-party JavaScript with Rollup: how and when to leave JS out of the bundle
- Precisely observing structural page changes
- Yarn-ifying Mixmax: why and how we moved from npm to Yarn
- To Yarn and Back (to npm) Again
- Choosing (and using) Javascript static typing: how Mixmax Engineering adopted Flow
- Taking CSS To Scale: A Pragmatic Approach
- The Story of Making Wix Accessible
- Improving load time for 100 million websites
- Building a React Native App for 80 Million Users
- Cutting Dev Time in Half With Invalid User Input Prevention
- Migrating Angular 1.x apps to React — The Hybrid Way!
- Migrating Large Enterprise to NodeJS
- React Native at WalmartLabs
- Primer on Front End Automation
- Lazy Loading Images with IntersectionObserver
- Midway: Walmart’s mocking journey…
- Using React Native: One Year Later
- Lessons from migrating a large codebase to React 16
- Why Discord is Sticking with React Native
- How Discord Maintains Performance While Adding Features
- How Discord Handles Two and Half Million Concurrent Voice Users using WebRTC
- Front-end JavaScript bug tracking
- Building The Next SoundCloud
- Smooth image loading by upscaling
- React Native at SoundCloud
- How a Fixed-Width Button Can Get Your Company Trending on Reddit for All the Wrong Reasons: A Front-End Developer Tale
- Udacity’s Front-End Tech Stack
- React Native: A retrospective from the mobile-engineering team at Udacity
- Scaling Front-end Architecture
- Evolving JavaScript Part 1: Goodbye Backbone
- Evolving JavaScript Part 2: Hello React
- Evolving JavaScript Part 3: Building a React Application
- How We Made The Animated A/B Testing Guide
- Getting 60 FPS using Chrome devtools
- Overcoming the Challenges of Performance Testing Single-page Apps
- jQuery Promises: The answer to PostMessage's asynchrony
- Testing AngularJS Apps End to End Using Protractor
- A layout trick
- Speeding Up VWO
- Migrating towards Yarn and Webpack
- Why we've removed Inheritance/Extend from SASS & you should do the same!
- Automated Heatmap Verification E2E using Selenium and Canvas
- Fixing bugs with Outlook specific CSS
- How to test accessibility of emails
- Better video previews for email
- Lessons Learned from the Flickr Touch Lightbox
- Creating an interface for geofences
- Raising the bar on web uploads
- Building an HTML5 Photo Editor
- Building The Flickr Web Uploadr: The Grid
- Parsing Exif client-side using JavaScript
- Adventures in Jank Busting: Parallax, performance, and the new Flickr Home Page
- Building Flickr’s new Hybrid Signed-Out Homepage
- Perceptual Image Compression at Flickr
- Introducing yakbak: Record and playback HTTP interactions in NodeJS
- Jumpstart to React+Redux Development
- Centralized ESLint Configuration
- Redux For Better in-App Analytics
- Managing Complexity in Redux: Higher-Order Reducers and Async State
- How We Simplified our Tooling Setup for Node.js Projects
- How to Use the Power of Jest’s Snapshot Testing Without Using Jest
- Cross-Domain Browser Window Messaging with HTML5 and Javascript
- Composing Synchronous and Asynchronous Functions in JavaScript
- An AJAX Auto-Save Implementation
- Less is more: reducing thousands of PayPal buttons into a single iframe, using zoid
- Sane, scalable Angular apps are tricky, but not impossible. Lessons learned from PayPal Checkout
- Dependency injection in Angular isn’t worth it. More lessons learned from scaling PayPal Checkout
- Auto-shrink-wrapping in PayPal Checkout, and how it’s saved us more than once
- Safari’s new third party tracking rules, and enabling cross-domain data storage
- Reinventing cross-origin requests, without CORS
- Introducing PayPal’s open-source cross-domain javascript suite
- GraphQL: A success story for PayPal Checkout
- IE10: How does it really stack up?
- Atomic CSS as a tool set
- The Definitive Guide to Copying and Pasting in JavaScript
- Big content in a little canvas
- Improving Angular 2 Load Times and a 29KB Hello World App
- Angular 2 and Observables: Data Sharing in a Multi-View Application
- Using Angular 2 Components In a Non-Angular App
- How to handle folder uploads in Angular 2+
- JavaScriptCore – The Holy Grail of Cross Platform
- How to Actually Improve Type Safety with the TypeScript Strict Flags
- Converting 600k lines to TypeScript in 72 hours
- ZoneTracker: Tracking JavaScript Performance with Zone.js
- JavaScriptCore—10 Months Later
- PWA Stats
- Web Performance Optimization Stats
- Production Web Apps Performance Study Q4/16 - Q1/17
- Case study: improving a popular library’s size for webpack users
- Case study: analyzing the Walmart site performance
- AMP, Instant Articles, Instant View, whut?
- Подкасты «Медузы»
- Как использовать кастомные шрифты в вебе и не сойти с ума
- Веб-пуш уведомления в Медузе
- За закрытой дверью фронтенда Единой фронтальной системы (ЕФС)
- Redux как сердце архитектуры фронтенда Единой фронтальной системы
- Работа с периферией из JavaScript: от теории к практике
- Как работают приложения Сбербанк Онлайн: Workflow API и фрэймворки
- Дели — сокращай, или как мы делали мобильный 2ГИС Онлайн
- Этажи: 3D-навигация на WebGL в 2gis.ru
- Тестируем вёрстку правильно
- TARS, сделай уровень frontend-рутины 0%
- Справа налево. Что такое dir=rtl и как приручить арабский язык
- Справа налево. Как перевернуть интерфейс сайта под RTL
- Предъявите паспорт
- БЭМ + React: гибкая архитектура дизайн-системы
- Изоморфное приложение React JS + Spring Boot
- Атомарные SPA
- Прототипирование на продакшн-технологиях
- Почему Node.js в качестве основы фронтенда – это круто
- Создание NPM-модуля Яндекс.Кассы под Node.js — опыт Lodoss Team
- Фронтенд как у сына маминой подруги
- Реактивный фронтенд. История о том, как мы снова всё переписали
- Jenkins на службе фронтенд-разработки
- Многоязычный Badoo: «трудности перевода»
- Специфика верстки мультиязычных веб-приложений
- Как собрать статистику с веб-сайта и не набить себе шишек
- Работаем с API по-взрослому
- Покрываем A/B-тесты UI-тестами. Как не запутаться в собственном коде
- Чем плох JavaScript в большом проекте? С какими проблемами мы столкнулись и как их решали
- Два года с Dart: о том, как мы пишем на языке, который ежегодно «хоронят»
- Создание Tinkoff Design System. Первые шаги
- Создание Tinkoff Design System. UI Kit, версионирование и витрина компонентов
- Как мы разрабатываем новый фронтенд Tinkoff.ru
- Accessibility. Как мы делаем Яндекс доступным людям с ограниченными возможностями и почему считаем это важным
- Как инкрементальные обновления влияют на скорость загрузки. Опыт Яндекс.Почты
- Как создавалась карта с голосами болельщиков для Олимпиады
- Лекция Виталия Харисова «10k» про лёгкую версию поиска для медленных соединений и способы оптимизации кода, позволяющие уложиться в 10 килобайт
- Как мы делали «нарратив» – новый формат публикаций в Яндекс.Дзене
- Бэкенд для фронтенда, или как в Яндекс.Маркете создают API без костылей
- Как мы разогнали мобильную Lenta.ru до скорости света
- Проектирование дизайн-системы Рамблера
- Опыт Rambler Group: как мы начали полностью контролировать формирование и поведение фронтовых React компонентов
- Apollo: 9 месяцев — полет нормальный
- Маршрутизация в большом приложении на React