Skill Piper

Frontend First

Brought to you by, Sam Selikoff, Ryan Toronto

https://skillpiper.com/share/1288274408

Frontend First

A podcast about modern UI development on the web. Hosted by Sam Selikoff and Ryan Toronto.

...see more

    Technology

Subscribe and Listen Anywhere

  • rss
  • spotify
  • apple
  • breez
  • youtube
  • castbox
  • overcast
  • podcastaddict
  • pocketcasts
  • podbean
  • playerfm
  • antennapod
  • podcastrepublic
  • anytimeplayer

Recent Episodes of Frontend First


Render props

Render props

Sam and Ryan talk about render props in React. They discuss where they came from, how Hooks superseded them for sharing stateful logic, how data attributes compare to them for customizing styling, and how for certain complex components like forms they're still a great solution for accessing slices of internal state.

Timestamps:

0:00 - Intro3:40 - Where did render props come from?6:01 - How hooks replaced many use cases for render props8:14 - Using render props for custom styling10:32 - Data attributes vs. render props for custom styling16:43 - Using render props to peek into an uncontrolled...

Episode 195 5 September 2024 34m and 43s


Controlled and uncontrolled components

Controlled and uncontrolled components

Sam and Ryan discuss controlled and uncontrolled components in React. They talk about how uncontrolled components can be thought of as components that manage their own internal state, why you should model your complex React components after the simpler APIs of native HTML elements like inputs, why you shouldn't try to make components that are both controlled and uncontrolled, and why making a new component boundary is sometimes all you need to make your custom components behave more predictably.

Timestamps:

0:00 - Intro1:41 - What are controlled and uncontrolled components?6:11 - How to change a component from...

Episode 194 28 August 2024 47m and 25s


Unstyled React components

Unstyled React components

Sam and Ryan talk about the pattern of building unstyled components with React. They discuss why unstyled components were created, how they improve upon composition patterns from UI libraries like Bootstrap, how they can be used to share behavior and logic without prescribing any styling opinions, and how they fit into a larger collection of React patterns that can be used to build more powerful components that avoid premature abstractions.

Timestamps:

0:00 - Intro1:36 - What are unstyled components?2:24 - How do unstyled components improve upon earlier patterns?6:44 - Why would you want to use an unstyled...

Episode 193 15 August 2024 34m and 8s


What is a framework?

What is a framework?

Sam and Ryan talk about what sorts of capabilities a tool should have to be considered a web framework. They discuss how frameworks tackle the complexity of getting different systems to communicate with each other, how good frameworks embrace the strengths and patterns of the language they're written in, and why frameworks and services are not in opposition to each other.

Timestamps:

0:00 - Intro3:58 - Adapter pattern and cohesive boundaries9:43 - Rails is Omakase13:47 - Configurable, but still cohesive17:04 - Frontend frameworks try to “work with everything”21:42 - Does composition mean a React framework will look diff...

Episode 192 1 August 2024 1h, 2m and 38s


Crossover: Declaring War Against the Frontend

Crossover: Declaring War Against the Frontend

Sam joins Lane Wagner in a crossover episode with the Backend Banter podcast. They talk about abstractions in frontend and backend frameworks, what JavaScript is doing differently from other languages and frameworks, why the frontend should drive the backend even if you're building in a server-side framework, and what's so special about React Server Components.

Timestamps:

0:00 - Intro2:12 - When abstractions leak6:37 - Recap of Sam's BigSky talk10:51 - What is JavaScript doing differently?19:10 - Why frontend frameworks should have more backend features24:04 - Strong opinions on a library level30:29 - Shipping more standardized interfaces37:06...

Episode 191 25 July 2024 59m and 17s


Blog Post Club: Queueing - An interactive study of queueing strategies

Blog Post Club: Queueing - An interactive study of queueing strategies

Sam and Ryan read and discuss a fantastic interactive blog post about queueing in HTTP written by Sam Rose.

Timestamps:

0:00 - Intro6:57 - Queueing: An interactive study of queueing strategies9:05 - Why do we need queues?13:16 - FIFO and timing out17:55 - LIFO20:58 - Priority queues25:21 - Active queue management29:08 - Comparing queues36:32 - Conclusion

Links:

Queueing: An interactive study of queueing strategiesUp and Down the Ladder of Abstraction

Episode 190 18 July 2024 46m and 27s


SPAs in React 19

SPAs in React 19

Sam and Ryan discuss the new features in React 19 that will specifically benefit developers building single-page applications. They talk about how Suspense and Transitions let developers "teach" React about when their apps are in a loading or a pending state, how Client Actions improve upon using events in React 18 to handle data mutations, and how Actions enable React Components to automatically render and discard optimistic updates without any knowledge of the application's data layer. They also discuss several new Hooks like useOptimistic, useFormStatus, useActionState, and useOptimistic.

Timestamps:

0:00 - Intro2:19 - How SPAs are built in React 185:29...

Episode 189 11 July 2024 59m and 34s


High floor, high ceiling

High floor, high ceiling

Sam tells Ryan about a recent talk he gave at BigSkyDevCon. They chat about how backend frameworks are raising the ceiling of what UIs they’re capable of delivering, how frontend frameworks are raising the floor of what backend features they come bundled with, and what each community can learn from the other.

Timestamps:

0:00 - Intro4:23 - Recap of Ryan Florence’s talk6:49 - Overview of "High floor, high ceiling"10:02 - Cohesion is the biggest strength of backend frameworks17:10 - Why doesn’t Rails for JavaScript exist?23:48 - Locality of behavior is the biggest strength of fronte...

Episode 188 3 July 2024 59m and 24s


Technical Cost vs. Product Benefit

Technical Cost vs. Product Benefit

Sam and Ryan talk about the difference between the costs of building a feature and the benefits that feature brings to our end users. They discuss how libraries and frameworks can lower the technical cost of building a given feature, how Ryan Florence framed this calculation in his talk at Big Sky Dev Con, and how sometimes developers’ opinions and tastes about tech can smuggle their way from the cost side of the equation into the benefit side.

Topics include:

0:00 - Intro6:53 - How Ryan Florence framed the problem in his talk “Mind the Gap”14:38 - How fr...

Episode 187 20 June 2024 1h, 14m and 10s


View Transitions in React

View Transitions in React

Ryan tells Sam about his experiments with using the new View Transitions API in a React photo gallery app. He talks about how he likes the flexibility of the API, how to think about integrating it into any client-rendered app regardless of the framework, and how he used a Promise with an Effect to tie a View Transition to a React Transition.

Topics include:

0:00 - Intro1:11 - What it’s like to integrate View Transitions with React7:30 - How View Transitions work16:09 - Building a gallery that animates photos across page navigations19:38 - How to use st...

Episode 186 12 June 2024 53m and 21s

Skill Piper
HomeBlogAboutContactNewsletter

© 2024 Skill Piper. All rights reserved

Twitter