Log in

goodpods headphones icon

To access all our features

Open the Goodpods app
Close icon
Frontend First - What is a framework?

What is a framework?

08/01/24 • 62 min

Frontend First

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 - Intro
  • 3:58 - Adapter pattern and cohesive boundaries
  • 9:43 - Rails is Omakase
  • 13:47 - Configurable, but still cohesive
  • 17:04 - Frontend frameworks try to “work with everything”
  • 21:42 - Does composition mean a React framework will look different than Rails?
  • 29:29 - Why taste still matters
  • 34:20 - A framework is a shell of adapters and a brain that coordinates them
  • 35:16 - When using services, complexity still exists in the in-between
  • 37:59 - A fullstack dev is someone who acknowledges and understands how all the parts come together
  • 44:06 - Tweets about the hard problems that Laravel tackles, and the deep design it took to get there
  • 49:15 - Frameworks should embrace the strengths and patterns of their language and ecosystem
  • 50:35 - Why RSCs and Server Actions mean the “Rails for JS” may end up looking nothing like Rails
  • 52:11 - Why users of a “fullstack framework” shouldn’t even care about where the code is running
  • 55:31 - Why libraries or services that are easy to install and set up are not a replacement for frameworks

Links:

plus icon
bookmark

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 - Intro
  • 3:58 - Adapter pattern and cohesive boundaries
  • 9:43 - Rails is Omakase
  • 13:47 - Configurable, but still cohesive
  • 17:04 - Frontend frameworks try to “work with everything”
  • 21:42 - Does composition mean a React framework will look different than Rails?
  • 29:29 - Why taste still matters
  • 34:20 - A framework is a shell of adapters and a brain that coordinates them
  • 35:16 - When using services, complexity still exists in the in-between
  • 37:59 - A fullstack dev is someone who acknowledges and understands how all the parts come together
  • 44:06 - Tweets about the hard problems that Laravel tackles, and the deep design it took to get there
  • 49:15 - Frameworks should embrace the strengths and patterns of their language and ecosystem
  • 50:35 - Why RSCs and Server Actions mean the “Rails for JS” may end up looking nothing like Rails
  • 52:11 - Why users of a “fullstack framework” shouldn’t even care about where the code is running
  • 55:31 - Why libraries or services that are easy to install and set up are not a replacement for frameworks

Links:

Previous Episode

undefined - 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 - Intro
  • 2:12 - When abstractions leak
  • 6:37 - Recap of Sam's BigSky talk
  • 10:51 - What is JavaScript doing differently?
  • 19:10 - Why frontend frameworks should have more backend features
  • 24:04 - Strong opinions on a library level
  • 30:29 - Shipping more standardized interfaces
  • 37:06 - The frontend should be driving everything in the backend
  • 39:12 - Your types should flow from the database to the frontend, but not your product decisions
  • 46:53 - React Server Components

Link:

Next Episode

undefined - 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 - Intro
  • 1: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 component?
  • 9:58 - How can you compose an unstyled component with a styled component?
  • 16:41 - How to decide which pattern is best suited for the code you want to share
  • 19:36 - Using patterns that preserve React's locality of behavior
  • 24:49 - How do you know if an abstraction is good?
  • 32:54 - Build UI's upcoming course on Advanced React Component Patterns

Links:

Episode Comments

Generate a badge

Get a badge for your website that links back to this episode

Select type & size
Open dropdown icon
share badge image

<a href="https://goodpods.com/podcasts/frontend-first-197138/what-is-a-framework-65638058"> <img src="https://storage.googleapis.com/goodpods-images-bucket/badges/generic-badge-1.svg" alt="listen to what is a framework? on goodpods" style="width: 225px" /> </a>

Copy