Logo
    Search

    Podcast Summary

    • Discussing Web Technologies for Desktop Applications: Electron vs ToriChoose the right technology based on specific use cases, as both Electron and Tori have their unique strengths and weaknesses. Effective error handling is crucial in applications, consider using Sentry for error tracking.

      Wes and Scott discussed their experiences building desktop applications using Web Technologies, specifically Tori and Electron. Wes shared his experience creating a menu bar application called "Check My Hair" using both Electron and Tori, and the debate over which technology to use. Scott is currently working on a personal project using Tori for video needs, specifically ensuring proper framing for multiple cameras. The discussion highlighted the importance of choosing the right technology for specific use cases, as both Electron and Tori have their unique strengths and weaknesses. Additionally, they touched upon the importance of error handling in applications and encouraged listeners to check out Sentry for effective error tracking.

    • Tauri vs Electron: Comparing Desktop Application Development PlatformsTauri and Electron offer different approaches to desktop app development, with Tauri utilizing native web views for faster, smaller apps and Electron using bundled Chromium for more flexibility but larger size.

      Tauri and Electron are two different desktop application development platforms, with Tauri utilizing web views from the operating system itself, resulting in faster and smaller apps compared to Electron's bundled Chromium release. While Tauri offers advantages such as improved performance and smaller app size, it also comes with its own challenges, such as the need to adapt to various web views across different operating systems. Overall, the choice between Tauri and Electron depends on the specific requirements and constraints of your project.

    • Impact of web view libraries on desktop app development with Electron and TauriElectron's larger app size and memory usage from integrated browser and Node.js instance contrasts Tauri's smaller, platform-specific web views, requiring developers to adapt to varying capabilities.

      When developing desktop applications using different frameworks like Electron and Tauri, the choice of web view library significantly impacts the development experience and the resulting app size and performance. Electron, for instance, comes with its own Chromium browser, making it a more comprehensive solution, but it's larger in size and memory usage due to the integrated browser and Node.js instance. On the other hand, Tauri uses the built-in web view of the target platform, making the apps smaller and easier to distribute. However, this approach comes with the challenge of dealing with varying web view capabilities across different platforms. Additionally, Tauri's support for mobile platforms, where it uses Chromium for Android and WebKit for iOS, adds another layer of complexity in managing different web views. Furthermore, Tauri offers a more streamlined development experience, as you don't need to set up a separate web view or browser for your application. In summary, the decision between Electron and Tauri depends on the specific requirements of your project, such as the target platforms, desired features, and development preferences. Electron offers a more comprehensive solution with better feature support but comes with larger app sizes and memory usage. Tauri, on the other hand, offers a more lightweight solution with easier distribution and smaller app sizes, but it requires developers to adapt to varying web view capabilities.

    • Working with browser APIs in webview applicationsBrowser APIs in webview apps have limitations and challenges, such as missing interface for permissions or selecting screen for recording, which can be bypassed using custom OS-level handlers or switching to a Rust library. Unexpected failures, like get user media for webcams, may also occur and require investigation.

      Working with browser APIs like Git display media in webview applications, such as WKWebView, can come with limitations and challenges. In this case, the issue was that the interface for accepting permissions or selecting a screen to record was not available within the webview, resulting in permission denied errors. The proposed solution was to write custom OS-level handlers or switch to a Rust library for screen recording to bypass these limitations. However, it's important to note that using browser APIs may not always be the best choice for desktop applications, as they can impose limitations that don't apply to native applications. Another challenge encountered was a sudden failure of get user media for webcams, which required digging into the issue to find the root cause. Overall, working with browser APIs in webview applications can be complex and may require additional effort to overcome limitations and challenges.

    • Tori vs Electron: Choosing the Right Framework for Your ProjectTori offers a faster and more streamlined developer experience, while Electron boasts a larger ecosystem and extensive documentation. Electron Forge simplifies Electron's development process with new features like application packaging and automated publishing flows.

      While Tori offers a faster and more streamlined developer experience with its intuitive wizard and smaller size, Electron, despite being slower and chunkier, makes up for it with a more mature ecosystem and extensive documentation. Electron Forge, Electron's new tool for packaging and distributing applications, aims to simplify the process of getting started with Electron by unifying its build tooling and offering features like application packaging, code signing, and automated publishing flows. For novice developers, Tori's easier setup and development experience might be more appealing. However, Electron's larger user base and mature ecosystem offer more resources and solutions for complex projects. Electron Forge's new features could potentially make the Electron development process more accessible and streamlined. Ultimately, the choice between Tori and Electron depends on the specific needs and priorities of the project.

    • Comparing Electron and Tori: Which is Better?Both Electron and Tori have their strengths, but Electron's ease of use and compatibility make it a popular choice for developers, while Tori's learning curve and Rust complexity can be a turnoff. The choice ultimately depends on individual needs and preferences.

      While Electron and Tori both have their strengths, the ease of use and compatibility with existing Node.js packages make Electron a popular choice for developers. However, the learning curve and additional complexity of working with Rust in Tori can be a turnoff for some. The speaker shared their personal experience of implementing the same app in both platforms and found the Tori version to be a nicer platform to work in once they got past the initial learning curve of Rust. However, Electron's popularity and ease of use make it a formidable competitor that is not going anywhere. Despite this, the speaker emphasized that both platforms have their merits and the choice ultimately depends on the specific needs and preferences of the developer.

    • Streamlined development with Svelte and Rust using TorreyTorrey enables seamless communication between Svelte frontends and Rust backends via invoke functions, offering a comfortable and efficient development experience with Rust's strong typing and easy-syntax.

      Using the Torrey project for developing applications with a combination of Svelte for the front end and Rust for the back end offers a streamlined development experience. By utilizing an invoke function, data can be easily passed between the UI and the back end, making it feel like calling functions on the front end rather than dealing with complex RPC communication. Additionally, Rust's strong typing and easy-to-understand syntax contribute to a comfortable and efficient development process. Furthermore, the Torrey project simplifies common tasks, such as writing files or replacing app icons, with easily accessible tools. While the speaker did not have the opportunity to explore Electron Forge in this project, it is worth noting that it could potentially offer additional benefits for those specifically interested in Electron development. Overall, the combination of Svelte and Rust through the Torrey project provides a powerful and straightforward approach to building applications.

    • Comparing Tori and Electron for Desktop App DevelopmentTori and Electron offer distinct advantages for desktop app development. Tori is beginner-friendly for Svelte apps and webcams, while Electron ensures compatibility and access to Chrome APIs. However, Tori's web view versions may be inconsistent, and some projects have transitioned from Electron to native apps for improved functionality.

      Both Tori and Electron provide effective solutions for building desktop applications, each with its unique advantages. The speaker found Tori to be a more beginner-friendly option for creating a Svelte app and displaying webcams, while Electron offers the ability to use specific Chrome APIs and ensure compatibility for all users. However, the speaker expressed some concerns about the potential inconsistency of web view versions in Tori. Another project, 2fHEY, was mentioned as having transitioned from Electron to a native Xcode app, offering improved autofill functionality for 2-factor authentication codes across multiple browsers. Ultimately, the choice between these frameworks depends on the specific requirements of the project and the developer's preferences. The speaker is considering installing 2fHEY but expresses some uneasiness about its access to local messages.

    • Exploring potential solutions with curiosity and confidenceCuriosity and a DIY mindset can lead to innovative discoveries. Confidently tackle problems and collaborate with others to ensure effective solutions.

      Curiosity and a DIY mindset can lead to potential discoveries and innovations. In the conversation, a person expressed concerns about the security of a database location on a Mac, leading them to consider creating their own solution. They were confident in their ability to solve the problem quickly and were determined to create a video app as a potential solution. The Apple event was ongoing, and they planned to test their app once the full OS version was released. They also suggested involving others to ensure it wasn't a unique issue to their machine. The conversation ended with plans to discuss lessons learned after testing the app. Overall, the conversation highlights the value of being curious, confident, and persistent in problem-solving. It also touches on the importance of collaboration and testing to ensure the effectiveness of a solution.

    Recent Episodes from Syntax - Tasty Web Development Treats

    794: Prettier JavaScript with Vjeux

    794: Prettier JavaScript with Vjeux

    Scott and Wes sit down with Vjeux from Meta to dive deep into the origins and evolution of Prettier, the widely-used code formatter. They discuss the challenges faced, the decision-making process behind its features, and what the future holds for this indispensable tool in the developer’s toolkit.

    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

    793: The Local First Landscape

    793: The Local First Landscape

    Scott and Wes dive into the local first landscape, exploring the benefits and possibilities of local first apps. They highlight some of their favorite tools and discuss why local first is gaining traction among developers.

    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

    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

    Related Episodes

    Snack Pack — CSS Frameworks, React HOC, Render Props, Coding Designers, Early Career Advice and a sound board!

    Snack Pack — CSS Frameworks, React HOC, Render Props, Coding Designers, Early Career Advice and a sound board!

    Dev Lifts - Sponsor

    Dev Lifts - Thad and JC are on a mission to make web developers healthy. Get a Personal Training and Nutrition Plan — use the code SYNTAX for $75 off. They have also just announced their slack-only memberships for $5/month

    Freshbooks - Sponsor

    If you are a small business or freelancer check out Freshbooks.com Cloud Accountingand get 30 days free. Make sure to enter SYNTAX into the "How did you hear about us" section.

    Show Notes

    01:10

    03:00

    • Skateboarding on a TRAMPOLINE?!

    04:30

    • Q: What are your favourite features coming to HTML 5.2
    • Dialog Box
    • Multiple Main Tags
    • Thanks Jordan!

    10:00

    • Q: How do you retain all the info you learn like a sponge?
    • Thanks Ozan

    13:30

    • What are your favourite CSS Libraries / Frameworks?
    • Thanks Blake!

    21:00

    • What were some of the struggles you had early on in your career? How did you overcome them?
    • Learning how to read error logs and messages
    • Dealing with Impatience
    • Coding is very frustrating

    26:50

    34:45

    • Q: When should you just drop the towel on code?
    • When should you throw in the towel on code?
    • Scrapping a codebase and moving from PHP to JS
    • Let's talk about if it's worth it

    41:00

    • Q: What is the best way for a JS beginner to get their hands dirty?
    • Don't work on apps, work on pieces!

    47:50

    • How do you recommend a designer falling in love with frontend dev sharpen their skills while being (happily) committed to a full time design position?
    • Should designers code?

    SIIIIIIICK PICKS

    Shameless Plugs

    Tweet us your tasty treats!

    723: Svelte 5: Speed Simplicity Size

    723: Svelte 5: Speed Simplicity Size

    Unveiling Svelte 5! delving into its latest features. From the impressive speed and simplicity to its compact size, discover what makes this new release so exciting.

    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

    683: Spooky Coding Horror Stories 2023 - Part 1

    683: Spooky Coding Horror Stories 2023 - Part 1

    In this Hasty Treat, Scott and Wes relate some spooky listener submitted coding horrors including updates for a large furniture retailer, pull request oversights, disallowing everything in a robots.txt, massive email fail, and more.

    Show Notes

    • 00:21 Welcome
    • 01:22 Whetting your whistle
    • 01:52 Syntax Brought to you by Sentry
    • 02:13 Site updates for one of the largest furniture retailers in my country
    • 04:18 The Embarrassing Test Page Incident
    • 05:54 The Pull Request Oversight
    • 08:02 Making changes to a JSON file
    • 13:11 Deploying a “disallow everything” robots.txt
    • 14:45 GDPR Deletion
    • 16:11 Dropping the backing disk for the production postgres
    • 17:05 Accidentally pushing staging code as an update
    • 18:34 Email fail
    • 19:25 Hot mobile app prayers
    • 22:28 Bogus ACH info
    • 23:51 Wiring money error
    • 26:44 Payment gateway test not production

    Tweet us your tasty treats

    Hasty Treat - How We Launch Courses

    Hasty Treat - How We Launch Courses

    In this Hasty Treat, Scott and Wes talk about launching courses — a behind-the-scenes look at their platforms, processes, best practices, and what it takes to get a course published.

    Sentry - Sponsor

    If you want to know what’s happening with your errors, track them with Sentry. Sentry is open-source error tracking that helps developers monitor and fix crashes in real time. Cut your time on error resolution from five hours to five minutes. It works with any language and integrates with dozens of other services. Syntax listeners can get two months for free by visiting Sentry.io and using the coupon code “tastytreat”.

    Show Notes

    2:13 - Scott’s process

    8:48 - Wes’ process

    20:57 - Additional tips

    Links

    Tweet us your tasty treats!

    Potluck × Meeting IRL × SSG vs SSR × Domain Privacy

    Potluck × Meeting IRL × SSG vs SSR × Domain Privacy

    In this Potluck episode of Syntax, Wes and Scott answer your questions about meeting IRL, bookmarks, SSG vs SSR, domain privacy, deploying monorepos, and more.

    Sentry - Sponsor

    If you want to know what’s happening with your code, track errors and monitor performance with Sentry. Sentry’s Application Monitoring platform helps developers see performance issues, fix errors faster, and optimize their code health. Cut your time on error resolution from hours to minutes. It works with any language and integrates with dozens of other services. Syntax listeners new to Sentry can get two months for free by visiting Sentry.io and using the coupon code TASTYTREAT during sign up.

    Sanity - Sponsor

    Sanity.io is a real-time headless CMS with a fully customizable Content Studio built in React. Get a Sanity powered site up and running in minutes at sanity.io/create. Get an awesome supercharged free developer plan on sanity.io/syntax.

    Freshbooks - Sponsor

    Get a 30 day free trial of Freshbooks at freshbooks.com/syntax

    Show Notes

    • 00:08 Welcome
    • 01:20 Weather updates
    • 02:21 How often have you gotten together in real life?
    • Jamstack Conf
    • Reactathon
    • 05:33 What are people using to bookmark sites?
    • Arc Browser
    • 09:03 When not to use Static Site Generation (SSG), and when to use Server-side Rendering (SSR)?
    • Svelte Kit
    • 13:53 How do you do correct error handling to catch everything?
    • Sentry.io
    • 21:13 Sponsor: Sentry
    • 22:50 Is there any benefit to using getters and setters in classes set them over plain methods?
    • 27:47 Will there ever be a js framework that can SSR on a non-JS backend?
    • Render
    • pnpm
    • 32:40 Have either of you thought about learning and teaching Python or Django?
    • 34:56 What is your opinion on purchasing “Domain Privacy” with each domain?
    • 37:49 Sponsor: Sanity
    • 38:44 Domain privacy continued
    • 39:22 How you deploy monorepo packages?
    • Tanstack
    • Vite
    • 43:48 As a member of a non margin group should I avoid applying for jobs when they say they welcome applicants who are of a marginalized group to support diversity?
    • 46:12 When would you, if ever, choose good-old React over something like Next JS?
    • 53:24 Sponsor: Freshbooks
    • 54:16 Is it preferred to import via absolute reference or relative reference?
    • 00:23 SIIIIICK ××× PIIIICKS ×××

    ××× SIIIIICK ××× PIIIICKS ×××

    Shameless Plugs

    Tweet us your tasty treats