Logo
    Search

    Podcast Summary

    • React team announces new features in React 18React 18 introduces the CSS inset property for easier positioning and brings clarity to ongoing projects like Server Side Rendering (SSR)

      During the latest episode of Syntax, the podcast, the React team announced several exciting new features coming in React 18. These updates bring much-needed clarity to the status of ongoing projects, such as Server Side Rendering (SSR) and React. The team's release came just days after the hosts discussed the lack of details on these topics. The episode had to be deleted due to the sudden release of information, making it a humorous situation. One of the new features is the CSS inset property, a shorthand for assigning position values, making it easier to create overlays or models by only specifying the distance from the edges instead of each side individually. This property is supported in all major browsers except for Internet Explorer and older versions of Chrome. The CSS inset property is a small but significant change that simplifies positioning and is easy to polyfill.

    • React's automatic batching feature prevents unnecessary re-rendersReact automatically batches multiple state updates into a single re-render, saving time and resources.

      React's automatic batching feature is designed to prevent unnecessary re-renders of your application. This is particularly useful when multiple state updates occur simultaneously, which could result in multiple, unnecessary re-renders. By batching these updates into a single re-render, React saves time and resources, making the development experience smoother. The speaker expresses a desire for React to have fewer "foot guns" or potential pitfalls that could slow down development, and automatic batching is a step in that direction. The speaker also acknowledges that there are developers who enjoy learning about these gotchas and rules, but emphasizes the importance of data-driven decision-making and benchmarking to fully understand the impact of these practices.

    • React 18 introduces a new render API and SuspenseReact 18 simplifies rendering with a new API and Suspense, enabling more efficient data fetching and improved UI development.

      React 18 introduces a new render API with a simplified syntax, eliminating the need for separate methods for hydrating data or working with server-side rendering. This change aims to make the process smoother and more efficient. Additionally, React 18 will include Suspense, a long-awaited feature that allows developers to fetch data and show loading screens at a higher level, improving the UI development experience and eliminating the need to handle data fetching in every component. The new render API and Suspense are part of the larger rearchitecting process to prepare for advanced features like animations and next-level server-side rendering.

    • Managing component loading with Suspense and simplifying finances with FreshBooksSuspense improves user experience by managing component loading and preventing half-loaded UI, while FreshBooks simplifies financial management for businesses and freelancers with features like invoicing, expense tracking, and tax management.

      React's new Suspense component and FreshBooks cloud accounting software can enhance the user experience in different ways. Suspense allows developers to manage the loading of components in a more controlled way, preventing the issue of half-loaded UI and improving the overall user flow. It's particularly useful for larger teams working on complex interfaces with multiple data sources. FreshBooks, on the other hand, simplifies financial management for businesses, freelancers, and developers, offering features like invoicing, expense tracking, and tax management. With a 30-day free trial, it's an excellent tool to streamline finances and focus on the development process. Additionally, React's Strict Effects mode, which is being added to React 18, will cater to the needs of tooling and plugins that require quick mounting, unmounting, and remounting, making the development process more efficient.

    • New React features for better user experienceReact's latest additions, like 'unmount on suspended' and 'useTransition,' help devs keep components in memory during transitions and delay unmounting for smoother animations, enhancing React's functionality for complex projects

      React's latest features, such as the new "unmount on suspended" API and "useTransition," aim to improve the user experience for developers, particularly those creating plugins or dealing with complex animations. The "unmount on suspended" feature allows developers to keep components in memory during transitions, preventing accidental destruction of work. "UseTransition," on the other hand, is not an animation tool itself but rather a way to delay unmounting of components, enabling smoother animations and better control over state updates. These features may not be essential for all developers, but they can significantly enhance the functionality of React for those working on more complex projects. However, some developers have criticized the obtuse naming of React's hooks, which can make it difficult for newcomers to understand the context and purpose of each hook. Overall, these new features demonstrate React's ongoing commitment to providing powerful tools for building dynamic, user-friendly interfaces.

    • React's SSR challenges and the importance of error handling toolsDespite some frustrations with React's SSR implementation and naming conventions, using error handling tools like Sentry.io is crucial for logging and categorizing bugs effectively in applications.

      While the speaker expresses frustration with some aspects of React's naming conventions and the challenges of implementing Server Side Rendering (SSR), they hold high regard for error handling tools like Sentry.io. They mention specific pain points with SSR, such as code splitting not working and hydration issues, but express optimism for improvements in React version 18. The speaker also touches upon the use of React's `useEffect` hook and suggests that Vue.js had a more intuitive naming system. Despite these challenges, they emphasize the importance of using error handling tools like Sentry.io to effectively log and categorize bugs in applications. To try Sentry.io for free, use the coupon code "tasty treat" at sentry.io.

    • Improvements to React's SSR capabilitiesReact's new approach to SSR with react-lazy, suspense, and Server Components allows for faster load times and improved performance by rendering components on the server and sending HTML over the network.

      Getting server side rendering (SSR), code splitting, and hydration to work together smoothly in React can be a challenge, especially without using a framework like Next.js. However, recent improvements to React's SSR capabilities may make this process easier, as react-lazy and suspense are now said to work on the server side. The new approach of React Server Components, which allows rendering specific components on the server and sending just HTML over the network, is becoming increasingly popular in web development. This method can lead to faster load times and improved performance. Additionally, Node.js now supports import from URL, which is part of the ESM spec, making it easier to use with React. Overall, these advancements aim to reduce the headaches of implementing SSR and code splitting in React applications.

    • SSR vs CSR: The debate continues with benefits of server-side renderingServer-side rendering offers faster page loading times and a smoother user experience through direct database queries, while React Server Components enable this functionality with the same language and framework on both client and server.

      There's an ongoing debate about the advantages of server-side rendering (SSR) versus client-side rendering (CSR) in web development. The speaker expresses a preference for the ability to perform database queries directly in a component with SSR, which can lead to faster page loading times and a smoother user experience. They also appreciate the flexibility of being able to choose between server and client rendering for different parts of an application. The speaker is excited about the potential of React Server Components, which allow for this kind of functionality while using the same language and framework on both the client and server. They also mention the convenience of features built into languages like PHP that allow for data injection and simple URL routing, which are being recreated in JavaScript land. Additionally, they mention RevenueCat as a tool that simplifies implementing in-app purchases and recurring revenue in applications built with various frameworks.

    • Understanding the latest React updatesReact version 18 introduces concepts like concurrency, suspense, and hydration, improving the development experience and providing more control over component rendering.

      The latest update in React, version 18, brings significant changes that developers need to understand to effectively use the framework. These changes include concepts like concurrency, suspense, hydration, and more. While these terms might seem confusing at first, resources like React's thread on GitHub offer clear explanations and diagrams to help developers grasp these concepts. The Next.js team is also working on integrating these features into their framework, making it essential for developers using Next.js to stay informed. Overall, these updates aim to improve the development experience and provide more control over how components are rendered, whether on the server or client-side. Developers who take the time to learn these new features will be better equipped to create efficient and effective React applications.

    • Deno's Creator on TypeScript and Sound Source's FunctionalityRyan Dahl regrets including TypeScript by default in Deno, while Sound Source by Rogue Amoeba offers a solution for managing audio inputs and effects.

      The creator of Node.js and Deno, Ryan Dahl, shared insights about the philosophy behind Deno and his regrets about including TypeScript by default. He expressed that it might not have been the best decision and that TypeScript is where JavaScript is heading. In a different discussion, a podcast listener recommended the app Sound Source by Rogue Amoeba. This app allows for fast device switching and keyboard control, remembering audio input preferences, and even controlling sound effects. The listener, who frequently uses other apps from Rogue Amoeba, found it particularly useful for managing audio inputs on a Mac and adjusting sound effects to avoid annoying loud sounds. Deno's creator's perspective on TypeScript and Sound Source's functionality to manage audio inputs and effects offer valuable insights for developers and users alike.

    • Exploring Sound Effects in Software DevelopmentCustomize sound effects in software development, learn Svelte components creation with dynamic sound effects at Sickpix course, and enjoy a beginner-friendly JavaScript learning journey at BeginnerJavaScript.com

      The use of sound effects in software development, while often coming from different sources than the audio output, can be customized to be the output itself. The speaker expressed his experience with adjusting sound effects and encouraged listeners to check out the Sickpix course on Svelte components at LevelUpTutorials.com, where they can learn to create dynamic components and understand the ins and outs of Svelte. The speaker also mentioned his beginner JavaScript course at BeginnerJavaScript.com, which offers a fun and exercise-heavy approach to learning modern JavaScript from scratch. The conversation touched on the advancements in web development over the past decade and the speakers' appreciation for the open-source community and the abundance of resources available. The speakers also thanked their sponsors, Wes Bos and LevelUp, and expressed gratitude towards the creators of libraries and the Internet for making these resources accessible.

    Recent Episodes from Syntax - Tasty Web Development Treats

    792: Perfect Sitemaps for SEO

    792: Perfect Sitemaps for SEO

    Scott and Wes break down the importance of sitemaps for SEO. They dive into the different file formats, essential fields, and common pitfalls to avoid when creating and submitting your sitemap to search engines.

    Show Notes

    Hit us up on Socials!

    Syntax: X Instagram Tiktok LinkedIn Threads

    Wes: X Instagram Tiktok LinkedIn Threads

    Scott: X Instagram Tiktok LinkedIn Threads

    Randy: X Instagram YouTube Threads

    791: LLRT The Serverless Runtime w/ Richard Davison

    791: LLRT The Serverless Runtime w/ Richard Davison

    Scott and Wes chat with Richard Davison from AWS about LLRT, a new runtime tailored specifically for Lambda. They dive into the benefits of using LLRT, challenges with JavaScript in serverless, and why Rust was chosen for its development.

    Show Notes

    Sick Picks

    Shameless Plugs

    • Richard: Javascript

    Hit us up on Socials!

    Syntax: X Instagram Tiktok LinkedIn Threads

    Wes: X Instagram Tiktok LinkedIn Threads

    Scott: X Instagram Tiktok LinkedIn Threads

    Randy: X Instagram YouTube Threads

    790: State of JS 2023 Reactions

    790: State of JS 2023 Reactions

    Scott and Wes dive into the 2023 State of JavaScript survey, breaking down the latest trends and pain points in front-end frameworks, build tools, and JavaScript runtimes. Tune in for their hot takes and insights on what’s shaping the JavaScript landscape this year!

    Show Notes

    Sick Picks

    Shameless Plugs

    Hit us up on Socials!

    Syntax: X Instagram Tiktok LinkedIn Threads

    Wes: X Instagram Tiktok LinkedIn Threads

    Scott: X Instagram Tiktok LinkedIn Threads

    Randy: X Instagram YouTube Threads

    789: Do More With AI - LLMs With Big Token Counts

    789: Do More With AI - LLMs With Big Token Counts

    Join Scott and CJ as they dive into the fascinating world of AI, exploring topics from LLM token sizes and context windows to understanding input length. They discuss practical use cases and share insights on how web developers can leverage larger token counts to maximize the potential of AI and LLMs.

    Show Notes

    Hit us up on Socials!

    Syntax: X Instagram Tiktok LinkedIn Threads

    Wes: X Instagram Tiktok LinkedIn Threads

    Scott: X Instagram Tiktok LinkedIn Threads

    CJ: X Instagram YouTube TwitchTV

    Randy: X Instagram YouTube Threads

    788: Supabase: Open Source Firebase for Fullstack JS Apps

    788: Supabase: Open Source Firebase for Fullstack JS Apps

    Scott and CJ chat with Paul Copplestone, CEO and co-founder of Supabase, about the journey of building an open source alternative to Firebase. Learn about the tech stack, the story behind their excellent documentation, and how Supabase balances business goals with open-source values.

    Show Notes

    • 00:00 Welcome to Syntax!
    • 00:30 Who is Paul Copplestone?
    • 01:17 Why ‘Supa’ and not ‘Super’?
    • 02:26 How did Supabase start?
    • 08:42 Simplicity in design.
    • 10:32 How do you take Supabase one step beyond the competition?
    • 12:35 How do you decide which libraries are officially supported vs community maintained?
      • 15:17 You don’t need a client library!
    • 16:48 Edge functions for server-side functionality.
    • 18:51 The genesis of pgvector.
    • 20:59 The product strategy.
    • 22:25 What’s the story behind Supabase’s awesome docs?
    • 25:26 The tech behind Supabase.
    • 35:46 How do you balance business goals with open source?
    • 42:01 What’s next for Supabase?
    • 44:15 Supabase’s GA + new features.
    • 48:24 Who runs the X account?
    • 50:39 Sick Picks + Shameless Plugs.

    Sick Picks

    Shameless Plugs

    Hit us up on Socials!

    Syntax: X Instagram Tiktok LinkedIn Threads

    Wes: X Instagram Tiktok LinkedIn Threads

    Scott: X Instagram Tiktok LinkedIn Threads

    CJ: X Instagram YouTube TwitchTV

    Randy: X Instagram YouTube Threads

    787: You Should Try Vue.js

    787: You Should Try Vue.js

    Scott and CJ dive deep into the world of Vue.js, exploring what makes this frontend framework unique and why it stands out from React and Svelte. CJ gives a comprehensive tour, covering everything from getting started to advanced features like state management and Vue’s built-in styles.

    Show Notes

    Vue.js: The Documentary.

    Sick Picks

    Shameless Plugs

    Hit us up on Socials!

    Syntax: X Instagram Tiktok LinkedIn Threads

    Wes: X Instagram Tiktok LinkedIn Threads

    Scott: X Instagram Tiktok LinkedIn Threads

    Randy: X Instagram YouTube Threads

    786: What Open Source license should you use?

    786: What Open Source license should you use?

    Scott and CJ dive into the world of open source, breaking down its meaning, benefits, and the various types of licenses you’ll encounter. From permissive licenses like MIT and Apache 2.0 to copy-left licenses such as GNU GPLv3, they’ll help you choose and apply the right license for your project.

    Show Notes

    Hit us up on Socials!

    Syntax: X Instagram Tiktok LinkedIn Threads

    Wes: X Instagram Tiktok LinkedIn Threads

    Scott: X Instagram Tiktok LinkedIn Threads

    Randy: X Instagram YouTube Threads

    785: What’s Next for NextJS with Tim Neutkens

    785: What’s Next for NextJS with Tim Neutkens

    Scott and Wes dive into the world of Next.js with special guest Tim Neutkens from Vercel. They explore the latest updates, including the React Compiler and React Server Components, discussing their impact on developer workflows and the future of Next.js development.

    Show Notes

    • 00:00 Welcome to Syntax!
    • 00:30 What does the React Compiler do?
    • 05:04 Will React Compiler help with managing Context?
    • 06:39 What happens if you’re not using a React Compiler?
    • 09:30 Will this work on any NextJS version?
    • 12:18 What are React Server Components?
    • 16:28 Shipping all the data inside an encapsulated component.
    • 20:17 Clearing up the frustrations around retrofitting server components.
    • 23:13 Handing migration.
    • 28:30 Is this just a fetch request with props?
    • 36:41 How closely are the NextJS and React teams working?
    • 41:53 Will we ever get Async Client Components?
    • 43:52 Async Local Storage API.
    • 45:31 Turbopack.
    • 57:51 Sick Picks & Shameless Plugs.

    Sick Picks

    Shameless Plugs

    Hit us up on Socials!

    Syntax: X Instagram Tiktok LinkedIn Threads

    Wes: X Instagram Tiktok LinkedIn Threads

    Scott: X Instagram Tiktok LinkedIn Threads

    Randy: X Instagram YouTube Threads

    784: Logging × Blogging × Testing × Freelancing

    784: Logging × Blogging × Testing × Freelancing

    In this Potluck episode, Scott and Wes tackle listener questions on modern blogging, website environmental impact, and using LangChain with LLMs. They also cover CSS hyphens, unit vs. integration testing, and balancing web development with new parenthood.

    Show Notes

    Sick Picks

    Shameless Plugs

    Hit us up on Socials!

    Syntax: X Instagram Tiktok LinkedIn Threads

    Wes: X Instagram Tiktok LinkedIn Threads

    Scott: X Instagram Tiktok LinkedIn Threads

    Randy: X Instagram YouTube Threads

    783: How We Built a Netflix Style “Save for Offline” Feature Into Syntax

    783: How We Built a Netflix Style “Save for Offline” Feature Into Syntax

    Scott and Wes dive into the world of browser caching for audio files, exploring the File System API and the Cache API. They discuss size restrictions across different browsers, how tools like Riverside.fm leverage IndexedDB, and walk through code examples for creating, retrieving, and managing cached audio data.

    Show Notes

    Hit us up on Socials!

    Syntax: X Instagram Tiktok LinkedIn Threads

    Wes: X Instagram Tiktok LinkedIn Threads

    Scott:X Instagram Tiktok LinkedIn Threads

    Randy: X Instagram YouTube Threads

    Related Episodes

    CBS Radio Mystery Theater - The Island On Silvertree Lake (10-19-77)

    CBS Radio Mystery Theater - The Island On Silvertree Lake (10-19-77)
    The CBS Radio Mystery Theater (or CBSRMT) was an ambitious and sustained attempt to revive the great drama of old-time radio in the 1970s. Created by Himan Brown (who had by then become a radio legend due to his work on Inner Sanctum Mysteries and other shows dating back to the 1930s), and aired on affiliate stations across the CBS Radio network, the series began its long run on January 6, 1974. The final episode ran on December 31, 1982. The show was broadcast nightly and ran for one hour, including commercials. Typically, a week consisted of three to four new episodes, with the remainder of the week filled out with reruns. There were a total of 1399 original episodes broadcast. The total number of broadcasts, including reruns, was 2969. The late E.G. Marshall hosted the program every year but the final one, when actress Tammy Grimes took over. Each episode began with the ominous sound of a creaking door, slowly opening to invite listeners in for the evening's adventure. At the end of each show, the door would swing shut, with Marshall signing off, "Until next time, pleasant...dreams?"

    THIS EPISODE:

    October 19, 1977. Program #725. CBS network. "The Island On Silver Tree Lake". Commercials deleted. E. G. Marshall (host), Victoria Dann (writer), Patricia Elliot, Lloyd Batista, Teri Keane, Earl Hammond. 46 minutes.

    Tell a Friend

    Bookshop Interview with Author Shirley Reva Vernick, Episode #141

    Bookshop Interview with Author Shirley Reva Vernick, Episode #141

    Author Shirley Reva Vernick discusses her latest novel, Ripped Away. It is a YA mystery featuring a teen boy named Abe, his crush Mitzy, a fortune teller’s prophecy, time travel, the slums of Victorian London and Jack the Ripper. The novel is based on real historic events, including the Ripper crimes and inquests, as well as the accusations made against Jewish immigrants at that time. Shirley hopes her books inspire teens to consider their own responses to intolerance and learn the importance of helping others.