Sam Selikoff, Ryan Toronto
Frontend First
A podcast about modern UI development on the web. Hosted by Sam Selikoff and Ryan Toronto.
Autor
Sam Selikoff, Ryan Toronto
Kategorie
Podcast-Website
Neueste Folge
12. Dez 2024
Wo hören?
Podcasts in der App Replaio Radio Bald verfügbarPodcasts kommen bald in die App. Installiere sie jetzt und erlebe als Erster einen ganz neuen Blick auf Podcasts
Folgen
Shared reactive data without context or effects 19.07.2021 1:03:00
Sam and Ryan talk about whether stores in module scope are a better alternative to Context for sharing global state in React apps. Topics include: 0:00 – Intro 3:21 – Using Zustand to refactor a useAuth hook 34:08 – Module scope vs. context for shared state 58:52 – 7 GUI tasks Links: Zustand Sebastian’s tweet on default context values Sam’s Auth Provider using Zustand, SWR and Suspense 7 GUIs
The Costs of SSR in Next.js 13.07.2021 49:33
Sam and Ryan talk about how Next.js places an upfront cost on app teams for the sake of scalability and server-side rendering, and how to avoid this cost when building apps with user-specific data where SSR is not a priority. They also talk about avoiding Context for global state in React apps. Topics include: 0:00 – Intro 1:51 – Avoiding Context for global state in React 22:22 – Safeguarding _app...
Sync code, async UI 06.07.2021 58:33
Sam and Ryan continue to put some more pieces of the Suspense puzzle together as they talk about how throwing promises enables devs to write synchronous code while still building asynchronous (non-blocking) UI. They also talk about sharing state across pages in Next.js. Topics include: 0:00 – Intro 1:08 – Sharing state across pages in Next.js 9:03 – Confronting JS object identity up-front in React...
Using Suspense 21.06.2021 47:31
Sam tells Ryan about his experience adding Suspense to his Fitness app and how it improved the app’s UX. They also discuss some problems with skeleton screens and the pros and cons of nested routing. Topics include: 0:00 - Intro 3:50 - URLs and nested routing 13:48 - Suspense, skeletons, and data fetching Links: Design Details podcast React Suspense Next.js
Talkin’ Bout Suspense 14.06.2021 45:50
Prompted by the new React 18 alpha release, Sam and Ryan chat about Suspense and what data-fetching issues they’re excited about it solving. They also talk about some Twitter conversation around premature optimization. Topics include: 2:05 – Suspense and data-fetching 31:05 – Tweets of the week: Preoptimzation Links: Sam on Twitter Ryan on Twitter Sam’s tweet about routing in Next.js Guillermo Rau...
Building headlessui.dev (fixed) 07.06.2021 1:05:29
Sam and Ryan talk about their experience building the headlessui.dev website with the folks from Tailwind Labs. They chat about the team’s deadline-driven development process, some new Figma workflow tips when implementing a design that was built with Tailwind CSS in mind, and some tech takeaways from building a docs site with Next.js. They also chat about some testing conversation that was happen...
Should frontend development drive backend design? 28.05.2021 1:00:15
Sam and Ryan talk about how visual design typically drives frontend app development, and whether or not this implies that frontend development should drive backend development in a similar way. They also discuss a tricky UI issue involving keeping a React app consistent with both the URL and server-side auth state. Topics include: 2:02 - How the URL makes it hard to keep your app consistent with c...
Is Tailwind really an alternative to Bootstrap? 18.03.2021 1:05:33
Sam and Ryan discuss building a library with TSDX, as well as some hiccups they ran into with node’s module resolution algorithm. They also talk about how even though Tailwind and Bootstrap are both considered CSS frameworks, they’re actually used to solve very different problems. Topics include: 0:00 Intro 2:55 Building a library with TSDX 11:56 Writing docs with MDX 21:15 Node resolutions with n...
Does server-side generation make loading states more complex? 23.02.2021 1:05:37
Sam and Ryan discuss how loading states, data fetching, and skeleton screens can change the architecture of an SSG application. They also talk about Apollo’s cache and various query re-fetching strategies. Topics include: 0:00 - Intro 2:35 - Image cropper dampening 4:00 - Learning library abstractions 10:00 - Loading states with SSG 28:00 - Server side cache 38:30 - Tweet of the week 46:00 - Apoll...
Best Practices for Imperative APIs in React 05.02.2021 1:01:53
Ryan shares his first impressions using Supabase and talks about a new app he’s building to manage users in Hasura. Sam talks about how to responsibly go outside of React’s rendering cycle when using imperative APIs. Topics include: 0:00 - Intro 3:40 - Supabase first thoughts 13:50 - Building an auth layer for Hasura 30:40 - Apollo server 37:50 - Framer Motion’s MotionValue and imperative APIs Lin...
Auth: The Momentum Killer 22.01.2021 47:39
Ryan shares his experience setting up authentication in a new project with Sam. They also discuss some of the tradeoffs that client apps face when consuming raw JSON vs. passing data through a model layer like an ORM. Topics include: 0:00 - Intro 1:00 - Visual programming in the video game Factorio 9:00 - Setting up auth in a new project 22:40 - Checking out Supabase 30:00 - Consuming APIs Links:...
Gestures and Animations with React Use Gesture and Framer Motion 14.01.2021 36:59
Sam tells Ryan about what he’s been learning using the React Use Gesture and Framer Motion libraries to build an Image Cropper for his YouTube series. They also chat about their first impressions of React’s new Server Components, as well as the Tailwind 2.0 launch. Topics include: 1:40 - First impressions of React server components 12:10 - Tailwind 2 launch 16:15 - React gesture with framer motion...
Bundling client-server communication with packages for Next.js 18.11.2020 54:26
Ryan tells Sam about an image uploading solution he built for one of his Next.js apps. They discuss how Next.js's integrated frontend and backend allow for much more convenient packages, and they brainstorm other packages that would fit well within Next's architecture. Ryan also shares how parser combinators helped him write robust text-parsing code for his poker app. Topics include: 0:54 – Server...
Is GraphQL an implementation detail? 11.11.2020 1:05:03
Sam and Ryan talk about whether GraphQL affects the architecture of an app, and what sort of UI code a well-implemented GraphQL server can replace. They also talk about Sam's experience working on a new side project using Next, Hasura, GraphQL and SWR. Topics include: 2:34 – Finally feeling good about our tech stack. How easy GraphQL makes it to get or update aggregate data. 13:42 – Giving fronten...
The convergence of frontend and backend frameworks 04.11.2020 58:10
Sam and Ryan talk about how frontend and backend frameworks are converging towards similar UI patterns and developer experiences, even though they're coming at it from different starting points. They also talk about the new Next.js 10 release and whether React should document more opinions held by the core team. Topics include: 3:22 – New features in Next.js 10 20:40 – How frontend and backend fra...
Key props vs. effects 28.10.2020 1:09:17
Sam and Ryan talk about how both the key prop and useEffect can be used to solve similar problems, and discuss which approach is better. They also talk about the difference between handling data using models with methods vs. using POJOs with pure functions. Topics include: 0:34 – Model with methods vs POJOs with functions 16:44 – Comparing explicit, verbose code in React vs. other frameworks 29:34...
How to test apps built on third-party services 15.10.2020 59:45
Sam and Ryan talk more about their recent experience using Hasura and Amplify, and more generally how best to test apps that are built on third-party services. They also talk about Mirage JS GraphQL. Topics include: 7:39 – Testing a Hasura-backed app with Mirage 16:03 – Modeling and querying data with Amplify and Dynamo 31:09 – Auth, Amplify and Hasura, and testing services
Singleton components 17.09.2020 1:06:22
Sam and Ryan talk about a tricky integration between some asynchronous third-party JavaScript code and React's render cycles. They also talk about how powerful the getStaticProps hook from Next.js is, and share some thoughts on whether Firebase's features justify the fact that by using it you lose out on the GraphQL community's standard libraries and tooling. Topics include: 0:50 – How to robustly...
Next.js vs. Gatsby, revisited 26.08.2020 48:47
Sam talks about his recent experience working with Next.js on his personal site. He and Ryan also compare Gatsby and Next, and discuss how much Next's updates over the past year have curbed Gatsby's advantages. They also talk about the best way to make frontend developers more autonomous. Topics include: - 8:30 - Working on moving samselikoff.com to Next.js - 39:04 – The best way to make fronten...
Adventures with Amplify 12.08.2020 1:06:54
Sam and Ryan talk about Ryan's recent experience using Amplify on a side project. They chat about the tradeoffs between using services and writing your own backend code, and how backend services let you do more at the cost of not understanding as much about how the system works. Topics include: 9:10 – Why Gatsby's content mesh is so good 23:00 – How much of your backend is your product 35:00 – Aut...
Does code splitting negate the benefits of building an SPA? 29.07.2020 50:40
Sam and Ryan talk about how route-based code splitting makes SPAs more like traditional server-rendered apps, potentially negating many of their benefits. They also talk about how the intrinsic width of text affects flexbox-based layouts. Topics include: - 4:20 – Flexbox and intrinsic width - 27:40 – Does route splitting negate the benefits of an SPA? Links: - Daniel Schiffer on YouTube - Sam'...
Stop Energy 16.07.2020 55:14
Sam and Ryan talk about a post from 2002 discussing Stop Energy, which the author defines as a certain kind of feedback that is thoughtless and can halt forward motion on a project. They also talk about Ryan's adventures with Amplify, and brainstorm how to automate Sam's work journal. Topics include: 6:05 – Stop Energy 27:55 – Amplify 44:27 – Automating a Work Journal Links: What is Stop Energy Am...
Tech debt vs. platform risk 02.07.2020 1:07:36
Sam and Ryan talk about adding an authenticated backend to miragejs.com using Hasura, Heroku and Netlify. They also talk about the differences in risk between using paid third-party services vs. depending on open-source libraries. Topics include: - 3:47 – Adding a backend to miragejs.com - 13:03 – Environment variables in frontend apps - 20:48 – Adding privileges to the anonymous role - 28:00 –...
Safety and idempotence 24.06.2020 1:06:07
Sam and Ryan talk – again – about the best way to write side effects in React applications. Ryan shares his approach based on his recent work in several React apps, and talks about the pitfalls of using useEffect's dependency array as a mechanism for control flow. Sam also talks about his recent video on React Router and why it's important to use the entire route hierarchy when determining whether...
Drew Powers on How Pika's Making the Web Faster 19.06.2020 1:10:10
Drew Powers, one of two full-time engineers working at Pika, joins Sam to talk about Pika's mission to make the web faster. Drew talks about how Pika is focused on building tools that meet developers where they're at, his work on Snowpack, and the company's vision for Pika CDN. Topics include: 0:00 – What do you do at Pika? 4:54 – What is Pika's mission and where is it coming from? 10:45 – What do...
Ähnliche Podcasts
Replaio ist kein Herausgeber von Podcasts; die Namen der Sendungen, Cover und Audioinhalte gehören ihren Autoren und werden über öffentliche RSS-Feeds verbreitet