エピソード

  • Error Handling in Vue
    2024/11/25

    All of you have seen users do weird things with your application and running into strange scenarios - who can't relate to this?
    For this and many other reasons, the right way of error handling is important in you application. Join Michael and Alex on a discussion of the different ways one can handle errors in their application.
    That includes not always showing an error page, but also handling errors request-based or component-based!

    On that note, error messages and how to write decent ones that are helpful for the users are discussed, as well as how components like NuxtErrorBoundary work under the hood

    Enjoy the episode!

    Chapters

    • (00:00) - Welcome to DejaVue
    • (01:22) - The good old error page
    • (01:58) - Write good error messages!
    • (03:11) - The Vue global error handler
    • (05:07) - Server vs. Client Errors in Nuxt.js
    • (08:34) - The vue:error hook
    • (09:05) - Global error handling for $fetch and interceptors
    • (11:10) - Throw unhandled errors in Prod with Vue 3.5?
    • (13:07) - Component-level error handling
    • (16:33) - NuxtErrorBoundary
    • (18:01) - defineAsyncComponent
    • (18:53) - Request-based error handling
    • (21:45) - New default values in Nuxt 4
    • (23:30) - Error Tracking
    • (26:33) - Actually handling the errors
    • (28:54) - Wrapping up


    Links and Resources


    • State of JS Survey
    • Sentry
    • Bugsnag
    • Rollbar
    • Michael's talk on error handling in Nuxt
    • Michael's article on error handling in Nuxt*
    • And another deep dive into Nuxt 3 error handling*
    • DejaVue #E034 - Data Fetching in Vue and Nuxt
    • Vue Issue regarding throwing errors in production (low level)
    • Vike
    • NuxtErrorBoundary component Source Code
    • ofetch
    • Zod
    • Valibot
    • Nuxt 4 error and data will be undefined by default
    • Create abstractions for your headings and buttons


    Your Hosts

    Alexander Lichter

    • BlueSky
    • Twitter
    • YouTube
    • Twitch
    • Website


    Michael Thiessen

    • Twitter
    • YouTube
    • Website


    Links marked with * are affiliate links. We get a small commission when you register for the service through our link. This helps us to keep the podcast running. We only include affiliate links for services mentioned in the episode or that we use ourselves.

    続きを読む 一部表示
    29 分
  • Data Fetching in Vue and Nuxt
    2024/11/15

    Data fetching is a crucial part of any web application. In this episode of DejaVue, we discuss the different ways to fetch data in Vue.js and Nuxt.js, and how to cache it.

    We also talk about the experimental Suspense feature in Vue.js and how it can be used to improve the user experience, as well as how to handle third-party scripts in your application.

    In addition, Nuxt's data fetching options are discussed, including the $fetch method, useFetch, useAsyncData and the useNuxtData composable. Finally, we cover server-side caching in Nuxt.js, including route rules, defineCachedEventHandler, and defineCachedFunction.

    Enjoy the episode!

    Chapters

    • (00:00) - Welcome to DejaVue
    • (00:50) - Which topics should be covered next?
    • (01:56) - This episodes topic - Data Fetching
    • (04:13) - Two ways of client-side caching
    • (06:17) - What is Data Fetching actually - and which library to use?
    • (08:19) - Suspense in Vue.js
    • (14:03) - Third Party Scripts
    • (17:38) - Data fetching basics in Nuxt.js
    • (20:28) - $fetch vs useFetch
    • (23:27) - $fetch request deduplication on the server
    • (24:43) - Caching in Nuxt.js
    • (28:18) - routeRules of server-side caching
    • (29:38) - defineCachedEventHandler / defineCachedFunction
    • (32:19) - Unstorage for storing the cached files
    • (35:41) - useNuxtData
    • (40:26) - Why does Nuxt offer more data fetching options?
    • (45:32) - Wrapping up


    Links and Resources

    • LAST CHANCE 15% discount for the VueConf Toronto* with code DEJAVUE


    • ofetch
    • ky
    • Suspense in Vue
    • Data Loaders
    • DejaVue #E030 - Pinia and Data Loaders (with Eduardo San Martin Morote)
    • nuxt-workers
    • Partytown
    • squoosh.app
    • DejaVue #E001 - The Need for SSR
    • You are using useFetch wrong
    • DejaVue #E003 - Nitro: The Next Generation Server Toolkit
    • Caching in Nitro
    • Client side caching with getCachedData
    • Composable Caching Utils issue
    • Route Rules in Nuxt
    • DejaVue #E002 - Building a Nuxt.js SaaS in less than a week (with Harlan Wilton)


    Your Hosts

    Alexander Lichter

    • BlueSky
    • Twitter
    • YouTube
    • Twitch
    • Website


    Michael Thiessen

    • Twitter
    • YouTube
    • Website


    Links marked with * are affiliate links. We get a small commission when you register for the service through our link. This helps us to keep the podcast running. We only include affiliate links for services mentioned in the episode or that we use ourselves.

    続きを読む 一部表示
    46 分
  • Vue or React? (with CJ from Syntax)
    2024/11/08
    Alex is accompanied by the wonderful CJ Reynolds in this episode of DejaVue. The Senior Creator at Syntax.fm brings not only Vue experience but also a history of Angular JS and React, as well as various other technologies.The two content creators talk about how CJ became a senior creator at the well-known Syntax.fm podcast and how it is different from Streaming on Twitch and his previous content creation processes. Further, CJ gives insights on how the Denver Vue meetup evolved (now the DenverScript meetup) and shares some hopes when it comes to the meetup scene.Alex and CJ then discuss more technical topics - for example why CJ never fully switched over to Vue but still writes it a lot. The discussion eventually goes into comparisons between Vue and React, highlighting what Vue does "better" than React and how the Vue ecosystem shapes the web development work.Enjoy the episode!Our GuestCJ ReynoldsOwn WebsiteSyntax WebsiteTwitchYouTube (Coding Carden)YouTube (Syntax.fm)BlueSkyTwitterChapters(00:00) - Welcome to DejaVue (00:47) - How CJ joined the podcast (01:38) - How did you become the Senior Creator at Syntax.fm do? (06:00) - Differences to previous gigs and streaming (12:17) - From starting with web development to Vue.js (15:54) - Running the Vue Denver meetup (19:25) - Is the meetup scene growing again? (21:13) - Why didn't you switch fully to React? (23:49) - What Vue does "better" than React (27:01) - Two-way data binding (31:35) - How opinionated is Vue (32:58) - Vue without a build step (35:01) - Does Vue "seem" too magical? (36:07) - "Needing" a meta framework? (38:50) - Nuxt and the UnJS packages (41:01) - Frameworks converging (41:55) - Vue did Signals "first" (42:58) - Is Vue bad at marketing? (44:40) - Vue Job market (45:40) - Vue and Innovation (46:59) - Vue being left out of the conversation (50:52) - What stops from switching to Vue? (53:52) - The change to Vue 3 and the Composition API (01:02:38) - VueUse as a good example (01:03:26) - Composition API without script setup (01:05:56) - Where people can follow CJ (01:06:34) - Wrapping upLinks and ResourcesGet 15% OFF for your Vue Toronto ticket with code DEJAVUE *Syntax PodcastDenverScriptimmerImmutable.jspetite-vueEpisode 16 - The Future of Vue.js (with Evan You)vinxiEpisode 30 - Pinia and Data Loaders (with Eduardo San Martin Morote)Vue Data LoadersNitroInterview with Evan You about VoidZeroSyntax Video Series - React vs VueHeadless UIFormKitOrganizing Code when using the Composition APIYour HostAlexander LichterBlueSkyTwitterYouTubeTwitchWebsite---Links marked with * are affiliate links. We get a small commission when you register for the service through our link. This helps us to keep the podcast running. We only include affiliate links for services mentioned in the episode or that we use ourselves.
    続きを読む 一部表示
    1 時間 7 分
  • Getting Started with Vue.js (with Simone Cuomo)
    2024/10/31

    In this episode of DejaVue, Michael is joined by special guest Simone Cuomo. Together, they discuss how to "get started" with Vue and also topics around general developer culture, such as in-office vs. remote work and the power of mentorship.


    Simone also shares learnings and insights from the recent Vuejs.de Conference - as well as his hot take about Vue.js (Hint: it is related to the Composition API!)


    And of course, recent topics like AI and whether it is good or bad for beginners shouldn't be left out either.


    Enjoy the episode!

    Our Guest

    Simone Cuomo

    • Website
    • Twitter


    Chapters

    • (00:00) - Welcome to DejaVue
    • (01:51) - Experience with in-office work
    • (07:20) - Mentorships
    • (11:57) - Job-ready after university
    • (18:37) - Learnings from the Vuejs.de Conference
    • (24:27) - Simone's Hot Take on Vue.js
    • (31:12) - Getting Started with Vue.js
    • (38:30) - Tip for reading complex library code
    • (39:35) - Is AI helpful for junior developers?
    • (49:07) - Wrapping Up


    Links and Resources


    • Get 15% OFF for your Vue Toronto ticket with code DEJAVUE *


    • GitKraken
    • Vuejs.de Conf Panel
      • VueUse
    • Simone's new book - Vue.js 3 for Beginners
    • Simone's first book - Beyond coding
    • What is a composable


    Your Host


    Michael Thiessen

    • Twitter
    • YouTube
    • Website


    ---

    Links marked with * are affiliate links. We get a small commission when you register for the service through our link. This helps us to keep the podcast running. We only include affiliate links for services mentioned in the episode or that we use ourselves.

    続きを読む 一部表示
    51 分
  • All about VoidZero - The Interview with Evan You
    2024/10/25

    As a special DejaVue episode - Alex met up with with the creator of Vue, Vite and founder of VoidZero Evan You himself and discuss his new company and the vision of a unified toolchain.

    Starting with how the idea of VoidZero came up and finding the right investors went, further discussion revolve around the monetization and why VC money was the way to go instead of other models, such as the sponsorship model of Vue, OpenCore or similar.

    Also, we cover a lot of community questions, such as whether Next.js will support Vite in the future, what lessons Evan and team learned from other projects like Rome and when we see the first Vite version with Rolldown.

    Enjoy the episode!

    Chapters

    • (00:00) - Welcome to DejaVue
    • (00:26) - What is VoidZero?
    • (01:09) - When did you have the idea for VoidZero?
    • (05:16) - Limits of Vue's funding model
    • (07:10) - When did you found VoidZero?
    • (09:20) - The name VoidZero
    • (11:25) - What is open source will stay open source!
    • (11:54) - Who is on the VoidZero team?
    • (14:56) - VC Funding for VoidZero
    • (18:12) - Picking the right investors
    • (19:34) - The solved Zero to One Problem
    • (21:05) - NPM download as metric
    • (22:02) - Other company models for VoidZero
    • (28:18) - Lessons Learned from other "unified JS toolchain projects"
    • (33:21) - Feedback from framework authors
    • (34:28) - VoidZero and runtime-agnosticism
    • (37:35) - Projects close to what VoidZero should become?
    • (38:14) - Upcoming projects which will be integral for VoidZero
    • (39:50) - The Monetization of VoidZero
    • (41:55) - Monetizing a toolchain
    • (43:15) - Are planned services relevant for hobby devs?
    • (44:12) - How do you plan to divide the funds?
    • (44:50) - Vue as first class citizen
    • (48:48) - Impact of VoidZero on time for Vue and Vite
    • (55:37) - Relationship between VoidZero and UnJS
    • (56:55) - .config proposal
    • (57:39) - Migration path from tools like SWC or esbuild
    • (59:27) - When Next.js will support Vite?
    • (01:01:34) - oxc-lint and stylistic rules
    • (01:02:42) - Collaboration with the TypeScript team?
    • (01:03:04) - TypeScript Checking in VoidZero?
    • (01:03:32) - Will the formatter support Prettier?
    • (01:04:05) - License Change to Vite
    • (01:05:14) - When can we test Rolldown + Vite?
    • (01:06:30) - Hiring at VoidZero
    • (01:08:20) - Wrapping up


    Links and Resources

    • Announcement Blogpost
    • ViteConf Keynote
    • VoidZero Team
    • Vite License Change PR
    • Rolldown Vite Fork


    続きを読む 一部表示
    1 時間 9 分
  • Pinia and Data Loaders (with Eduardo San Martin Morote)
    2024/10/17

    Michael is joined by VueRouter and Pinia Author Eduardo San Martin Morote aka posva.
    Together, they go deep into questions around the de-facto standard state management tool and why people should use Pinia, but also discuss what Data Loaders and Pinia Colada are (not the drink friends!).

    Further, the two content creators discuss how Mastering Pinia came together and what challenges are to expect when going from a "live workshop" to recorded videos.

    And of course, we can't forget upcoming conferences and meetups - with a sneak peek of what posva might present 👀

    Enjoy the episode!

    Our Guest

    Eduardo San Martin Morote

    • Website
    • Twitter
    • YouTube


    Chapters

    • (00:00) - Welcome to DejaVue
    • (00:46) - Upcoming Vue Conferences
    • (03:46) - Eduardo's Involvement in VueX
    • (05:03) - Why would you use Pinia?
    • (11:50) - Another view on stores
    • (14:14) - Insights from Mastering Pinia
    • (20:16) - Live Workshop vs recorded videos
    • (26:00) - How to improve tech video content
    • (29:09) - Data Loaders API
    • (34:31) - Pina Colada vs GraphQL
    • (36:15) - RFC for Data Loaders
    • (38:10) - Organising a Meetup
    • (44:56) - Wrapping up with a discount


    Links and Resources


    • Get 15% OFF for your Vue Toronto ticket with code DEJAVUE *


    • Pinia
    • Mastering Pinia*
    • Pinia Disasterclass Talk
    • Mastering Nuxt*
    • DejaVue #E015 - Ten Years of Vue.js (with Evan You)
    • Data Loaders


    Your Host


    Michael Thiessen

    • Twitter
    • YouTube
    • Website


    ---

    Links marked with * are affiliate links. We get a small commission when you register for the service through our link. This helps us to keep the podcast running. We only include affiliate links for services mentioned in the episode or that we use ourselves.

    続きを読む 一部表示
    46 分
  • Inertia.js (with Joe Tannenbaum)
    2024/10/10

    Vue.js can be used in many different ways - with a meta framework, as a plain SPA, via the script tag and also with Inertia! Created in the Laravel ecosystem with adapters for various back- end front-end frameworks, Alex and Michael got a special guest on the episode who couldn't fit better to illustrate what Inertia is capable of.

    Joe Tannenbaum, Software Engineer at Laravel and Inertia contributor goes all in-depth on the capabilities of the library, as well as sweet features and changes coming up for the future Inertia v2 release.

    Looking for an easy way to write applications? After this episode, you might have found it.

    Enjoy the episode!

    Our Guest

    Joe Tannenbaum

    • Website
    • Twitter


    Chapters

    • (00:00) - Welcome to DejaVue
    • (00:56) - What is Laravel and when did you got into it?
    • (05:40) - Does Laravel has starter kits?
    • (07:41) - Laravel Cloud, funding and growth
    • (13:22) - What are TUIs?
    • (16:37) - What is Inertia?
    • (22:15) - How would Authentication work with Inertia?
    • (24:01) - Adapters for Phoenix and Rails
    • (25:08) - Feature in Inertia version 2
    • (32:53) - Breaking changes for v2
    • (33:56) - Composition API or Options API?
    • (37:27) - What part is the routing layer?
    • (38:48) - Further Inertia Helpers
    • (41:14) - Inertia's SSR story
    • (45:17) - Data fetching
    • (46:48) - When not to Inertia?
    • (47:45) - How much do you think about Inertia when coding?
    • (50:09) - Too many amazing things to use
    • (52:20) - Wasn't Inertia "done"?
    • (54:23) - Wrapping up


    Links and Resources


    • Get 15% OFF for your Vue Toronto ticket with code DEJAVUE *


    • Jess Archer - "Unveiling Laravel Prompts"
    • Joe Tannenbaum - "Terminal UIs"
    • Inertia.js
    • Laravel
    • Livewire



    Your Hosts

    Alexander Lichter

    • Twitter
    • YouTube
    • Website


    Michael Thiessen

    • Twitter
    • YouTube
    • Website


    ---

    Links marked with * are affiliate links. We get a small commission when you register for the service through our link. This helps us to keep the podcast running. We only include affiliate links for services mentioned in the episode or that we use ourselves.

    続きを読む 一部表示
    57 分
  • Vue Performance Tips
    2024/10/03

    Vue is fast (actually the fastest SSR framework)! But sometimes apps might a bit more fine-tuning. And by sometimes, we mean rarely.

    Still, it can happen - so join Alex and Michael in this DejaVue episode to dive into what tools Vue gives us to improve the frameworks' performance.

    Further, they dive into the recent SSR benchmark and what it means for you as a developer, as well as striving topics like perceived performance.

    Enjoy the episode!

    Chapters

    • (00:00) - Intro
    • (01:14) - The topic of this episode - Performance
    • (02:05) - Optimizing for performance from the beginning?
    • (04:03) - Prop stability
    • (08:18) - v-once
    • (10:45) - v-memo
    • (12:57) - Does v-pre fit into the mix?
    • (14:28) - Recalculation of computed's
    • (20:47) - Virtualization
    • (24:05) - shallowRef
    • (27:25) - Vapor Mode in the future
    • (28:44) - Server Side Rendering
    • (29:14) - The recent SSR benchmark
    • (31:35) - Results of the benchmark
    • (32:00) - What does this mean for you?
    • (35:19) - Perceived performance
    • (37:33) - Improving SSR performance
    • (39:12) - VueConf Toronto
    • (40:20) - Wrapping up


    Links and Resources

    • 15% discount for the VueConf Toronto* with code DEJAVUE


    • DejaVue #E026 - Vue 3.5 Analyzed
    • DejaVue #E027 - Working at AWS (with Erik Hanchett)
    • v-once
    • v-memo
    • v-pre
    • The shallowRef guide
    • Performance Vue Docs
    • Michael Reactivity From Scratch Free Course
    • Vapor Mode
    • Reading vuejs/core-vapor
    • DejaVue #E001 - The Need for Server-Side Rendering (SSR)
    • Alex' SSR Benchmark video


    Links marked with * are affiliate links. We get a small commission when you register for the service through our link. This helps us to keep the podcast running. We only include affiliate links for services mentioned in the episode or that we use ourselves.

    続きを読む 一部表示
    41 分