Logo
    Search

    Podcast Summary

    • JavaScript Tooling and PodcastingLearn about JavaScript tooling updates, merging sites, moving from Apex to www domains, and the benefits of podcasting with Wes Bos and Scott Tolinski.

      JavaScript tooling is constantly evolving, and it's essential for web developers to stay updated on the latest tools and their uses. In this episode of Syntax, Wes Bos and Scott Tolinski discussed various JavaScript tooling and sponsored by Delicious Brains' WP Migrate DB Pro plugin. They also shared their excitement about the successful launch of their podcast and expressed gratitude to their audience for the positive response. Scott shared his recent project of merging two sites, Level Up Store and Level Up Site, which involved migrating React components and back-end methods. He also mentioned the benefits of moving from an Apex domain to www, such as improved cookie handling and sharing. Wes expressed his enthusiasm for the podcast, which has received a positive response from the audience. They discussed the importance of recording in a single take and the benefits of having a sponsor like Delicious Brains. Overall, the episode provided valuable insights into JavaScript tooling and the experiences of two successful web developers.

    • Using a subdomain for integrating services vs. an Apex domainUsing a subdomain for integrating various services and hosting platforms is generally easier than using an Apex domain due to service configurations, but it may involve complex processes like rewriting NGINX configs and handling SSL issues.

      Using a subdomain for integrating various services and hosting platforms is generally easier than using an Apex domain. This is because many services, like Heroku, recommend against using Apex Domains due to their system configurations. While this may not be a significant issue for some, it can make the process of moving to a www domain and handling redirects more complicated. The speaker shared his experience of going through this process, which involved rewriting NGINX configs and dealing with SSL issues. In the end, he concluded that it was the right decision, but it was a complex process. When it comes to JavaScript tooling, the speaker plans to discuss module bundlers and related tools like Webpack, Babel, Linting, and Prettier. Webpack is the most popular module bundler currently, as it compiles JavaScript modules into one or multiple JavaScript files and offers features like a dev server and loaders. Loaders enable JavaScript modules to import any file type, and Webpack instructs the loader on how to handle that file. For instance, if it's CSS, the loader will convert it into inline code or a separate CSS file. Other module bundlers, like Browserify and Rollup, have their strengths, but Webpack's popularity and comprehensive features make it a top choice for many developers.

    • Understanding the differences between Webpack and task runnersWebpack is a more complex but powerful module bundler and first-class loader, while task runners like Gulp are simpler and good for transforming files.

      Webpack and task runners like Gulp or Grunt serve different purposes in web development. While task runners like Gulp are simple and good for transforming files, Webpack is a more complex but powerful tool that acts as a module bundler and first-class loader. This means Webpack can handle various types of files, including JavaScript modules and CSS, without requiring manual file placement. The confusion often arises due to Webpack's syntax and jargon, but with time and understanding, its benefits become apparent. As web applications grow larger and more complex, the importance of efficient module loading makes Webpack an essential tool for modern web development.

    • Focus on using opinionated tools like Next.js and Create React App for simpler projects, and learn Webpack and Babel for customization.Opinionated tools like Next.js and Create React App simplify setup and bundling, while Webpack and Babel offer customization options for more complex projects.

      Webpack is a powerful tool for building performant websites, but it may not be necessary for everyone to learn due to the availability of opinionated tools like Next.js and Create React App. These tools handle much of the configuration and bundling process, allowing developers to focus on writing code without worrying about the underlying setup. One such tool is Meteor's zero-configuration build system, which automatically adds and manages dependencies. The primary focus should be on using these tools and only delving into Webpack or other build systems when customization is required. Babel is another essential tool in the modern web development landscape. It transforms modern JavaScript code into a version that is compatible with most browsers, enabling developers to write future-proof code using features that may not be fully supported or even finalized. By using Babel, developers can write the code they want without worrying about browser compatibility issues.

    • Babel: More Than Just Compiling ES6 CodeBabel is a versatile JavaScript compiler that transforms JSX, supports non-JavaScript languages, and automatically determines required transforms based on target environment

      Babel is no longer just a tool for compiling ES6 code to ES5, but has evolved into a versatile JavaScript compiler that allows developers to choose specific transforms for their projects. The most common use case is for compiling JSX code used in React into valid JavaScript. Babel's plugin system also enables transforming non-JavaScript languages, such as PHP, into JavaScript through the use of presets and plugins. The latest trend is using preset env, which automatically determines what needs to be compiled based on the target environment, reducing configuration requirements. While there are various plugins for supporting new features like template tags and classes, the use of decorators is still a matter of personal preference. Overall, Babel's flexibility and ability to handle a wide range of transformations make it an essential tool for modern JavaScript development.

    • Enhance development experience with decorators, class properties, and ESLintDecorators simplify code with prop types, default props, and state. Class properties allow for state definition directly on a class. Linting with ESLint catches issues before runtime and enforces consistent formatting.

      Decorators and class properties, as well as linting with ESLint, are essential tools for enhancing the development experience in React. Decorators, such as transform-class-properties, simplify the declaration of prop types, default props, and state, making the code more pleasant to write. Class properties allow for state to be defined directly on a class, instead of using the constructor. Linting, specifically with ESLint, acts as a code checker, identifying potential bugs and errors based on configured rules. These warnings can be set to auto-fix, making the coding process more efficient. Linting catches issues before they reach the browser, preventing the frustration of encountering errors during runtime. ESLint also enforces formatting rules, ensuring consistent styling on a team. It's important to note that beginners may need to spend time configuring ESLint rules to fit their preferences. Overall, these tools contribute to a more streamlined and error-free React development process.

    • Improve coding experience with linting and data migration toolsLinting tools like Airbnb's ESLint and data migration tools like Migrate DB Pro can enhance productivity, reduce errors, and ensure consistent coding styles and data migration processes.

      Using a linting tool like Airbnb's ESLint config can significantly improve your coding experience by automatically enforcing consistent coding styles and catching common errors. The config includes rules for writing React and can be extended with additional custom rules. With features like auto-fixing and time-saving formatting, linting can help you write cleaner, more efficient code and reduce the amount of manual formatting and error-checking required. Additionally, tools like Migrate DB Pro can help streamline the process of moving WordPress data from one location to another by automating the find and replace process and handling the migration of all data, including users and passwords. This can save time and reduce the risk of errors during the migration process. Overall, incorporating linting and data migration tools into your development workflow can lead to increased productivity, fewer errors, and a more consistent coding experience.

    • Automating WordPress Media File Management and JavaScript Code FormattingWP Offload Media plugin streamlines WordPress media file management, while Prettier tool formats JavaScript code for consistency and readability, saving time and improving productivity.

      There are plugins and tools available that can help streamline and improve the coding experience, specifically for those working with WordPress and JavaScript. Firstly, Delicious Brains's WP Offload Media plugin was discussed. This plugin addresses the issue of managing media files in WordPress, ensuring that media files are synced between local and remote servers, and unnecessary files are removed. This can save time and prevent inconsistencies between servers. Next, Prettier was introduced as a tool that focuses on visual formatting of code. It automatically formats code according to specified rules, making the codebase consistent and easier to read. This can save time and reduce the need for manual formatting, especially for beginners or large teams. Both of these tools serve as time-savers and can help maintain a consistent codebase. Delicious Brains's WP Offload Media plugin is particularly useful for managing media files in WordPress, while Prettier focuses on visual formatting of JavaScript code. By automating these tasks, developers can focus on writing and improving their code, rather than dealing with tedious formatting and file management issues.

    • Improve code efficiency with Prettier, Babel, and PrepackUse Prettier for formatting, Babel for ESX minification, and Prepack for calculation optimization to enhance code performance and efficiency

      Using JavaScript tools like Prettier, Babel, and Prepack can significantly improve the efficiency and performance of your code. Prettier standardizes code formatting, making it easier for developers to read and understand. Babel, built on Babel, allows for the minification of ESX code, which is essential as more ESX code is being shipped to browsers. Prepack is another tool that optimizes JavaScript code by identifying and running calculations beforehand, making the code run faster. Closure Compiler, a related technology, also offers similar benefits, resulting in more efficient and smaller code. As performance and efficiency gains become increasingly valuable, tools like these will likely become more common in web development projects. Additionally, there are other tooling areas, such as image compression and dead code elimination, that can provide significant performance boosts for websites and web apps.

    • Figma: A Game-Changing Design Tool in the BrowserFigma is a versatile, browser-based design tool with advanced features like component-based design, shared components and styles, and built-in prototyping. It's replacing traditional design apps for many designers due to its convenience and functionality.

      Figma is a powerful and versatile design tool that is changing the game for web and UI designers. Unlike traditional design apps like Illustrator and Sketch, Figma is browser-based, making it cross-platform and accessible from any device. Its component-based design flow, similar to React components, allows for efficient design and modification. Figma also offers features like shared components and styles, and even has built-in prototyping capabilities. For the speaker, Figma has replaced Sketch as their go-to design tool due to its convenience and advanced features. The speaker is currently using Figma for a freelance project and is impressed by its functionality and ease of use. The browser-based aspect of Figma is inspiring, as it showcases the capabilities of the browser in design applications. For those with complex setups, like multiple monitors and external equipment, a docking station like the CalDigit TS 3i can be a game-changer, allowing for easy connection and organization of devices.

    • New CalDigit dock simplifies work setup with one cableThe CalDigit dock, with a USB-C port and Thunderbolt 3, allows users to connect multiple USB devices and monitors with just one cable, making their work setup more convenient and clutter-free. It also includes ESATA ports for external hard drives or an external GPU, and can charge devices while providing faster video editing capabilities.

      The speaker was thrilled about his new CalDigit dock, which allows him to connect all his USB devices and monitors with just one cable, making his work setup more convenient and clutter-free. The dock, which costs around $400 Canadian, has a USB-C port and Thunderbolt 3, and also includes ESATA ports for connecting external hard drives or an external GPU. The speaker was particularly excited about the potential of using an external GPU for faster video editing. He was amazed by the simplicity of the setup and the fact that all his devices started charging and working as soon as he plugged in the dock. Despite the high price, he expressed his satisfaction with the product and recommended it to those who have the budget and need a more efficient way to manage their multiple USB devices.

    Recent Episodes from Syntax - Tasty Web Development Treats

    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

    782: The Developer’s Guide To Fonts with Stephen Nixon

    782: The Developer’s Guide To Fonts with Stephen Nixon

    Scott and CJ are joined by Stephen Nixon of ArrowType to delve into the world of fonts and type for developers. They explore the intricacies of font creation, the utility of variable fonts, and offer tips for making visually appealing typography on the web.

    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

    781: Potluck - The Value of TypeScript × Vue vs Svelte × Leetcode

    781: Potluck - The Value of TypeScript × Vue vs Svelte × Leetcode

    In this potluck episode of Syntax, Scott and CJ serve up a variety of community questions, from the nuances of beginner vs. advanced TypeScript to the pros and cons of SvelteKit. They also discuss falling out of love with React, shipping private packages via NPM, and the eternal struggle of always starting but never finishing projects.

    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

    Related Episodes

    172: Behind the scenes of Babel 7

    172: Behind the scenes of Babel 7

    Babel, a build tool that has enabled web developers to build tomorrows JavaScript today, has finally hit it’s version 7 release. It’s been a long 3 years and Henry Zhu (@left_pad) along with the Babel core team have a lot to share with us. In this episode, Henry discusses the process of building Babel 7 as well as the new features we have long awaited from TypeScript integration to Macros and much more.

    Visit the website for This Week in Web, resources & more: https://thewebplatformpodcast.com/172-behind-the-scenes-of-babel-7

    Follow The Web Platform podcast on Twitter for regular updates @TheWebPlatform.

    63: TypeScript & ES6 in Angular Applications

    63: TypeScript & ES6 in Angular Applications

    Summary

    Dan Wahlin (@DanWahlin) , Angular JS GDE & Software Engineer, chats on TypeScript & ES6 in Angular applications. He tells us about how he leverages the power of these tools to improve his applications. He goes into a few of his debugging stories and even about how he uses docker to quickly deploy these applications.

     

    Resources

     

    Panelists

    Hasty Treat - Web Dev Resource Sick Picks

    Hasty Treat - Web Dev Resource Sick Picks

    In this Hasty Treat, Scott and Wes talk about all of their favorite web dev resources — a full episode of sick picks!

    LogRocket - Sponsor

    LogRocket lets you replay what users do on your site, helping you reproduce bugs and fix issues faster. It’s an exception tracker, a session re-player and a performance monitor. Get 14 days free at LogRocket.

    Show Notes

    2:03 - Twitter Accounts

    5:00 - Web Dev Resources

    7:37 - Design Resources

    11:36 - Desktop Tools

    14:59 - YouTube

    Links

    Tweet us your tasty treats!

    70: Web Components at Microsoft

    70: Web Components at Microsoft

    Summary

    Daniel Buchner (@csuwildcat), former Mozillian & Program Manager at Microsoft takes us through the plans for Web Components at Microsoft. Daniel is the creator of the Web Components free open source library, X-Tag which Microsoft is now officially supporting and using as of release 1.5. How are the teams at Microsoft using Web Components now and what is the plan for the future?

    O’Reilly Media Partner Discounts

    The Web Platform Podcast is a proud O’Reilly Media Partner. As such, one of the benefits we provide our listeners are special  discounts such as 50% off ebooks and 40% in printed material. This includes but is not limited to books on the web technologies. Your discount code is PCBW so head over to http://www.oreilly.com/ right now to get all your favorite tech books at much lower prices.

    Your Latest O’Reilly Discounts

    20% Discount to FluentConf

    http://conferences.oreilly.com/fluent-javascript-html-ca/

     

    Call for proposals is done, registration is open, and O’Reilly Fluent Conf is back in just a few months. Fluent, The Web Platform conference will be held in San Francisco, CA on March 7-10 2016. Get practical Training in JavaScript, HTML5, CSS and the latest web development technologies and frameworks. The Web Platform Podcast listeners receive a 20% discount when registering for the conference. Make sure you use the promotional code PCWPP20 to receive your discount.

    Free eBook: Data-Informed Product Design

    http://www.oreilly.com/pub/cpc/1220

    Fluent Conf Discount Ad

    Designers must understand user needs to create any product. But what type of data should you look at? In her new book, Data-Informed Product Design, Pamela Pavliscak outlines a way to use data of all kinds to understand the relationship between people and technology. Generally speaking, big data is quantitative; it gives you the what, where, and when, while “thick data” provides the qualitative perspective—the how and the why.

     

    Up until now, there hasn't been much information on how to combine quantitative big data with qualitative thick data. That's where this report can help. If you're involved in any aspect of product design, this is indispensable reading. It's useful, and we're pleased to offer it to you, for free! Get the free ebook now.

     

    Resources

    Panelists