Dev Shows
Home
Podcasts
About
Search
Frontend First
Skip to Episodes
A podcast about modern UI development on the web. Hosted by Sam Selikoff and Ryan Toronto.
Episodes (201)
December 12, 2024
Creating a background gradient from an image
PLAY
November 14, 2024
Exploring useActionState
PLAY
October 31, 2024
Cloudflare Tunnel | React Compiler | refs during render
PLAY
October 24, 2024
useAnimatedText | Events vs. State Changes | Catalyst
PLAY
October 10, 2024
Can you self-host Next.js?
PLAY
September 18, 2024
Tom Occhino on the future of React
PLAY
September 5, 2024
Render props
PLAY
August 28, 2024
Controlled and uncontrolled components
PLAY
August 15, 2024
Unstyled React components
PLAY
August 1, 2024
What is a framework?
PLAY
July 25, 2024
Crossover: Declaring War Against the Frontend
PLAY
July 18, 2024
Blog Post Club: Queueing - An interactive study of queueing strategies
PLAY
July 11, 2024
SPAs in React 19
PLAY
July 3, 2024
High floor, high ceiling
PLAY
June 20, 2024
Technical Cost vs. Product Benefit
PLAY
June 12, 2024
View Transitions in React
PLAY
April 17, 2024
CodeMirror | Radix Themes
PLAY
April 10, 2024
Throw is about control flow – not error handling
PLAY
March 22, 2024
The Philosophy of Next.js
PLAY
March 13, 2024
Beyond Data Fetching with RSCs
PLAY
March 1, 2024
Blog Post Club: React Labs – What We’ve Been Working On
PLAY
February 21, 2024
Instant URL search params in Next.js
PLAY
February 14, 2024
React Deep Dive: useOptimistic
PLAY
February 7, 2024
React Cache: Deep Dive
PLAY
February 1, 2024
Advanced Radix UI | Blog Post Club: React Server
PLAY
November 6, 2023
The SQL Injection Slide
PLAY
October 14, 2023
The Remix Architecture
PLAY
October 4, 2023
Implementing RSC, Part 2: Server Actions
PLAY
September 29, 2023
Lessons learned from implementing RSC: Part 1
PLAY
September 20, 2023
Should a navigation and a refresh show the same page?
PLAY
August 16, 2023
Tim Neutkens on the Next.js App Router
PLAY
August 9, 2023
Understanding prop passing from RSC to Client Components
PLAY
July 12, 2023
Server-side rendering vs. Server Components
PLAY
July 5, 2023
Reusable pending UI for forms with Server Actions
PLAY
June 7, 2023
How Suspense led to Server Components (React Roundtable reaction)
PLAY
May 24, 2023
Learning by copy-paste
PLAY
May 17, 2023
What problems do React Server Components solve?
PLAY
May 11, 2023
Implicit time zones and the TZ environment variable
PLAY
May 3, 2023
React email previews and radial gradients
PLAY
April 26, 2023
Blending modes and secure redirects
PLAY
April 20, 2023
React Aria Components
PLAY
April 12, 2023
JavaScript needs a model layer
PLAY
March 15, 2023
Server Components and the React paradigm
PLAY
March 8, 2023
HTML, HTTP, and React
PLAY
March 1, 2023
Caching strategies
PLAY
February 22, 2023
Saying goodbye to static generation
PLAY
February 15, 2023
Building user search with React Server Components
PLAY
February 8, 2023
Ship Small, Ship Fast
PLAY
January 26, 2023
Lying in TypeScript
PLAY
January 19, 2023
Animating a Stable Diffusion side project
PLAY
January 11, 2023
Lessons from stitching GraphQL services with Hasura
PLAY
December 29, 2022
How to solve a SSR/CSR mismatch with the DOM
PLAY
December 2, 2022
Why we’re adding a CMS to Build UI
PLAY
September 16, 2022
Testing is inescapable
PLAY
September 2, 2022
Type safety from Hasura to SWR
PLAY
August 22, 2022
Playing with Server Components in Vercel’s Edge Runtime
PLAY
July 20, 2022
The problem with buttons on the web
PLAY
June 6, 2022
Should you use merge commits or rebase when working on large codebases?
PLAY
May 31, 2022
Read and discuss: Next.js Layouts RFC
PLAY
May 12, 2022
All about useEvent
PLAY
May 6, 2022
Strict Mode Behaviors in React 18
PLAY
March 25, 2022
Reacting to Remix!
PLAY
March 17, 2022
Client apps, server apps, and the real reason DX matters
PLAY
March 8, 2022
Auth-based route guards in Next.js and debugging in production
PLAY
February 25, 2022
What’s the link between Server Components and Suspense for Data Fetching?
PLAY
February 17, 2022
Internal apps vs. public websites
PLAY
February 4, 2022
How to bridge the gap from module scope to React rendering
PLAY
January 29, 2022
Is Suspense “backwards compatible”, and thoughts on Remix & web standards
PLAY
January 19, 2022
Transitions and Data Fetching with Suspense in React 18
PLAY
January 11, 2022
Transitive Dependencies and Suspending After Initial Render
PLAY
December 21, 2021
Suspense and the React 18 Keynote
PLAY
October 26, 2021
Pages are new entry points
PLAY
September 21, 2021
The benefits of smarter form components
PLAY
August 18, 2021
Module side effects and import order
PLAY
August 4, 2021
Mocking services
PLAY
July 19, 2021
Shared reactive data without context or effects
PLAY
July 13, 2021
The Costs of SSR in Next.js
PLAY
July 6, 2021
Sync code, async UI
PLAY
June 21, 2021
Using Suspense
PLAY
June 14, 2021
Talkin’ Bout Suspense
PLAY
June 7, 2021
Building headlessui.dev
PLAY
May 28, 2021
Should frontend development drive backend design?
PLAY
March 18, 2021
Is Tailwind really an alternative to Bootstrap?
PLAY
February 23, 2021
Does server-side generation make loading states more complex?
PLAY
February 5, 2021
Best Practices for Imperative APIs in React
PLAY
January 22, 2021
Auth: The Momentum Killer
PLAY
January 14, 2021
Gestures and Animations with React Use Gesture and Framer Motion
PLAY
November 18, 2020
Bundling client-server communication with packages for Next.js
PLAY
November 11, 2020
Is GraphQL an implementation detail?
PLAY
November 4, 2020
The convergence of frontend and backend frameworks
PLAY
October 28, 2020
Key props vs. effects
PLAY
October 15, 2020
How to test apps built on third-party services
PLAY
September 17, 2020
Singleton components
PLAY
August 26, 2020
Next.js vs. Gatsby, revisited
PLAY
August 12, 2020
Adventures with Amplify
PLAY
July 29, 2020
Does code splitting negate the benefits of building an SPA?
PLAY
July 16, 2020
Stop Energy
PLAY
July 2, 2020
Tech debt vs. platform risk
PLAY
June 24, 2020
Safety and idempotence
PLAY
June 19, 2020
Drew Powers on How Pika's Making the Web Faster
PLAY
June 10, 2020
Tom Preston-Werner on Architecture Decisions in Redwood JS
PLAY
May 28, 2020
Why the browser is the most complex runtime environment
PLAY
May 20, 2020
Read and Discuss: "Second-guessing the modern web"
PLAY
May 14, 2020
Everyone's sidestepping useEffect. Is everyone wrong, or is it React?
PLAY
May 7, 2020
When APIs get misused, who's to blame?
PLAY
May 1, 2020
WTF is the JAMstack?
PLAY
April 24, 2020
Introducing: Frontend First
PLAY
April 20, 2020
Coming soon: Frontend First
PLAY
April 16, 2020
What's the fastest way to deliver an app?
PLAY
April 8, 2020
What's been the primary driver of JavaScript adoption?
PLAY
April 1, 2020
Does route-based code splitting make UX worse?
PLAY
March 25, 2020
We can't stop talking about edge deploys
PLAY
March 20, 2020
Yehuda Katz on Thinking Long Term about Experimentation vs. Fragmentation in OSS
PLAY
March 11, 2020
Mike Perham on Sustaining Open Source with Sidekiq and Faktory
PLAY
February 19, 2020
What's the best SPA architecture for edge deploys?
PLAY
February 12, 2020
Declarative Code and DevOps
PLAY
January 29, 2020
Launching Mirage JS!
PLAY
January 22, 2020
When UI isn't a function of state
PLAY
January 8, 2020
How should we style the stuff in between components?
PLAY
December 20, 2019
Which concepts should a framework teach?
PLAY
December 5, 2019
An ORM by any other name
PLAY
November 27, 2019
When composability is not the answer
PLAY
November 13, 2019
Yehuda Katz on Paradigms vs. Abstractions in UI Development
PLAY
October 31, 2019
React is hard!
PLAY
October 23, 2019
Does technology get popular for the right reasons?
PLAY
October 11, 2019
Imports are not code – they're declarations
PLAY
October 4, 2019
Server-side state means global resource identity
PLAY
September 19, 2019
The Weekend Warrior Adoption Hypothesis
PLAY
September 11, 2019
Side effects aren't declarative. What if they were?
PLAY
August 28, 2019
What should be abstracted?
PLAY
August 21, 2019
APIs are about Policy
PLAY
August 7, 2019
Object references considered helpful
PLAY
July 31, 2019
You gotta feel the pain
PLAY
July 18, 2019
The burden of high-level APIs
PLAY
July 11, 2019
Are staging environments an anti-pattern?
PLAY
June 26, 2019
When libraries go unmaintained
PLAY
June 19, 2019
Microscopic Frontends
PLAY
June 5, 2019
Open source isn't free
PLAY
May 29, 2019
Katie Gengler on the tech and processes that power the Ember community
PLAY
May 22, 2019
Stateless development environments
PLAY
May 8, 2019
Nathan Selikoff on Omnimodal's real-time tech stack
PLAY
May 1, 2019
Frontend developers like us do things like this
PLAY
April 24, 2019
Hark! The Halting problem sings
PLAY
April 17, 2019
Edward Faulkner on Embroider, Ember CLI's modern build system
PLAY
April 10, 2019
Derrick Reimer on SPA architecture with Elm and GraphQL
PLAY
April 4, 2019
Do you trust your test suite?
PLAY
March 13, 2019
Chris Garrett on Ember Octane
PLAY
March 6, 2019
SPAs should do more than server-rendered apps, not less
PLAY
February 27, 2019
You still have to build two apps
PLAY
February 13, 2019
From build-time to run-time
PLAY
February 6, 2019
Lenient libraries, strict applications
PLAY
January 30, 2019
Mirage, meet Addon Docs!
PLAY
January 23, 2019
There's a bug in my FastBoot
PLAY
January 16, 2019
The forgotten middle class
PLAY
January 9, 2019
Grab bag: Web vs Native, stale data, and build environments
PLAY
December 19, 2018
Thoughts on tracked properties
PLAY
December 12, 2018
Incremental Ember upgrades
PLAY
December 5, 2018
The elephant in the room
PLAY
November 28, 2018
Going all in on "outside in"
PLAY
November 21, 2018
A less constrained environment
PLAY
November 14, 2018
Recursive partial application
PLAY
November 6, 2018
Compose wisely
PLAY
October 30, 2018
A dropdown nest
PLAY
October 19, 2018
Your frontend is ready for production
PLAY
October 12, 2018
Scope down!
PLAY
October 3, 2018
Can small libraries be conventional?
PLAY
September 27, 2018
The Product Gap
PLAY
September 12, 2018
80 percent done, 80 percent to go
PLAY
August 29, 2018
Ember Octane
PLAY
August 22, 2018
Melanie Sumner on empowering JavaScript engineers
PLAY
August 15, 2018
I am a lighthouse
PLAY
August 9, 2018
Jonathan Jackson on FastBoot Rehydration and Codemods
PLAY
July 20, 2018
Provide this!
PLAY
July 13, 2018
Jen Weber on imaginary bars
PLAY
July 6, 2018
Mirage, meet Node
PLAY
June 30, 2018
Let's be optimistic
PLAY
June 23, 2018
A man can dream
PLAY
June 15, 2018
Wrapping libraries reponsibly
PLAY
June 7, 2018
Bugs vs. features
PLAY
May 29, 2018
Toran Billups on Hot Reloading
PLAY
May 18, 2018
Test before commit
PLAY
May 11, 2018
Adam Wathan on Tailwind CSS
PLAY
May 3, 2018
Robert Jackson and Tom Dale on Ember at LinkedIn
PLAY
April 26, 2018
Concretions and abstractions
PLAY
April 19, 2018
Sketch Prototyping and Amazon Workspaces
PLAY
April 12, 2018
Alex Matchneer on Routing Patterns
PLAY
April 5, 2018
Steelman vs. strawman
PLAY
March 30, 2018
Making the impossible, impossible
PLAY
March 7, 2018
Oli Griffiths on the Benefits of Static Typing and How Broccoli Works
PLAY
February 22, 2018
JSONAPI Operations, Caching in FastBoot, and Ember's Strengths
PLAY
January 31, 2018
Tom Dale on Static Analysis, Upstreaming Glimmer, and Ember in 2018
PLAY
January 24, 2018
Babel Plugins, Compile-time Components, and Extending Integration Tests
PLAY
January 17, 2018
Avoiding Imperative APIs and Expired Data
PLAY
January 10, 2018
Breaking Production, Functional CSS and UI Components, and Testing Async Errors
PLAY
December 7, 2017
Declarative Data Fetching, Disposable Code, Easier Upgrades, and the Upfront Cost of Ember
PLAY
November 8, 2017
Photo Uploads, Server Errors in Ember Data, NPM Dependencies and Ember CLI Addon Docs
PLAY
October 27, 2017
Async Relationships, Store Forking, and Batch Saving in Ember Data
PLAY
October 6, 2017
Forms, Authentication, Ember 3.0, and Liquid Tether
PLAY
September 14, 2017
Luke Melia on Styleguides
PLAY
August 29, 2017
FastBoot, Structural Components and Ember Data Transactions
PLAY
June 2, 2017
Glimmer, Ember's reputation and Tachyons
PLAY
Dev Shows logo
Audio Player
>
collapse audio player
>
expand audio player
Speed:
0.5
0.75
1.0
1.25
1.5
1.75
2.0
2.25
2.5
-
--:--
--:--