<?xml version="1.0" encoding="UTF-8"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:news="http://www.google.com/schemas/sitemap-news/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:mobile="http://www.google.com/schemas/sitemap-mobile/1.0" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xmlns:video="http://www.google.com/schemas/sitemap-video/1.1"><url><loc>https://www.vuemastery.com/courses/intro-to-vue-js/vue-instance/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1526928912677_Intro to Vuejs_Lesson 1.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[The Vue Instance]]></video:title><video:description><![CDATA[This lesson covers how to get your data from your JavaScript to show up in your HTML.]]></video:description><video:duration>344</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/intro-to-vue-js/attribute-binding/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1526932791087_Vue-Mastery-Intro-to-Vuejs-2)-Attribute-Binding.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Attribute Binding]]></video:title><video:description><![CDATA[In this lesson, we’ll explore ways you can connect data to the attributes of your HTML elements. ]]></video:description><video:duration>166</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/intro-to-vue-js/conditional-rendering/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1526933312801_Vue-Mastery-Intro-to-Vuejs-3)-Conditional-Rendering.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Conditional Rendering]]></video:title><video:description><![CDATA[In this lesson we’ll be uncovering how to conditionally display elements with Vue. ]]></video:description><video:duration>224</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/intro-to-vue-js/list-rendering/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1526932156444_Vue-Mastery-Intro-to-Vuejs-4)-List-Rendering.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[List Rendering]]></video:title><video:description><![CDATA[In this lesson, we’ll learn how to display lists onto our webpages with Vue. ]]></video:description><video:duration>136</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/intro-to-vue-js/event-handling/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1526932791089_Vue-Mastery-Intro-to-Vuejs-5)-Event-Handling.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Event Handling]]></video:title><video:description><![CDATA[In this lesson we’ll be learning how to listen for DOM events that we can use to trigger methods.]]></video:description><video:duration>253</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/intro-to-vue-js/class-and-style-binding/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1526933039746_Vue-Mastery-Intro-to-Vuejs-6)-Class-&amp;amp;-Style-Binding.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Class & Style Binding]]></video:title><video:description><![CDATA[In this lesson we’ll be learning how to dynamically style our HTML by binding data to an element’s style attribute, as well as its class. ]]></video:description><video:duration>306</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/intro-to-vue-js/vue-computed-properties/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1526932156445_Vue-Mastery-Intro-to-Vuejs-7)-Computed-Properties.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Computed Properties]]></video:title><video:description><![CDATA[In this lesson, we’ll be covering Computed Properties. These are properties on the Vue instance that calculate a value rather than store a value.]]></video:description><video:duration>297</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/intro-to-vue-js/components/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1526931296175_Vue-Mastery-Intro-to-Vue-8)-Components.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Components]]></video:title><video:description><![CDATA[In this lesson we’ll be learning components: reusable blocks of code that can have both structure and functionality and create a more modular and maintainable codebase.]]></video:description><video:duration>380</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/intro-to-vue-js/communicating-events/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1526932156442_Vue-Mastery-Intro-to-Vuejs-(9-Communicating-Events.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Communicating Events]]></video:title><video:description><![CDATA[In this lesson we’ll learn how to communicate from a child component up to its parent.]]></video:description><video:duration>278</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/intro-to-vue-js/forms/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1526932156441_Vue-Mastery-Intro-to-Vuejs-10)-Forms.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Forms & v-model]]></video:title><video:description><![CDATA[In this lesson we’ll be learning how to work with forms in Vue in order to collect user input, and also learn how to do some custom form validation.]]></video:description><video:duration>574</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/intro-to-vue-js/tabs/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1526928912671_Vue Mastery Intro to Vuejs lesson 11) Tabs.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Tabs]]></video:title><video:description><![CDATA[In this lesson, we’ll learn how to add tabs to our application and implement a simple solution for global event communication.]]></video:description><video:duration>452</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/advanced-components/the-introduction/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1524261787622_Screenshot 2018-04-20 18.02.47.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Introduction]]></video:title><video:description><![CDATA[Why you should take this course and what we'll cover together.]]></video:description><video:duration>103</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/advanced-components/build-a-reactivity-system/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1524262332139_01-Building a Reactivity System.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Build a Reactivity System]]></video:title><video:description><![CDATA[Let's build a simple reactivity system using the very same techniques you’ll find in the Vue source code.]]></video:description><video:duration>1010</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/advanced-components/evan-you-on-proxies/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1529942951214_proxy.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Evan You on Proxies]]></video:title><video:description><![CDATA[Watch commentary with Evan You explaining proxy based reactivity.]]></video:description><video:duration>588</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/advanced-components/reactivity-in-vue/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1526661376255_3) Reactivity in the Vue.js Source - Slide.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Reactivity in Vue.js]]></video:title><video:description><![CDATA[Let's dive into the Vue.js source code to discover where reactivity lives and how things work under the hood.]]></video:description><video:duration>824</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/advanced-components/evan-you-vue-core/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1529950562596_conceptual.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Evan You on Vue Core]]></video:title><video:description><![CDATA[Take a tour of the Vue.js source code with Evan You, the founder of Vue.]]></video:description><video:duration>618</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/advanced-components/template-compilation/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1527197828856_Question.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Template Compilation]]></video:title><video:description><![CDATA[Stepping through the Component rendering process will help us unlock powerful patterns and lead to greater understanding.]]></video:description><video:duration>855</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/advanced-components/evan-you-on-virtual-dom/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1530306692852_VDom discussion 2.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Evan You on the Virtual DOM]]></video:title><video:description><![CDATA[Evan You on the past, present, and future of the Virtual DOM]]></video:description><video:duration>305</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/advanced-components/functional-components/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1527287812598_functional-components.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[ Functional Components]]></video:title><video:description><![CDATA[Functional Components can help you scale if you use them as fast-loading presentational components or wrapper components that delegate.]]></video:description><video:duration>347</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/advanced-components/evan-you-on-functional-components/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1530308295658_Vue router.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Evan You on Functional Components]]></video:title><video:description><![CDATA[Evan You speaks on the two major use cases for functional components.]]></video:description><video:duration>153</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/advanced-components/mounting-process/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1528741418137_understanding_mounting.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[ The Mounting Process]]></video:title><video:description><![CDATA[Learning about how Vue mounts from the virtual DOM to the actual DOM can help us improve our debugging skills and understanding of the framework.]]></video:description><video:duration>631</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/advanced-components/evan-you-on-mounting-process/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1530318244166_mounting.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Evan You on the Mounting Process]]></video:title><video:description><![CDATA[Evan You gives us a tour of the platform directory and what to expect in Vue 3.]]></video:description><video:duration>512</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/advanced-components/render-props-scoped-slots/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1528912322282_scoped-slot.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Scoped Slots & Render Props]]></video:title><video:description><![CDATA[Create reusable components by learning about the Scoped Slot and Render Props patterns.]]></video:description><video:duration>562</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/real-world-vue-js/real-world-intro/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1526663157424_1526495784134_1) Intro.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Intro to Real World Vue]]></video:title><video:description><![CDATA[A guided journey of building a production level app together, from installation to deployment.]]></video:description><video:duration>57</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/real-world-vue-js/vue-cli/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1531784936324_social.png?alt=media</video:thumbnail_loc><video:title><![CDATA[Vue CLI 3 - Creating our Project]]></video:title><video:description><![CDATA[Learn how to create a project with Vue CLI 3 from the command line and with the Vue UI. Then learn how the project is structured and how the app is getting loaded.]]></video:description><video:duration>546</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/real-world-vue-js/optimizing-your-editor/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1532369318194_RWV3_social.png?alt=media</video:thumbnail_loc><video:title><![CDATA[Optimizing your Editor]]></video:title><video:description><![CDATA[Learn how to configure your code editor for an optimized Vue development experience]]></video:description><video:duration>547</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/real-world-vue-js/vue-router/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1532982905352_front.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Vue Router Basics]]></video:title><video:description><![CDATA[How to use Vue Router to navigate through your content in a Vue single page application.]]></video:description><video:duration>916</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/real-world-vue-js/dynamic-routing-history-mode/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1533515697326_front.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Dynamic Routing & History Mode]]></video:title><video:description><![CDATA[Create routes with dynamic segments and learn how to use HTML5 History Mode with SPAs.]]></video:description><video:duration>571</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/real-world-vue-js/single-file-vue-components/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1534188746839_social.png?alt=media</video:thumbnail_loc><video:title><![CDATA[Single File Vue Components]]></video:title><video:description><![CDATA[Learn about the anatomy of a single file .vue component, how to use components together, work with scoped styles, and more.]]></video:description><video:duration>861</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/real-world-vue-js/global-components/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1534531092182_social.png?alt=media</video:thumbnail_loc><video:title><![CDATA[Global Components]]></video:title><video:description><![CDATA[Learn how to globally register components that can seamlessly be used throughout your app.]]></video:description><video:duration>521</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/real-world-vue-js/slots/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1535393025695_slots_social.png?alt=media</video:thumbnail_loc><video:title><![CDATA[Slots]]></video:title><video:description><![CDATA[Learn how slots can make your component's templates more flexible.]]></video:description><video:duration>405</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/real-world-vue-js/API-calls-with-Axios/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1535998402191_Api-called.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[API calls with Axios]]></video:title><video:description><![CDATA[Learn how to load data from an API into your Vue application using the Axios library.  Then we'll modularize our code into a service.]]></video:description><video:duration>1072</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/scaling-vue-with-nuxt-js/why-use-nuxt/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1548448000348_screen.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Why Use Nuxt.js?]]></video:title><video:description><![CDATA[7 Problems you can avoid by using Nuxt.js for your next Vue app]]></video:description><video:duration>280</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/scaling-vue-with-nuxt-js/creating-a-nuxt-app/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1549333371707_nuxt-folder-structure-2.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Creating a Nuxt App]]></video:title><video:description><![CDATA[We build a Nuxt.js app from the ground up and discuss the directory structure.]]></video:description><video:duration>953</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/scaling-vue-with-nuxt-js/universal-mode/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1550334042554_universal-mode.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Universal Mode]]></video:title><video:description><![CDATA[Learn how Universal mode improves your user experience by speeding up your application's initial load time. ]]></video:description><video:duration>485</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/scaling-vue-with-nuxt-js/seo-vue-meta/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1550344759899_code.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[SEO with vue-meta]]></video:title><video:description><![CDATA[Nuxt ships with vue-meta baked in, which gives us control of our Search Engine Optimization tags. ]]></video:description><video:duration>554</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/scaling-vue-with-nuxt-js/file-based-routing/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1551761171176_root-dynamic.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[File-based Routing]]></video:title><video:description><![CDATA[Learn about nested and dynamic routes and how to create your own error page.]]></video:description><video:duration>565</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/scaling-vue-with-nuxt-js/api-calls-axios-asyncdata/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1552877219534_asyncData.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[API Calls with Axios]]></video:title><video:description><![CDATA[How to write API calls with the Nuxt Axios Module that work on the server and client side.]]></video:description><video:duration>608</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/scaling-vue-with-nuxt-js/async-await-progress-bar/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1553445579192_async-await-picture.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Async/Await & Progress Bar]]></video:title><video:description><![CDATA[Understanding Async/Await, building out our Event Show page, and getting the progress bar working.]]></video:description><video:duration>455</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/scaling-vue-with-nuxt-js/using-vuex/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1557070374821_vuex-nuxt-picture.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Using Vuex]]></video:title><video:description><![CDATA[As our application grows we should use the Vuex to store our application state.  This lesson will show us how.]]></video:description><video:duration>594</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/scaling-vue-with-nuxt-js/universal-deployment/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1558992995324_deploy-to-heroku.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Universal Mode Deployment]]></video:title><video:description><![CDATA[Let's deploy our Nuxt application in Universal Mode onto the Internet]]></video:description><video:duration>665</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/scaling-vue-with-nuxt-js/static-site-generated-deployment/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1560806138828_static-site-deployment.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Static Site Generated Deployment]]></video:title><video:description><![CDATA[Learn the most scalable way to deploy your Nuxt app and how to deploy on Netlify.]]></video:description><video:duration>500</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/mastering-vuex/intro-to-vuex/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1570112786598_vuex_diagram.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Intro to Vuex]]></video:title><video:description><![CDATA[Learn how Vuex can solve the problems of state management in a Vue application]]></video:description><video:duration>313</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/mastering-vuex/mastering-vuex-orientation/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1541790628567_mastering_vuex.png?alt=media</video:thumbnail_loc><video:title><![CDATA[Mastering Vuex Orientation]]></video:title><video:description><![CDATA[Get familiar with the example app we'll be using throughout this course.]]></video:description><video:duration>359</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/mastering-vuex/vuex-state-getters/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1537211246443_2.png?alt=media</video:thumbnail_loc><video:title><![CDATA[State & Getters]]></video:title><video:description><![CDATA[Learn how to access your Vuex Store's State from your components]]></video:description><video:duration>718</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/mastering-vuex/vuex-mutations-actions-1/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1538338990394_actionsMutations1.png?alt=media</video:thumbnail_loc><video:title><![CDATA[Mutations & Actions Pt. 1]]></video:title><video:description><![CDATA[Learn how to mutate your Vuex State with Mutations & Actions]]></video:description><video:duration>1035</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/mastering-vuex/vuex-mutations-actions-2/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1539038987763_diagram.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Mutations & Actions Pt. 2]]></video:title><video:description><![CDATA[Create more Vuex mutations & actions while learning about pagination.]]></video:description><video:duration>1067</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/mastering-vuex/vuex-modules/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1539636207956_Modules-Break-Out.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Modules]]></video:title><video:description><![CDATA[As our Vuex code increases we'll need to organize it into Vuex Modules.]]></video:description><video:duration>918</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/mastering-vuex/success-error-notifications/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1540240057517_2.png?alt=media</video:thumbnail_loc><video:title><![CDATA[Success & Error Notifications]]></video:title><video:description><![CDATA[Learn how to capture and display success and error notifications.]]></video:description><video:duration>827</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/next-level-vue/next-level-vue-orientation/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1541790266131_5.png?alt=media</video:thumbnail_loc><video:title><![CDATA[Next-Level Vue: Orientation]]></video:title><video:description><![CDATA[Get familiar with the example app we'll be using throughout this course.]]></video:description><video:duration>200</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/next-level-vue/progress-bar-axios-interceptors/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1540779605649_Axios Interceptors.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Progress Bar: Axios Interceptors]]></video:title><video:description><![CDATA[In order to give the best user experience we'll implement a progress bar when fetching data from our API.]]></video:description><video:duration>510</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/next-level-vue/progress-bar-in-component-route-guards/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1541191231220_Navigation-Guard.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[In-Component Route Guards]]></video:title><video:description><![CDATA[Another progress bar solution could use Vue Router's In-Component Route Guards. Let's learn about these.]]></video:description><video:duration>468</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/next-level-vue/progress-bar-global-and-per-route-guards/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1542072476198_global-routing-guards.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Global and Per-Route Guards]]></video:title><video:description><![CDATA[Learn how to add navigation hooks in our router using Global and Per-Route Guards.]]></video:description><video:duration>613</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/next-level-vue/completing-our-progress-bar/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1542383083072_event-create.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Completing our Progress Bar]]></video:title><video:description><![CDATA[Using everything we've learned so far we finish implementing the Progress Bar in our example app.]]></video:description><video:duration>668</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/next-level-vue/404-error-handling/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1543273035683_catch-all route.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Error Handling]]></video:title><video:description><![CDATA[Learn to create user friendly error pages for 404 page not found and network issues.]]></video:description><video:duration>604</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/next-level-vue/reusable-form-components-baseinput/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1544482580573_baseInput.png?alt=media</video:thumbnail_loc><video:title><![CDATA[Reusable Form Components: BaseInput]]></video:title><video:description><![CDATA[Learn how to create a reusable BaseInput form component to use throughout your app's forms.]]></video:description><video:duration>486</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/next-level-vue/Reusable-Form-Components-BaseSelect/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1545089840424_2.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Reusable Form Components: BaseSelect]]></video:title><video:description><![CDATA[Learn how to create a select component to use throughout your app.]]></video:description><video:duration>373</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/next-level-vue/Reusable-Form-Components-BaseButton/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1545702449058_social.png?alt=media</video:thumbnail_loc><video:title><![CDATA[Reusable Form Components: BaseButton]]></video:title><video:description><![CDATA[Learn how to build a button component you can use throughout your app for various purposes.]]></video:description><video:duration>358</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/next-level-vue/form-validation-with-vuelidate/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1546300463935_form_validation1.png?alt=media</video:thumbnail_loc><video:title><![CDATA[Form Validation with Vuelidate]]></video:title><video:description><![CDATA[Learn how to validate your forms with Vuelidate]]></video:description><video:duration>602</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/next-level-vue/form-validation-with-vuelidate-2/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1547504011617_promo.png?alt=media</video:thumbnail_loc><video:title><![CDATA[Form Validation with Vuelidate Pt. 2]]></video:title><video:description><![CDATA[Learn how to validate a Vue form composed of reusable form components with Vuelidate.]]></video:description><video:duration>773</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/next-level-vue/mixins/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1548132709239_promo.png?alt=media</video:thumbnail_loc><video:title><![CDATA[Mixins]]></video:title><video:description><![CDATA[Learn how to encapsulate repeated code into a mixin that can be used throughout your app.]]></video:description><video:duration>479</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/next-level-vue/filters/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1549058071056_promo.png?alt=media</video:thumbnail_loc><video:title><![CDATA[Filters]]></video:title><video:description><![CDATA[Learn how to use filters to format your template code.]]></video:description><video:duration>451</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/token-based-authentication/intro-to-authentication/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1552330705903_auth_image.png?alt=media</video:thumbnail_loc><video:title><![CDATA[Intro to Authentication]]></video:title><video:description><![CDATA[Let's explore how token-based authentication works and how we'll use it throughout this course.]]></video:description><video:duration>206</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/token-based-authentication/project-structure/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1554154481868_1.png?alt=media</video:thumbnail_loc><video:title><![CDATA[Project Structure]]></video:title><video:description><![CDATA[We'll take a look at our starting code and understand the steps needed to add authentication to an app.]]></video:description><video:duration>412</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/token-based-authentication/user-registration/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1554753271082_promo.png?alt=media</video:thumbnail_loc><video:title><![CDATA[User Registration]]></video:title><video:description><![CDATA[Let's start registering users into our app, which gives them a token to access protected dashboard data.]]></video:description><video:duration>564</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/token-based-authentication/user-login/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1555965093432_promo.png?alt=media</video:thumbnail_loc><video:title><![CDATA[User Login]]></video:title><video:description><![CDATA[Learn how to log users back into the accounts they created with our app.]]></video:description><video:duration>694</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/token-based-authentication/user-logout/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1558387901115_main.png?alt=media</video:thumbnail_loc><video:title><![CDATA[User Logout]]></video:title><video:description><![CDATA[Let's learn how to log a user out, which reverses the steps we took when we logged a user in. ]]></video:description><video:duration>489</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/token-based-authentication/handling-errors/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1560206237797_errors.png?alt=media</video:thumbnail_loc><video:title><![CDATA[Handling Errors]]></video:title><video:description><![CDATA[We'll learn how to handle some of the errors that can happen as users attempt to log in to our app.]]></video:description><video:duration>389</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/token-based-authentication/automatic-login/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1561729426273_1.png?alt=media</video:thumbnail_loc><video:title><![CDATA[Automatic Login]]></video:title><video:description><![CDATA[Learn how to restore user data using automatic login.]]></video:description><video:duration>349</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/watch-us-build-trello-clone/tour-of-the-app/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1555089925338_title.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Tour of the App]]></video:title><video:description><![CDATA[We introduce our application and the concepts we'll cover as we build it.]]></video:description><video:duration>199</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/watch-us-build-trello-clone/building-our-board/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1555363287608_coding.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Building our Board]]></video:title><video:description><![CDATA[We'll take a tour of the starting code, build out our Board using data in Vuex, and save/load our data from the browser local storage.]]></video:description><video:duration>975</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/watch-us-build-trello-clone/opening-tasks-in-a-modal/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1556565512709_coding.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Opening Tasks in a Modal]]></video:title><video:description><![CDATA[Watch how we add a modal which uses a child route to display task information]]></video:description><video:duration>775</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/watch-us-build-trello-clone/adding-editing-tasks/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1557082962387_edit-task.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Adding and Editing Tasks]]></video:title><video:description><![CDATA[We add the ability to easily add & edit tasks to our app with forms & Vuex mutations.]]></video:description><video:duration>742</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/watch-us-build-trello-clone/drag-and-drop-tasks/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1557331296871_watch-drag-drop.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Drag & Dropping Tasks]]></video:title><video:description><![CDATA[Watch us implement the browser's drag and drop API to drag and drop tasks into different columns.]]></video:description><video:duration>788</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/watch-us-build-trello-clone/dragging-columns/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1559504586004_drag-columns.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Dragging Columns]]></video:title><video:description><![CDATA[In this lesson we will complete our drag and drop functionality by adding the ability to drag around columns.]]></video:description><video:duration>1382</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/watch-us-build-trello-clone/adding-new-columns/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1560797312759_vuex-mutation.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Adding New Columns]]></video:title><video:description><![CDATA[Let's add the ability to create new tasks & discuss Vuex mutations vs actions.]]></video:description><video:duration>546</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/watch-us-build-trello-clone/extracting-components/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1562624757972_refactoring.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Extracting Components]]></video:title><video:description><![CDATA[Watch Damian refactor our application into smaller components methodically.]]></video:description><video:duration>1170</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/watch-us-build-trello-clone/creating-a-mixin/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1563812917415_Mixins.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Creating a Mixin]]></video:title><video:description><![CDATA[Two of our components have duplicate code.  In this lesson we extract this code into a Mixin.]]></video:description><video:duration>373</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/watch-us-build-trello-clone/extracting-drag-and-drop/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1563995600716_laughing.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Extracting Drag & Drop]]></video:title><video:description><![CDATA[Watch us extract drag & drop functionality into it's own two components so it can be more organized and reusable. ]]></video:description><video:duration>1529</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/beautify-with-vuetify/getting-started-with-vuetify/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1562629943700_preview-no-play.png?alt=media</video:thumbnail_loc><video:title><![CDATA[Getting Started with Vuetify]]></video:title><video:description><![CDATA[Learn how Vuetify can help you make beautiful apps with Google's Material Design.]]></video:description><video:duration>451</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/beautify-with-vuetify/components-part-1/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1564460319558_02-vuetify-lesson-2-newsletter-image.jpeg?alt=media</video:thumbnail_loc><video:title><![CDATA[Components (Pt. 1)]]></video:title><video:description><![CDATA[Now that we know how to install and setup Vuetify on our app, let's take a deeper dive into Vuetify ]]></video:description><video:duration>588</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/beautify-with-vuetify/components-part-2/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1565706909593_social-media.jpeg?alt=media</video:thumbnail_loc><video:title><![CDATA[Components (Pt. 2)]]></video:title><video:description><![CDATA[With a basic understanding of Vuetify components, let's take a closer look at more complex components!]]></video:description><video:duration>875</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/beautify-with-vuetify/layouts-grid-system/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1567487445428_Vuetify-Lesson-04.001.jpeg?alt=media</video:thumbnail_loc><video:title><![CDATA[Layouts: Grid System]]></video:title><video:description><![CDATA[Create layouts for your application with Vuetify's grid system!]]></video:description><video:duration>613</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/beautify-with-vuetify/layouts-responsive-design/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1568646908986_Vuetify-Lesson-5-Featured.jpeg?alt=media</video:thumbnail_loc><video:title><![CDATA[Layouts: Responsive Design]]></video:title><video:description><![CDATA[Build responsive layouts for your application Vuetify breakpoints!]]></video:description><video:duration>502</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/beautify-with-vuetify/forms-fundamentals/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1569910766170_lesson-6-featue.jpeg?alt=media</video:thumbnail_loc><video:title><![CDATA[Forms: Fundamentals]]></video:title><video:description><![CDATA[It's time to learn how to build forms with Vuetify!]]></video:description><video:duration>613</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/beautify-with-vuetify/forms-validation/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1572381890979_Lesson-7-Featured.jpeg?alt=media</video:thumbnail_loc><video:title><![CDATA[Forms: Validation]]></video:title><video:description><![CDATA[Let's learn how to build validate our forms with Vuetify!]]></video:description><video:duration>705</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/beautify-with-vuetify/directives/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1575995729428_featured-image.opt.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Directives]]></video:title><video:description><![CDATA[Learn about Vuetify directives to help supercharge your development workflow!]]></video:description><video:duration>473</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/beautify-with-vuetify/themes/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1577203659778_lesson-9-preview.jpeg?alt=media</video:thumbnail_loc><video:title><![CDATA[Themes]]></video:title><video:description><![CDATA[Learn how to create custom themes with Vuetify!]]></video:description><video:duration>400</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/animating-vue/why-animate/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1566238835050_Why Animate.001.jpeg?alt=media</video:thumbnail_loc><video:title><![CDATA[Why Animate]]></video:title><video:description><![CDATA[How can animations improve our user experience?]]></video:description><video:duration>280</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/animating-vue/transitions/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1566927353934_Transitions.001.jpeg?alt=media</video:thumbnail_loc><video:title><![CDATA[Transitions]]></video:title><video:description><![CDATA[Learn how Vue's transition component works as we build our first simple transition.]]></video:description><video:duration>571</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/animating-vue/page-transitions/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1568136101490_Page Transitions.jpeg?alt=media</video:thumbnail_loc><video:title><![CDATA[Page Transitions]]></video:title><video:description><![CDATA[Smooth out the navigation between routes with page transitions.]]></video:description><video:duration>385</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/animating-vue/group-transitions/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1569278856613_Group Transitions.001.jpeg?alt=media</video:thumbnail_loc><video:title><![CDATA[Group Transitions]]></video:title><video:description><![CDATA[Learn how Vue's transition-group component allows us to apply the same transition to a group of elements/components.]]></video:description><video:duration>499</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/animating-vue/javascript-hooks-velocity/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1571715557506_javascriptHooks2.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[JavaScript Hooks + Velocity]]></video:title><video:description><![CDATA[Learn how to use JavaScript Hooks to build out more complex motion using the Velocity animation library.]]></video:description><video:duration>511</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/animating-vue/intro-to-GSAP-3/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1573572719132_GSAP.001.opt.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Intro to GSAP 3]]></video:title><video:description><![CDATA[Learn how to start using the popular GreenSock Animation Platform (GSAP) to animate with JavaScript.]]></video:description><video:duration>437</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/animating-vue/state-with-GSAP/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1574725256780_State with.001.opt.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[State with GSAP]]></video:title><video:description><![CDATA[Use GSAP to animate reactive, always-changing state.]]></video:description><video:duration>277</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/animating-vue/timelines-with-gsap/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1576524207594_Social image.001.opt.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Timelines with GSAP]]></video:title><video:description><![CDATA[Create more powerful animations by sequencing them inside of a GSAP timeline.]]></video:description><video:duration>444</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/animating-vue/nested-timelines/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1578953025501_nested_timelines_opt.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Nested Timelines]]></video:title><video:description><![CDATA[Create flexible, scalable animations by nesting timelines within a master timeline.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/courses/vue-3-essentials/why-the-composition-api/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1570465466855_why-composition-api.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Why the Composition API]]></video:title><video:description><![CDATA[The killer feature of Vue 3 is the Composition API, but why exactly is it needed and what problems does it solve for us?]]></video:description><video:duration>461</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/vue-3-essentials/setup-and-reactive-references/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1570470267995_video-shot.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Setup & Reactive References]]></video:title><video:description><![CDATA[Learn the Vue 3 Composition API syntax starting with the setup method & reactive references.]]></video:description><video:duration>248</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/vue-3-essentials/methods/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1571072661608_video-shot.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Methods]]></video:title><video:description><![CDATA[How to write component methods and interact with Reactive References using the composition API.]]></video:description><video:duration>110</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/vue-3-essentials/computed-properties/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1571087646689_video-shot-1.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Computed Properties]]></video:title><video:description><![CDATA[Writing computed properties using the new Composition API syntax.]]></video:description><video:duration>91</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/vue-3-essentials/reactive-syntax/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1571766180347_video-shot-2.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[The Reactive Syntax]]></video:title><video:description><![CDATA[There are two ways to define reactive objects with the Composition API.  Reactive References and using reactive.]]></video:description><video:duration>184</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/vue-3-essentials/modularizing/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1571766442152_video-shot-3.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Modularizing]]></video:title><video:description><![CDATA[Now that we've written out the basics of a composition function, let's modularize it so our component can scale.]]></video:description><video:duration>134</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/vue-3-essentials/lifecycle-hooks/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1573922799075_cover-1-opt.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Lifecycle Hooks]]></video:title><video:description><![CDATA[Vue 3 introduces some new LifeCycle hooks.  We'll learn about those and how to call LifeCycle hooks from the Composition API.]]></video:description><video:duration>191</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/vue-3-essentials/watch/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1573924086992_cover-opt.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Watch]]></video:title><video:description><![CDATA[The Watch method is used when we need to run code when when reactive objects change.  Let's use it inside the setup method.]]></video:description><video:duration>220</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/vue-3-essentials/sharing-state/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1575326913650_state.opt.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Sharing State]]></video:title><video:description><![CDATA[Let's use the composition API to extract some state and functionality into a piece of reusable code.]]></video:description><video:duration>363</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/vue-3-essentials/suspense/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Fsuspense-main.opt.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Suspense]]></video:title><video:description><![CDATA[The new Suspense component provides an elegant solution for API loading screens.]]></video:description><video:duration>268</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/vue-3-essentials/teleport/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Fteleport-main.opt.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Teleport]]></video:title><video:description><![CDATA[Learn how Teleport allows you to move template code into alternate locations on webpage.]]></video:description><video:duration>340</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/unit-testing/what-to-test/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1579559145609_What to test.001.opt.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[What to test]]></video:title><video:description><![CDATA[Learn about the benefits of unit testing, and what you should and shouldn't be testing in your Vue apps.]]></video:description><video:duration>298</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/unit-testing/writing-a-unit-test-with-jest/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1580172568655_yourFirstTest_opt.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Writing a Unit Test with Jest]]></video:title><video:description><![CDATA[Write your first unit test using Jest and Vue Test Utils.]]></video:description><video:duration>565</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/unit-testing/Testing-Props-and-User-Interaction/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1581975296014_Props &amp;amp; User Interaction.001.opt.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Testing Props & User Interaction]]></video:title><video:description><![CDATA[In this lesson, we’ll continue writing simple tests for a component that requires user interaction and takes in props.]]></video:description><video:duration>435</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/unit-testing/testing-emitted-events/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FEmitted Events.001.opt.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Testing Emitted Events]]></video:title><video:description><![CDATA[Learn how to test that your component's custom events were emitted with the correct payload.]]></video:description><video:duration>416</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/unit-testing/testing-api-calls/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Ftest-api-calls.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Testing API Calls]]></video:title><video:description><![CDATA[Learn how to test your data-fetching components.]]></video:description><video:duration>592</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/unit-testing/stubbing-child-components/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Fstubs_opt.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Stubbing Child Components]]></video:title><video:description><![CDATA[How do we test parent components whose children have a lot of baggage?]]></video:description><video:duration>361</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/vue-3-reactivity/vue3-reactivity/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1580763033578_1-main.opt.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Vue 3 Reactivity]]></video:title><video:description><![CDATA[Vue 3's Reactivity system has been rewritten from the ground up.  In this lesson we will start building our own Reactivity system step by step using the same design principles, to begin to understand how Vue 3 reactivity works.]]></video:description><video:duration>594</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/vue-3-reactivity/proxy-and-reflect/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1580938447902_ProxyandReflectmain.opt.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Proxy and Reflect]]></video:title><video:description><![CDATA[Vue 3 uses ES6 Reflect and Proxy to create reactivity.  Let's write up this code, and then combine it with what we learned about storing effects from the last lesson.]]></video:description><video:duration>537</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/vue-3-reactivity/activeEffect-and-ref/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1582581637925_ref.opt.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[activeEffect & ref]]></video:title><video:description><![CDATA[Getting closer to how Vue 3 codes up reactivity, we'll learn how to use activeEffect and how to create our own reactive reference.]]></video:description><video:duration>433</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/vue-3-reactivity/computed-values-and-vue3-source/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Ffront-3.opt.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Computed Values & Vue 3 Source]]></video:title><video:description><![CDATA[Our reactive effects might make more sense as computed properties. In this lesson we’ll create a computed method, and look at the architecture of the Vue 3 Reactivity library.]]></video:description><video:duration>415</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/vue-3-reactivity/q-a-with-evan-you/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Fevan&amp;amp;gregg.opt.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Q & A with Evan You]]></video:title><video:description><![CDATA[Gregg sits down with Evan You, the creator of Vue, to ask him questions about the implementation of Reactivity in Vue 3.]]></video:description><video:duration>518</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/vue-3-reactivity/reading-source-code-with-evan-you/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FEvan&amp;amp;Gregg Source Code.opt.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Reading Source Code with Evan You]]></video:title><video:description><![CDATA[Evan You helps us dive into the Vue 3 Reactivity source code, explaining many of the complex features along the way.]]></video:description><video:duration>1212</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/component-design-patterns/introduction/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Ffeatured.opt.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Introduction]]></video:title><video:description><![CDATA[Learn the core concepts that you will be learning that will make you successful at composing reusable components.]]></video:description><video:duration>90</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/component-design-patterns/props-fundamentals/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Ffeatured.opt.1583271263966.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Props: Fundamentals]]></video:title><video:description><![CDATA[Learn the fundamental best practices and techniques you should use when defining props in your components!]]></video:description><video:duration>382</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/component-design-patterns/props-custom-validation/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Ffeatured.opt.1584994086835.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Props: Custom Validation]]></video:title><video:description><![CDATA[Learn the how to create custom validators for props in a component!]]></video:description><video:duration>228</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/component-design-patterns/the-problem-with-props/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Fproblemwithprops_opt.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[The Problem with Props]]></video:title><video:description><![CDATA[Learn about the pitfalls of props heavy components!]]></video:description><video:duration>392</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/component-design-patterns/slots-fundamentals/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Fcpd-05.opt.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Slots: Fundamentals]]></video:title><video:description><![CDATA[Slots are a powerful technique that every Vue.js developer should know. In this lesson, we take a look at the key knowledge you need to use slots in your app.]]></video:description><video:duration>193</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/component-design-patterns/slots-techniques/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Fcpd06.opt.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Slots: Techniques]]></video:title><video:description><![CDATA[While single slots provide a lot of flexibility, it's common developers to need multiple slots when working on components like layouts. In this lesson, we take a look at the key slot techniques you need to know when working with multiple slots.]]></video:description><video:duration>281</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/component-design-patterns/scoped-slots-part-1/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Ffeatured.opt.1594742211902.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Scoped Slots: Part 1]]></video:title><video:description><![CDATA[Slots are great for populating content from the parent, but what happens when you need to populate it with data from the child component? Scoped slots are the answer and we'll take a look at the fundamental knowledge to get you up and running!]]></video:description><video:duration>204</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/component-design-patterns/scoped-slots-part-2/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Fcpd-08-featured.opt.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Scoped Slots: Part 2]]></video:title><video:description><![CDATA[Scoped slots are great for helping to access a child component's data, but it has some constraints that you should be aware of when designing components. In addition, there are also some alternative syntax that are used with scoped slots that you will want to know about!]]></video:description><video:duration>241</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/component-design-patterns/one-object-to-rule-them-all/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F9.opt.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[One Object to Rule Them All]]></video:title><video:description><![CDATA[In libraries and more complex components, it's common to see syntax such as v-bind="$attrs" and v-on="$listeners," but what exactly is going on here? In this lesson, we will be taking a closer look at how this syntax works!]]></video:description><video:duration>394</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/build-a-gmail-clone-with-vue3/tour-the-project/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FTouroftheApp.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Tour the Project]]></video:title><video:description><![CDATA[Let’s take a look at the email app we’ll be building with Vue 3]]></video:description><video:duration>166</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/build-a-gmail-clone-with-vue3/building-the-inbox/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FBuildingtheInbox.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Building the Inbox]]></video:title><video:description><![CDATA[We’ll build the basic interface of our email inbox, using mostly familiar techniques from the Options API]]></video:description><video:duration>568</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/build-a-gmail-clone-with-vue3/async-setup-and-suspense/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FAsync Setup &amp;amp; Suspense.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Async Setup & Suspense]]></video:title><video:description><![CDATA[Discover how Vue 3’s setup function and suspense component enable easy asynchronous communication]]></video:description><video:duration>469</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/build-a-gmail-clone-with-vue3/axios-and-json-server/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Flesson-4-thumbnail.001.jpeg?alt=media</video:thumbnail_loc><video:title><![CDATA[Axios & JSON Server]]></video:title><video:description><![CDATA[Get data asynchronously from a server using axios, async/await, json-server, and the setup function.]]></video:description><video:duration>461</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/build-a-gmail-clone-with-vue3/opening-an-email/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Flesson-5-thumbnail.001.jpeg?alt=media</video:thumbnail_loc><video:title><![CDATA[Opening an Email]]></video:title><video:description><![CDATA[Open emails and display them using marked.js and date-fns.]]></video:description><video:duration>357</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/build-a-gmail-clone-with-vue3/email-modal/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Flesson-6-thumbnail.001.jpeg?alt=media</video:thumbnail_loc><video:title><![CDATA[Email Modal]]></video:title><video:description><![CDATA[Create a reusable modal component and use it for displaying emails.]]></video:description><video:duration>186</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/build-a-gmail-clone-with-vue3/keyboard-shortcuts/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Flesson-7-thumbnail.001.jpeg?alt=media</video:thumbnail_loc><video:title><![CDATA[Keyboard Shortcuts]]></video:title><video:description><![CDATA[Learn keyboard shortcuts and composition API hooks! In this video, we learn how to exit the modal using the Escape key.]]></video:description><video:duration>290</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/build-a-gmail-clone-with-vue3/usekeydown-composable/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Flesson-8-thumbnail.001.jpeg?alt=media</video:thumbnail_loc><video:title><![CDATA[useKeydown Composable]]></video:title><video:description><![CDATA[Build a composable! We take advantage of the composition API to abstract our keyboard shortcuts and make them easy to define.]]></video:description><video:duration>543</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/build-a-gmail-clone-with-vue3/email-action-bar/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Flesson-9-thumbnail.001.jpeg?alt=media</video:thumbnail_loc><video:title><![CDATA[Email Action Bar]]></video:title><video:description><![CDATA[Line up our modal’s action buttons and connect them with keyboard shortcuts]]></video:description><video:duration>416</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/build-a-gmail-clone-with-vue3/flexible-events/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Flesson-10-thumbnail.001.jpeg?alt=media</video:thumbnail_loc><video:title><![CDATA[Flexible Events]]></video:title><video:description><![CDATA[Send complex requests to a parent component using an event]]></video:description><video:duration>577</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/build-a-gmail-clone-with-vue3/multi-select-with-reactive-sets/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F11.opt.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Multi-select with Reactive Sets]]></video:title><video:description><![CDATA[Track your selected emails using Composition API’s Reactive Objects and Javascript’s Set]]></video:description><video:duration>453</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/build-a-gmail-clone-with-vue3/app-wide-non-persisted-state/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F12.opt.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[App-wide Non-persisted State]]></video:title><video:description><![CDATA[Composition API lets you access your composable data app-wide. Track and change your email selections from anywhere!]]></video:description><video:duration>343</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/build-a-gmail-clone-with-vue3/select-all-checkbox/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Flesson-13-thumbnail.001.jpeg?alt=media</video:thumbnail_loc><video:title><![CDATA[‘Select All’ Checkbox]]></video:title><video:description><![CDATA[“Select All” checkboxes are a staple of data-heavy applications. Learn how to create one and connect it to all the other checkboxes with a composable.]]></video:description><video:duration>673</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/build-a-gmail-clone-with-vue3/bulk-actions/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Flesson-14-thumbnail.001.jpeg?alt=media</video:thumbnail_loc><video:title><![CDATA[Bulk Actions]]></video:title><video:description><![CDATA[Want to take action on multiple selected items at once?  You need a Bulk Action Bar.  Learn how in this lesson.]]></video:description><video:duration>710</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/build-a-gmail-clone-with-vue3/archived-view/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Flesson-15-thumbnail.001.jpeg?alt=media</video:thumbnail_loc><video:title><![CDATA[Archived View]]></video:title><video:description><![CDATA[Learn how to dynamically filter the items in your app - and along the way, learn some nuances of Vue 3’s reactivity system.]]></video:description><video:duration>406</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/build-a-gmail-clone-with-vue3/conclusion/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Flesson-16-thumbnail.001.jpeg?alt=media</video:thumbnail_loc><video:title><![CDATA[Conclusion]]></video:title><video:description><![CDATA[A quick overview of what we’ve learned in this course, plus a preview of a hands-on training course that Jeffrey is running.]]></video:description><video:duration>672</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/vue3-forms/forms-introduction/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Fthumb.001.opt.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Introduction]]></video:title><video:description><![CDATA[Find out what we’ll cover in this form fundamentals course and what knowledge you’ll need to get the most out of it.]]></video:description><video:duration>157</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/vue3-forms/base-input/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FthumbL2.opt.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Base Input]]></video:title><video:description><![CDATA[Learn how to create highly reusable input components for all your Vue 3 forms.]]></video:description><video:duration>698</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/vue3-forms/base-select/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Fthumb.001.opt.1601479476911.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Base Select]]></video:title><video:description><![CDATA[Learn how to create highly reusable select components for all your Vue 3 forms.]]></video:description><video:duration>538</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/vue3-forms/auto-importing-components/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Fthumb.001.opt.1602785875699.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Auto-importing components]]></video:title><video:description><![CDATA[Learn a quick and easy way to automatically import components that share a common prefix into your Vue applications.]]></video:description><video:duration>319</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/vue3-forms/base-checkbox/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Fthumb.001.jpeg?alt=media</video:thumbnail_loc><video:title><![CDATA[Base Checkbox]]></video:title><video:description><![CDATA[Learn how to create a reusable Checkbox component.]]></video:description><video:duration>322</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/vue3-forms/baseradio/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Fthumb.001.opt.1605724443268.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[BaseRadio]]></video:title><video:description><![CDATA[Learn how to create a reusable radio button component, and the quirks of v-model into radio inputs.]]></video:description><video:duration>455</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/vue3-forms/baseradiogroup/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Fthumbnail.001.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[BaseRadioGroup]]></video:title><video:description><![CDATA[Learn how to create a BaseRadioGroup component to simplify the use of our BaseRadio components in a group.]]></video:description><video:duration>677</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/vue3-forms/submitting-forms/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Fthumbnail.001.opt.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Submitting Forms]]></video:title><video:description><![CDATA[Learn how to correctly listen to form submit events and post your Vue form's data using Axios.]]></video:description><video:duration>737</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/vue3-forms/basic-a11y-for-our-components/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Fthumbnail.001.1614627293290.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Basic a11y for our components]]></video:title><video:description><![CDATA[n this lesson will go over what I consider some of the very basic accessibility concepts that you need to keep fresh in mind when developing forms. These concepts are not technically Vue specific, but we will learn how to apply them in the context of our Vue form components.]]></video:description><video:duration>1217</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/vue3-deep-dive-with-evan-you/vue3-overview/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FDD1-main.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Vue 3 Overview]]></video:title><video:description><![CDATA[Gregg Pollack introduces how Vue 3's core modules work together, to prep you to dive deep into Vue 3 concepts with Evan You.]]></video:description><video:duration>382</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/vue3-deep-dive-with-evan-you/virtual-dom-and-render-functions/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FDD2-main.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Virtual DOM & Render Functions]]></video:title><video:description><![CDATA[Learn about Vue 3 improvements to the Virtual DOM and Render functions with Evan You, the creator of Vue. ]]></video:description><video:duration>439</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/vue3-deep-dive-with-evan-you/how-to-use-render-functions/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FDD3-main.1588690977979.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[How to use Render Functions]]></video:title><video:description><![CDATA[Watch Evan live code some render functions.  He shows how powerful they can be when you need them.]]></video:description><video:duration>954</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/vue3-deep-dive-with-evan-you/compiler-and-renderer-api/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FDD4-main.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Compiler & Renderer API]]></video:title><video:description><![CDATA[Some of Vue 3's biggest optimizations are inside it's template compiler.  In this lesson Evan gives us a tour of the optimizations he's made and challenges us to create our own rendering API.]]></video:description><video:duration>1179</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/vue3-deep-dive-with-evan-you/creating-a-mount-function/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FDD5-main.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Creating a Mount function]]></video:title><video:description><![CDATA[We watch Evan You create a simple mount function, which takes a virtual node and makes DOM JavaScript calls to render it onto the page.]]></video:description><video:duration>591</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/vue3-deep-dive-with-evan-you/creating-a-patch-function/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FDD6-main.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Creating a Patch function]]></video:title><video:description><![CDATA[Watch Evan You build a renderer patch function which compares two virtual nodes and makes the appropriate DOM JavaScript calls.]]></video:description><video:duration>1151</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/vue3-deep-dive-with-evan-you/intro-to-reactivity/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FDD7-main.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Intro to Reactivity]]></video:title><video:description><![CDATA[Learn about reactivity and how it's implemented in Vue 3 compared to other reactive systems.]]></video:description><video:duration>597</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/vue3-deep-dive-with-evan-you/building-reactivity-from-scratch/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FDD8-main.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Building Reactivity from Scratch]]></video:title><video:description><![CDATA[Evan You builds a small reactivity engine, showing how you can track dependencies and create a small version of reactive references.]]></video:description><video:duration>726</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/vue3-deep-dive-with-evan-you/building-the-reactive-api/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FDD9-main.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Building the Reactive API]]></video:title><video:description><![CDATA[Watch Evan You code out the reactive API syntax that we have in Vue 3, first using defineProperty and then using Proxy and Reflect.]]></video:description><video:duration>921</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/vue3-deep-dive-with-evan-you/creating-a-mini-vue/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FDD10-main.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Creating a Mini Vue]]></video:title><video:description><![CDATA[Building on our Virtual DOM and Reactivity System, we'll put them together to create a Mini Vue.]]></video:description><video:duration>635</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/vue3-deep-dive-with-evan-you/the-composition-api/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FDD11-main.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[The Composition API]]></video:title><video:description><![CDATA[Learn how to use the new Vue 3 Composition API to scale your Vue applications and how the new watchEffect methods works.]]></video:description><video:duration>907</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/vue3-deep-dive-with-evan-you/code-organization/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FDD12-main.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Code Organization]]></video:title><video:description><![CDATA[Learn how the Vue 3 Composition API provides a better mechanism for code organization and reuse.]]></video:description><video:duration>653</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/vue3-deep-dive-with-evan-you/logic-reuse/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FDD13-main.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Logic Reuse]]></video:title><video:description><![CDATA[Learn how the Vue 2 way of sharing code has drawbacks which the Composition API now solves for us.]]></video:description><video:duration>1125</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/vue3-deep-dive-with-evan-you/Composition-api-example/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FDD14-main.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Composition API Example]]></video:title><video:description><![CDATA[An example is worth a thousand words.  In this lesson we walk through a full example of using a Composition Function to reuse logic.]]></video:description><video:duration>741</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/vue3-deep-dive-with-evan-you/parting-words/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FDD15-main.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Parting Words]]></video:title><video:description><![CDATA[In this final lesson I ask Evan a few questions about what developers should do to continue learning about Vue 3, the composition API, and render functions.]]></video:description><video:duration>220</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/intro-to-vue-3/intro-to-vue3/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FIntro to Vue 3 704.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Intro to Vue 3]]></video:title><video:description><![CDATA[Brand new to Vue? Start learning the basics in this lesson that explores the essential syntax.]]></video:description><video:duration>106</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/intro-to-vue-3/creating-the-vue-app-vue3/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FUntitled 2.002.jpeg?alt=media</video:thumbnail_loc><video:title><![CDATA[Creating the Vue App]]></video:title><video:description><![CDATA[Learn about creating a Vue app]]></video:description><video:duration>405</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/intro-to-vue-3/attribute-binding-vue3/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FUntitled 2.003.jpeg?alt=media</video:thumbnail_loc><video:title><![CDATA[Attribute Binding]]></video:title><video:description><![CDATA[Learn about attribute binding]]></video:description><video:duration>228</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/intro-to-vue-3/conditional-rendering-vue3/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Fconditional_rendering.001.jpeg?alt=media</video:thumbnail_loc><video:title><![CDATA[Conditional Rendering]]></video:title><video:description><![CDATA[Learn about conditional rendering]]></video:description><video:duration>307</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/intro-to-vue-3/list-rendering-vue3/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Flist rendering.001.jpeg?alt=media</video:thumbnail_loc><video:title><![CDATA[List Rendering]]></video:title><video:description><![CDATA[Learn about list rendering]]></video:description><video:duration>207</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/intro-to-vue-3/event-handling-vue3/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Fevent handling.001.jpeg?alt=media</video:thumbnail_loc><video:title><![CDATA[Event Handling]]></video:title><video:description><![CDATA[Learn about event handling]]></video:description><video:duration>267</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/intro-to-vue-3/class-and-style-binding-vue3/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Fclass &amp;amp; style.001.jpeg?alt=media</video:thumbnail_loc><video:title><![CDATA[Class & Style Binding]]></video:title><video:description><![CDATA[Learn about class and style binding]]></video:description><video:duration>393</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/intro-to-vue-3/computed-properties-vue3/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Fcomputed.001.jpeg?alt=media</video:thumbnail_loc><video:title><![CDATA[Computed Properties]]></video:title><video:description><![CDATA[Learn about computed properties]]></video:description><video:duration>377</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/intro-to-vue-3/components-and-props-vue3/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Fcomponents.001.jpeg?alt=media</video:thumbnail_loc><video:title><![CDATA[Components & Props]]></video:title><video:description><![CDATA[Learn about components and props]]></video:description><video:duration>395</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/intro-to-vue-3/communicating-events-vue3/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Fcommunicating events.001.jpeg?alt=media</video:thumbnail_loc><video:title><![CDATA[Communicating Events]]></video:title><video:description><![CDATA[Learn about communicating events]]></video:description><video:duration>233</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/intro-to-vue-3/forms-and-v-model-vue3/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Fforms.001.jpeg?alt=media</video:thumbnail_loc><video:title><![CDATA[Forms & v-model]]></video:title><video:description><![CDATA[Learn about forms and v-model]]></video:description><video:duration>502</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/from-vue2-to-vue3/from-vue-2-to-vue-3/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Fvue2-3.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[From Vue 2 to Vue 3]]></video:title><video:description><![CDATA[Explore the topics this course covers and how it will help you make the best use of Vue 3's new capabilities and changes.]]></video:description><video:duration>139</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/from-vue2-to-vue3/the-new-vmodel/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Fthumbnail.001.jpeg?alt=media</video:thumbnail_loc><video:title><![CDATA[The new v-model]]></video:title><video:description><![CDATA[Learn how to use Vue 3's v-model, and the new defaults]]></video:description><video:duration>439</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/from-vue2-to-vue3/multi-v-model-bindings/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Fthumbnail.001.1592255672972.jpeg?alt=media</video:thumbnail_loc><video:title><![CDATA[Multi v-model bindings]]></video:title><video:description><![CDATA[In this lesson you will learn how to create multiple v-model bindings into a single component using Vue 3]]></video:description><video:duration>587</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/from-vue2-to-vue3/v-model-modifiers/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Fthumbnail.001.1593711192575.jpeg?alt=media</video:thumbnail_loc><video:title><![CDATA[v-model modifiers]]></video:title><video:description><![CDATA[In this lesson you will learn how to create your own custom Vue 3 v-model modifiers]]></video:description><video:duration>640</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/from-vue2-to-vue3/the-new-attrs/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Fthumbnail.001.1595024315182.jpeg?alt=media</video:thumbnail_loc><video:title><![CDATA[The New $attrs]]></video:title><video:description><![CDATA[Learn the differences between $attrs in Vue 2 and Vue 3]]></video:description><video:duration>709</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/from-vue2-to-vue3/multi-root-components/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Fthumbnail.001.1596468635385.jpeg?alt=media</video:thumbnail_loc><video:title><![CDATA[Multi root components]]></video:title><video:description><![CDATA[Learn how to transform single root components into multi-root components, and the new emits property in Vue 3.]]></video:description><video:duration>548</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/real-world-vue3/rwv3-orientation/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FBuilding a Vue 3 App 704.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Building a Vue 3 app]]></video:title><video:description><![CDATA[Starting building a production-level app using Vue 3.]]></video:description><video:duration>46</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/real-world-vue3/vue-cli-creating-the-project/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FL2_RWV3.001.opt.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Vue CLI - Creating the Project]]></video:title><video:description><![CDATA[In this tutorial, we’ll create our project using the Vue CLI.]]></video:description><video:duration>578</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/real-world-vue3/single-file-components/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FL3_RWV3.001.opt.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Single File Components]]></video:title><video:description><![CDATA[What are .vue files and how do we use them to build out a Vue app?]]></video:description><video:duration>738</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/real-world-vue3/vue-router-essentials/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FL4_RVW3.001.opt.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Vue Router Essentials]]></video:title><video:description><![CDATA[Learn how to use Vue Router for app navigation]]></video:description><video:duration>526</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/real-world-vue3/api-calls-with-axios/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FL5_RWV3_img.001.opt.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[API Calls with Axios]]></video:title><video:description><![CDATA[Fetching external data into our app using Axios, a popular library for performing API calls]]></video:description><video:duration>566</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/real-world-vue3/dynamic-routing/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FL6RWV3.001.jpeg?alt=media</video:thumbnail_loc><video:title><![CDATA[Dynamic Routing]]></video:title><video:description><![CDATA[Implementing dynamic routing using Vue Router]]></video:description><video:duration>723</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/real-world-vue3/deploying-with-render/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FL7_RWV3.001.1608051320093.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Deploying with Render]]></video:title><video:description><![CDATA[Learn how to deploy your Vue app using Render]]></video:description><video:duration>659</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/real-world-vue3/scaling-the-app/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FRWV3 L8.00_00_32_20.Still001.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Scaling the app]]></video:title><video:description><![CDATA[Tour what potential next steps can be taken to scale up an app in different directions.]]></video:description><video:duration>263</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/vue3-typescript/why-vue-and-typescript/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FWhy Vue &amp;amp; Typescript 704.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Why Vue & TypeScript]]></video:title><video:description><![CDATA[Considering adding TypeScript to your Vue project? Explore the considerations to take in this lesson.]]></video:description><video:duration>569</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/vue3-typescript/setting-up-vue3-and-typescript/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Ffeatured-image-02.001.opt.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Setting Up Vue 3 & TypeScript]]></video:title><video:description><![CDATA[Learn how to setup TypeScript on new and existing Vue CLI applications.]]></video:description><video:duration>367</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/vue3-typescript/creating-components-with-typescript/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Ffeatured-image.001.opt.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Creating Components with TypeScript]]></video:title><video:description><![CDATA[Learn how to add TypeScript to Single File Components.]]></video:description><video:duration>254</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/vue3-typescript/type-fundamentals/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Ffeatured-image.001.opt.1606929493753.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Type Fundamentals]]></video:title><video:description><![CDATA[The key first step with using TypeScript with Vue is learning the fundamentals of what types are as well as how to assign types to variables.]]></video:description><video:duration>472</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/vue3-typescript/defining-custom-types/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Ffeatured-image.001.opt.1608576799782.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Defining Custom Types]]></video:title><video:description><![CDATA[When you need to define specific data shapes to your app's needs, custom types are the answer.]]></video:description><video:duration>355</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/vue3-typescript/data-with-custom-types/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F06-featured-image.001.opt.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Data with Custom Types]]></video:title><video:description><![CDATA[Learn how to define custom types on the data option in Vue 3!]]></video:description><video:duration>391</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/vue3-typescript/props-with-types/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FProps with Custom Types.001.opt.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Props with Types]]></video:title><video:description><![CDATA[Learn how to assign custom types to props to account for scenarios outside of standard prop types.]]></video:description><video:duration>249</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/vue3-typescript/computed-and-methods-with-custom-types/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Fv3-ts-08-featured.001.opt.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Computed & Methods with Custom Types]]></video:title><video:description><![CDATA[In this lesson, you'll learn how to add custom types to computed properties and methods with TypeScript.]]></video:description><video:duration>226</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/vue3-typescript/next-steps/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FTypescriptL9_featuredimage_opt.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Next Steps]]></video:title><video:description><![CDATA[Now that we've learned the fundamentals of using TypeScript with Vue 3, we will talk about what developers can look forward to in the next steps of their journey.]]></video:description><video:duration>104</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/vue3-typescript/bonus-composition-api-with-typescript/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Fv3-ts-l10-featured-image.001.opt.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Bonus: Composition API with TypeScript]]></video:title><video:description><![CDATA[In this course, we've taken a look at how TypeScript works in Options API; but in this bonus lesson, we'll see how everything we learned transfers to the Composition API as well!]]></video:description><video:duration>383</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/touring-vue-router/vue-router-introduction/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FIntroduction Title.jpeg?alt=media</video:thumbnail_loc><video:title><![CDATA[Introduction]]></video:title><video:description><![CDATA[Learn what we'll be learning and building together in the course]]></video:description><video:duration>81</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/touring-vue-router/receiving-url-parameters/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FReceiving URL Parameters Title.jpeg?alt=media</video:thumbnail_loc><video:title><![CDATA[Receiving URL Parameters]]></video:title><video:description><![CDATA[Explore the different ways we can send information from our URL and routing configuration into our components.]]></video:description><video:duration>270</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/touring-vue-router/building-pagination/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FBuilding Pagination Title.jpeg?alt=media</video:thumbnail_loc><video:title><![CDATA[Building Pagination]]></video:title><video:description><![CDATA[Let's use our new Vue Router skills to build simple pagination in our Vue 3 application.]]></video:description><video:duration>593</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/touring-vue-router/nested-routes/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FTitle Screen.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Nested Routes]]></video:title><video:description><![CDATA[As our applications get bigger, you may need to nest our routes to reduce duplication and keep our code organized.]]></video:description><video:duration>607</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/touring-vue-router/redirect-and-alias/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Ftitle.opt.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Redirect & Alias]]></video:title><video:description><![CDATA[URLs can change in production.  Learn how to redirect or alias new routes.]]></video:description><video:duration>353</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/touring-vue-router/programmatic-navigation/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Fprogrammatic navigation_main_opt.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Programmatic Navigation]]></video:title><video:description><![CDATA[Learn how to navigate routes programmatically rather than using the router-link component.]]></video:description><video:duration>324</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/touring-vue-router/error-handling-and-404s/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FL7 main.opt.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Error Handling and 404s]]></video:title><video:description><![CDATA[Our application needs to account for three common errors our user may encounter.]]></video:description><video:duration>485</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/touring-vue-router/flash-messages/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F8 - Flash Messages.opt.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Flash Messages]]></video:title><video:description><![CDATA[How to create temporary notifications for your users which can be displayed across your application.]]></video:description><video:duration>327</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/touring-vue-router/in-component-route-guards/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F9-InComponentRouteGuards.001.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[In-Component Route Guards]]></video:title><video:description><![CDATA[Use In-Component Route Guards to implement a progress bar in order to create a better user experience.]]></video:description><video:duration>662</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/touring-vue-router/global-and-per-route-guards/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Ftitle.001.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Global and Per-Route Guards]]></video:title><video:description><![CDATA[Learn how to use Global and Per-Route Guards to run code during Vue Router navigation.]]></video:description><video:duration>603</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/touring-vue-router/wrapping-up/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F11 - Wrapping Up.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Wrapping Up]]></video:title><video:description><![CDATA[Learn 3 key features of Vue Router in this final lesson of the course.]]></video:description><video:duration>584</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/real-world-testing/getting-started/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FRWT L1.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Getting Started]]></video:title><video:description><![CDATA[Gain confidence testing your Vue apps in this Real World Testing course]]></video:description><video:duration>89</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/real-world-testing/setup-and-testing-like-a-user/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Fexport.001.opt.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Setup & Testing like a User]]></video:title><video:description><![CDATA[Learn how to test any application like a user]]></video:description><video:duration>909</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/real-world-testing/mocking-vuex-stores/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FRWT L3 Main Image.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Mocking Vuex Stores: Part 1]]></video:title><video:description><![CDATA[Learn how to mock dependencies like Vuex and Vue Router within our tests]]></video:description><video:duration>560</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/real-world-testing/mocking-vuex-stores-part-2/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FRWT L4 IMAGE.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Mocking Vuex Stores: Part 2]]></video:title><video:description><![CDATA[We’ll continue on testing the EventList component that depends on Vuex. This includes refactoring our Vuex stores to be testable and mocking our Vuex store’s initial state.]]></video:description><video:duration>847</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/real-world-testing/mocking-the-network-with-mock-service-worker-part-1/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FRWT L5 pt1 IMAGE.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Mocking the Network with Mock Service Worker: Part 1]]></video:title><video:description><![CDATA[In this lesson, we’ll assess our strategy for testing components that make network requests.]]></video:description><video:duration>342</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/real-world-testing/mocking-the-network-with-mock-service-worker-part-2/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FRWT L5 pt2 IMAGE.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Mocking the Network with Mock Service Worker: Part 2]]></video:title><video:description><![CDATA[In this lesson, we’ll assess our strategy for testing components that make network requests.]]></video:description><video:duration>389</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/vuex-fundamentals/vuex4-intro-to-vuex/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1 - Intro to Vuex.001.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Intro to Vuex]]></video:title><video:description><![CDATA[In this course, we'll be exploring the fundamentals of Vuex: Vue's state management library.]]></video:description><video:duration>336</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/vuex-fundamentals/global-state/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F2 - Global State.001.opt.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Global State]]></video:title><video:description><![CDATA[In this lesson, we're going to implement some global state within our example application.]]></video:description><video:duration>456</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/vuex-fundamentals/updating-state/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F3 - Updating State.001.opt.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Updating State]]></video:title><video:description><![CDATA[How do we update Vuex state? Learn how to use Mutations to add new State or update State within the Vuex Store.]]></video:description><video:duration>484</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/vuex-fundamentals/fetching-state/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FVuex Fundamentals L4 Image.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Fetching State]]></video:title><video:description><![CDATA[Learn how Vuex actions can wrap your mutations to perform more complex state management behavior.]]></video:description><video:duration>811</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/vuex-fundamentals/error-handling/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FVuex Fundamentals L5 IMAGE.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Error Handling]]></video:title><video:description><![CDATA[Learn how to handle errors that might happen when dispatching Vuex actions.]]></video:description><video:duration>412</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/vuex-fundamentals/vuex-next-steps/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FVuex Fundamentals  L6 IMAGE.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Next Steps]]></video:title><video:description><![CDATA[Let's explore some of the additional Vuex features we can add to our app as it scales.]]></video:description><video:duration>150</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/unit-testing-vue-3/what-to-test-vue-3/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Funittestingvue3_opt.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[What to test]]></video:title><video:description><![CDATA[Learn about the benefits of unit testing, and what you should and shouldn't be testing in your Vue apps.]]></video:description><video:duration>278</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/unit-testing-vue-3/writing-a-unit-test-with-jest-vue-3/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Funittestingvue3_opt.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Writing a Unit Test with Jest]]></video:title><video:description><![CDATA[Write your first unit test using Jest and Vue Test Utils.]]></video:description><video:duration>605</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/unit-testing-vue-3/testing-props-and-user-interaction-vue-3/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Funittestingvue3_opt.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Testing Props & User Interaction]]></video:title><video:description><![CDATA[In this lesson, we’ll continue writing simple tests for a component that requires user interaction and takes in props.]]></video:description><video:duration>411</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/unit-testing-vue-3/testing-emitted-events-vue-3/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Funittestingvue3_opt.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Testing Emitted Events]]></video:title><video:description><![CDATA[Learn how to test that your component's custom events were emitted with the correct payload.]]></video:description><video:duration>395</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/unit-testing-vue-3/testing-api-calls-vue-3/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Funittestingvue3_opt.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Testing API Calls]]></video:title><video:description><![CDATA[Learn how to test your data-fetching components.]]></video:description><video:duration>578</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/unit-testing-vue-3/stubbing-child-components-vue-3/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Funittestingvue3_opt.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Stubbing Child Components]]></video:title><video:description><![CDATA[How do we test parent components whose children have a lot of baggage?]]></video:description><video:duration>349</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/progressive-web-apps-vue-3/what-are-progressive-web-apps/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FPWA L1.opt.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[What are progressive web apps?]]></video:title><video:description><![CDATA[Rather than having to rewrite your entire app with a mobile language like Swift or Kotlin, what if we could leverage our existing work and allow users to install our web app like a mobile app? Well, with a technology known as progressive web apps, you can!]]></video:description><video:duration>239</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/progressive-web-apps-vue-3/overview-and-setup/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FPWA L2 Main Image.001.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Overview and Setup]]></video:title><video:description><![CDATA[An overview of how TodoMVC will be enhanced with PWA]]></video:description><video:duration>208</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/progressive-web-apps-vue-3/service-workers/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FPWA L3 Main Image.001.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Service Workers]]></video:title><video:description><![CDATA[Learn what service workers are and how to use them with your progressive web apps and Vue CLI.]]></video:description><video:duration>165</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/progressive-web-apps-vue-3/manifest-json/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FPWA L4 IMAGE.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Manifest.json]]></video:title><video:description><![CDATA[Learn what manifes.json is and key configurations that are important for your progressive web apps and Vue CLI.]]></video:description><video:duration>261</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/progressive-web-apps-vue-3/offline-databases-with-indexeddb/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FPWA L5 IMAGE.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Offline Databases with IndexedDB]]></video:title><video:description><![CDATA[Learn what IndexedDB is and how it powers offline databases for PWAs with Vue 3!]]></video:description><video:duration>289</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/progressive-web-apps-vue-3/fetching-a-database-with-indexeddb/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FPWA L6 IMAGE.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Fetching a Database with IndexedDB]]></video:title><video:description><![CDATA[Learn how to fetch a database from IndexedDB with Vue 3!]]></video:description><video:duration>637</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/progressive-web-apps-vue-3/object-stores-with-indexeddb/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FL7 IMAGE.001.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Object Stores with IndexedDB]]></video:title><video:description><![CDATA[Learn how to create and access an object store in an IndexedDB database with Vue 3!]]></video:description><video:duration>449</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/progressive-web-apps-vue-3/saving-data-to-indexeddb/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FPWA 8 IMAGE.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Saving Data to IndexedDB]]></video:title><video:description><![CDATA[Learn how to save data in an object store within IndexedDB using Vue 3!]]></video:description><video:duration>482</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/progressive-web-apps-vue-3/deleting-data-from-indexeddb/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FPWA L9 IMAGE.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Deleting Data from IndexedDB]]></video:title><video:description><![CDATA[Learn how to delete data in an object store within IndexedDB using Vue 3!]]></video:description><video:duration>221</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/progressive-web-apps-vue-3/pwa-next-steps/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FPWA L10 IMAGE.001.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Next Steps]]></video:title><video:description><![CDATA[Learn what next steps lie ahead with your newfound skills with Vue 3, PWAs and IndexedDB!]]></video:description><video:duration>90</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/querying-with-graphql/intro-to-graphql/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FIntro to GraphQL 704.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Intro to GraphQL]]></video:title><video:description><![CDATA[Learn the problem with traditional REST APIs and how GraphQL solves it by offering a modern, flexible solution.]]></video:description><video:duration>282</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/querying-with-graphql/fetching-data-with-queries/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FGraphQL L2 IMAGE.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Fetching data with queries]]></video:title><video:description><![CDATA[In this lesson, we will learn how to make simple queries to fetch data from the GraphQL API, and how to work with this data in Vue components.]]></video:description><video:duration>551</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/querying-with-graphql/improving-developer-experience/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FGraphQL L3 IMAGE.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Improving Developer Experience]]></video:title><video:description><![CDATA[Now that we've made progress getting GraphQL up and running, it's a good time to pause to make some optimizations for our developer experience before we go deeper.]]></video:description><video:duration>343</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/querying-with-graphql/query-variables-handling-loading-and-errors/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FGraphQL L4 IMAGE.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Query variables, handling loading and errors]]></video:title><video:description><![CDATA[So far in this course, we have been fetching the full list of books. This was fine because our list was really short, but what if we had a thousand books and we needed to search for a certain one? For more complex queries like that, we can take advantage of GraphQL's search parameter. ]]></video:description><video:duration>413</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/querying-with-graphql/advanced-queries/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FGraphQL L5 IMAGE.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Advanced queries]]></video:title><video:description><![CDATA[In the previous lesson, we created a typeahead search by passing a parameter to the GraphQL query. However, it has a few flaws, which we will fix in this lesson using some advanced options of Apollo query.]]></video:description><video:duration>352</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/querying-with-graphql/updating-data-with-mutations/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FGraphQL L6 IMAGE.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Updating data with mutations]]></video:title><video:description><![CDATA[So far in our example app, we have only been fetching data from our GraphQL API endpoint. In this lesson, we'll learn how to modify data on our server using GraphQL. ]]></video:description><video:duration>839</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/querying-with-graphql/bonus-qa-with-natalia-tepluhina/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FGraphQL L7 IMAGE.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Bonus: Q&A with Natalia Tepluhina]]></video:title><video:description><![CDATA[In this video, Marina is sitting down with Natalia, the mind behind the course, to answer some common questions regarding using GraphQL with Vue.js.]]></video:description><video:duration>1289</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/querying-with-graphql/manual-cache-updates-and-optimistic-responses/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FGraphQL L8 IMAGE.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Manual cache updates and optimistic responses]]></video:title><video:description><![CDATA[What happens if we want to create a new entity and add it to the list? How do we handle Apollo cache changes and UI updates? We will answer all these questions in this lesson.]]></video:description><video:duration>761</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/querying-with-graphql/real-time-updates-with-subscriptions/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FGraphQL L9 IMAGE.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Real-time updates with subscriptions]]></video:title><video:description><![CDATA[In this lesson, we will learn how to handle subscriptions in your Vue application]]></video:description><video:duration>419</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/querying-with-graphql/setting-up-local-state-with-apollo-client/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FGraphQL L10 IMAGE.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Setting up local state with Apollo Client]]></video:title><video:description><![CDATA[In this lesson, we will take a look at local queries, cache updates, and cache invalidation.]]></video:description><video:duration>365</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/querying-with-graphql/modifying-local-state-with-apollo-client/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FGraphQL L11 IMAGE.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Modifying local state with Apollo Client]]></video:title><video:description><![CDATA[Let's learn how to modify local state with Apollo Client]]></video:description><video:duration>288</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/validating-vue3-forms/why-vee-validate/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FValidating Vue 3 - L1 MAIN IMAGE.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Why Vee-Validate?]]></video:title><video:description><![CDATA[Explore the main reasons why using a form validation library, specifically Vee-Validate with Vue 3, can make form validation easy and streamlined.]]></video:description><video:duration>135</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/validating-vue3-forms/validating-setting-up/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FValidating Vue 3 - L2 IMAGE.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Setting Up]]></video:title><video:description><![CDATA[Take the first steps into learning how to validate Vue 3 forms with Vee-Validate 4.0]]></video:description><video:duration>504</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/validating-vue3-forms/validating-at-form-level/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FValidating Vue 3 Forms L3 IMAGE.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Validating at form level]]></video:title><video:description><![CDATA[Learn how to set up a validation schema using vee-validate's useField method]]></video:description><video:duration>301</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/validating-vue3-forms/submitting-bigger-forms/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FValidating Vue 3 Forms L4 IMAGE.001.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Submitting bigger forms]]></video:title><video:description><![CDATA[Learn how to validate a big form with Vee-validate by leveraging the power of the useForm composition function]]></video:description><video:duration>707</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/validating-vue3-forms/using-yup-for-validations/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FValidating L5 IMAGE.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Using YUP for validations]]></video:title><video:description><![CDATA[Learn how to leverage the power of YUP's validation methods to validate your forms with Vee-validate.]]></video:description><video:duration>286</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/validating-vue3-forms/lazy-validation/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FValidating Vue 3 L6 IMAGE.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Lazy Validation]]></video:title><video:description><![CDATA[Learn how to lazy validate a field with vee-validate on a Vue 3 form]]></video:description><video:duration>302</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/lightning-fast-builds-with-vite/intro-to-vite/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FIntro to Vite 704.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Intro to Vite]]></video:title><video:description><![CDATA[Vite Creator Evan You shares why he created this modern build tool and how it's the next generation of front-end tooling.]]></video:description><video:duration>807</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/lightning-fast-builds-with-vite/css-and-debugging/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FVite L2 IMAGE.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[CSS & Debugging]]></video:title><video:description><![CDATA[Learn how Vite makes it easy to use CSS plugins, and how to debug]]></video:description><video:duration>479</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/lightning-fast-builds-with-vite/working-with-assets/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FVite L3 IMAGE.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Working with Assets]]></video:title><video:description><![CDATA[Vite makes it easy to work with both imported assets and public assets]]></video:description><video:duration>329</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/lightning-fast-builds-with-vite/getting-vite-working-with-vue/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FVite L4 IMAGE.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Getting Vite working with Vue]]></video:title><video:description><![CDATA[Vite is easy to setup with Vue and has lots of optimizations for Vue apps]]></video:description><video:duration>668</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/lightning-fast-builds-with-vite/moving-to-vite/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FVite L5 IMAGE.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Moving to Vite]]></video:title><video:description><![CDATA[There are a few things you should keep in mind when moving over an existing Vue project.]]></video:description><video:duration>363</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/typescript-friendly-vue3/introduction-to-the-script-setup-syntax/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FTypescript Vue 3 L1 IMAGE.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Introduction to the Script Setup Syntax]]></video:title><video:description><![CDATA[Version 3 of Vue promotes the Script Setup syntax, which was previously an experimental feature, and is now an officially supported one. With it, we have a simpler way to write components with the Composition API and a more elegant way of using TypeScript in our Vue apps.]]></video:description><video:duration>154</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/typescript-friendly-vue3/reactive-variables-with-type-inference/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FTypescript Friendly Vue 3 L2 IMAGE.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Reactive Variables with Type Inference]]></video:title><video:description><![CDATA[In this lesson, we'll start using TypeScript with ref() and reactive(). Type inference is a main theme when working with reactive variables. We'll go through some general patterns and caveats on creating reactive variables with/without type inference.]]></video:description><video:duration>357</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/typescript-friendly-vue3/typing-your-callback-functions/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FTypescript friendly Vue 3 L3 IMAGE.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Typing Your Callback Functions]]></video:title><video:description><![CDATA[Just like reactive variables, callback functions can also be easily inferred. In this lesson, we'll explore the various ways to use functions in TypeScript with the help of type inference.]]></video:description><video:duration>249</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/typescript-friendly-vue3/props-with-compiler-macros/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FTypescript Vue 3 L4 IMAGE.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Props with Compiler Macros]]></video:title><video:description><![CDATA[In this lesson, we'll look at the most important change in the script setup syntax, the new way of defining props and setting their default values.]]></video:description><video:duration>355</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/typescript-friendly-vue3/type-safe-emit/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FTypescript Vue 3 L5 IMAGE.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Type-Safe Emit]]></video:title><video:description><![CDATA[Just like props, emit has a total makeover in the script setup syntax. In this lesson, we'll pick up another compiler macro for working emit.]]></video:description><video:duration>281</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/typescript-friendly-vue3/vue-vs-react-framework-philosophy/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FL6 Bonus IMAGE.opt.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[(Bonus) Vue vs React: Framework Philosophy]]></video:title><video:description><![CDATA[In this bonus lesson, we'll explore the difference in design philosophy between the two popular JavaScript frameworks in regard to their TypeScript experiences.]]></video:description><video:duration>95</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/from-vuex-to-pinia/what-is-pinia/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FWhat is Pinia 704.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[What is Pinia?]]></video:title><video:description><![CDATA[Learn Vue 3’s new elegant state management library built upon the composition API]]></video:description><video:duration>136</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/from-vuex-to-pinia/why-migrate-from-vuex/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FPinia L2 IMAGE.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Why Migrate from Vuex?]]></video:title><video:description><![CDATA[Learn about the benefits of migrating from Vuex to Pinia!]]></video:description><video:duration>255</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/from-vuex-to-pinia/background-and-setup/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FPinia L3 IMAGE.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Background & Setup]]></video:title><video:description><![CDATA[Learn how to setup Pinia]]></video:description><video:duration>161</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/from-vuex-to-pinia/defining-a-store/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FPinia L4 IMAGE.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Defining a Store]]></video:title><video:description><![CDATA[Learn how to define a store with Pinia!]]></video:description><video:duration>199</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/from-vuex-to-pinia/managing-state/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FPinia L5 IMAGE.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Managing State]]></video:title><video:description><![CDATA[Learn how to manage state with Pinia!]]></video:description><video:duration>193</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/from-vuex-to-pinia/managing-getters/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FPinia L6 IMAGE.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Managing Getters]]></video:title><video:description><![CDATA[Learn how to manage getters in Pinia]]></video:description><video:duration>240</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/from-vuex-to-pinia/changing-state-with-actions/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FPinia L7 IMAGE.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Changing State with Actions]]></video:title><video:description><![CDATA[Learn how to manage state with actions in Pinia!]]></video:description><video:duration>335</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/from-vuex-to-pinia/pinia-next-steps/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FPinia L8 IMAGE.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Next Steps]]></video:title><video:description><![CDATA[Learn what resources you should keep an eye on in your Pinia journey with @bencodezen!]]></video:description><video:duration>71</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/nuxt-3-essentials/nuxt-3-overview/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FNuxt 3 Essentials L1 IMAGE.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Overview]]></video:title><video:description><![CDATA[This first lesson describes what Nuxt is and why we need it]]></video:description><video:duration>326</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/nuxt-3-essentials/installation-and-configuration/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FNuxt 3 Essentials L2 IMAGE.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Installation and Configuration]]></video:title><video:description><![CDATA[Learn how to install and configure Nuxt]]></video:description><video:duration>216</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/nuxt-3-essentials/creating-the-url-structure-for-pages/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FNuxt 3 Essentials L3 IMAGE.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Creating the URL Structure For Pages]]></video:title><video:description><![CDATA[Creating the URL structure for pages using Nuxt]]></video:description><video:duration>189</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/nuxt-3-essentials/custom-layout-and-landing-page-content/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FNuxt 3 Essentials L4 IMAGE.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Custom Layout and Landing Page Content]]></video:title><video:description><![CDATA[Learn about custom layout and landing page content with Nuxt]]></video:description><video:duration>297</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/nuxt-3-essentials/creating-the-detail-page/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FNuxt 3 Essentials L5 IMAGE.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Creating the Detail Page]]></video:title><video:description><![CDATA[We learn how to create the detail page using Nuxt]]></video:description><video:duration>134</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/nuxt-3-essentials/deployment/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FNuxt 3 Essentials L6 IMAGE.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Deployment]]></video:title><video:description><![CDATA[There are multiple options for deploying a Nuxt site, but for this course, we are going to use a popular host called Netlify.]]></video:description><video:duration>178</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/pinia-qa/pinia-qa-preview/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FPinia Q&amp;amp;A.opt.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Pinia Q&A Preview]]></video:title><video:description><![CDATA[Learn from the expert in this recording of a live Q&A with Creator of Pinia, Eduardo San Martin Morote.]]></video:description><video:duration>29</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/pinia-qa/pinia-qa/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FPinia Q&amp;amp;A IMAGE.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Pinia Q&A]]></video:title><video:description><![CDATA[Learn from the expert in this recording of a live Q&A with Creator of Pinia Eduardo San Martin Morote.]]></video:description><video:duration>3040</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/coding-better-composables/what-is-a-composable/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FWhat is a composable 704.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[What is a Composable?]]></video:title><video:description><![CDATA[Composables allow us to craft well organized, transparent, and highly reusable pieces of reactive code. They're similar to React’s Hooks.]]></video:description><video:duration>476</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/coding-better-composables/flexible-arguments/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FCodingBetterComposables L2 IMAGE.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Flexible Arguments]]></video:title><video:description><![CDATA[Learn how to use ref and unref to make your composable’s arguments even more flexible.]]></video:description><video:duration>248</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/coding-better-composables/dynamic-return-values/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FCodingBetterComposables L3 IMAGE.opt.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Dynamic Return Values]]></video:title><video:description><![CDATA[Another way we can make our composables powerful is by allowing for different return values.]]></video:description><video:duration>216</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/coding-better-composables/start-with-the-interface/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FCodingBetterComposables L4 IMAGE.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Start with the Interface]]></video:title><video:description><![CDATA[With 3 questions in mind we can write future-proof composables, and not have to make so many changes over time.]]></video:description><video:duration>336</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/coding-better-composables/async-without-await/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FCodingBetterComposables L5 IMAGE.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Async Without Await]]></video:title><video:description><![CDATA[This pattern and two VueUse composables provide a safer way to call asynchronous code from our setup method.]]></video:description><video:duration>420</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/build-a-blog-nuxt3-content/nuxt3-blog-introduction/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FBuild a Blog w:Nuxt 3 L1 IMAGE.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Introduction]]></video:title><video:description><![CDATA[Learn about Nuxt 3 and Nuxt Content v2!]]></video:description><video:duration>169</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/build-a-blog-nuxt3-content/project-overview-and-setup/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FBuild a Nuxt L2 IMAGE.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Project Overview and Setup]]></video:title><video:description><![CDATA[Learn about the project and how to setup Nuxt Content v2!]]></video:description><video:duration>212</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/build-a-blog-nuxt3-content/creating-blog-posts-with-markdown/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FBuildaNuxt L3 IMAGE.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Creating Blog Posts with Markdown]]></video:title><video:description><![CDATA[Learn how to create and manage blog posts with Markdown and Nuxt Content v2!]]></video:description><video:duration>286</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/build-a-blog-nuxt3-content/using-vue-components-in-markdown/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FBuildaNuxt L4 IMAGE.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Using Vue Components in Markdown]]></video:title><video:description><![CDATA[Learn about Vue components in Markdown with Nuxt 3 and Nuxt Content v2!]]></video:description><video:duration>254</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/build-a-blog-nuxt3-content/build-the-blog-post-list-component/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FBuildaNuxt L5 IMAGE.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Build the Blog Post List Component]]></video:title><video:description><![CDATA[Learn about how to query content and build a blog post list component with Nuxt 3 and Nuxt Content v2!]]></video:description><video:duration>554</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/build-a-blog-nuxt3-content/build-the-blog-post-detail-page/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FBuildaNuxt L6 IMAGE.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Build the Blog Post Detail Page]]></video:title><video:description><![CDATA[Learn about how to render Markdown content with Nuxt 3 and Nuxt Content v2!]]></video:description><video:duration>627</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/build-a-blog-nuxt3-content/deploying-your-blog/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FBuildaNuxt L7 IMAGE.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Deploying Your Blog]]></video:title><video:description><![CDATA[Learn about how to deploy a blog built with Nuxt 3 and Nuxt Content v2 on Netlify!]]></video:description><video:duration>306</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/build-a-blog-nuxt3-content/final-thoughts/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FBuildaNuxt L8 IMAGE.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Final Thoughts]]></video:title><video:description><![CDATA[Learn about the next steps of where to take your fundamental skills of working with Nuxt 3 and Nuxt Content v2!]]></video:description><video:duration>63</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/utility-first-css-with-tailwind/what-is-utility-first-css/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FTailwind L1 IMAGE.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[What is Utility-First CSS?]]></video:title><video:description><![CDATA[Learn how to modernize your styles with Tailwind, the popular utility-first CSS framework]]></video:description><video:duration>236</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/utility-first-css-with-tailwind/setting-up-the-project/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FTailwind L2 IMAGE.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Setting up the project]]></video:title><video:description><![CDATA[In this lesson, we’ll be setting up Tailwind for a Vue.js project]]></video:description><video:duration>194</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/utility-first-css-with-tailwind/basic-utility-classes/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FTailwind L3 IMAGE.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Basic Utility Classes]]></video:title><video:description><![CDATA[In this lesson, we'll start the refactoring with the App.vue component.]]></video:description><video:duration>345</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/utility-first-css-with-tailwind/responsive-design/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FTailwind L4 IMAGE.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Responsive Design]]></video:title><video:description><![CDATA[In this lesson, we'll refactor the ProductDisplay component with its responsive design.]]></video:description><video:duration>298</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/utility-first-css-with-tailwind/dynamic-style/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FTailwind L5 IMAGE.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Dynamic Style]]></video:title><video:description><![CDATA[The problems we're dealing with in this lesson are all related to dynamic styling with the class binding.]]></video:description><video:duration>389</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/utility-first-css-with-tailwind/customizing-tailwind/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FTailwind L6 IMAGE.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Customizing Tailwind]]></video:title><video:description><![CDATA[The color-related classes that we’re currently using are not very user-friendly, so let’s define some custom names for the colors we use.]]></video:description><video:duration>219</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/utility-first-css-with-tailwind/custom-class/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FTailwind L7 IMAGE.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Custom Class]]></video:title><video:description><![CDATA[Whenever you need something unique/specific, it's fine to create a custom class. We'll look at various approaches of create custom classes.]]></video:description><video:duration>293</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/utility-first-css-with-tailwind/code-reuse-patterns/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FTailwind L8 IMAGE.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Code-Reuse Patterns]]></video:title><video:description><![CDATA[In this lesson, we'll talk about how to extract and reuse styles without breaking the rules of the utility-first approach.]]></video:description><video:duration>289</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/pinia-fundamentals/fundamentals-what-is-pinia/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FIntro to Pinia L1 IMAGE.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[What is Pinia?]]></video:title><video:description><![CDATA[Dive into how to use Pinia, Vue’s official state management library.]]></video:description><video:duration>364</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/pinia-fundamentals/creating-our-first-store/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FPinia Fundamentals L2 IMAGE.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Creating our first store]]></video:title><video:description><![CDATA[Dive into how to use Pinia, Vue’s official state management library.]]></video:description><video:duration>229</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/pinia-fundamentals/mutating-state-with-actions/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FPinia Fundamentals L3 IMAGE.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Mutating state with Actions]]></video:title><video:description><![CDATA[Dive into how to use Pinia, Vue’s official state management library.]]></video:description><video:duration>204</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/pinia-fundamentals/reactive-properties-in-pinia/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FIntro to Pinia L4 IMAGE.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Reactive Properties in Pinia]]></video:title><video:description><![CDATA[Dive into how to use Pinia, Vue’s official state management library.]]></video:description><video:duration>194</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/pinia-fundamentals/deleting-state-from-the-store/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FIntro to Pinia L5 IMAGE.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Deleting state from the store]]></video:title><video:description><![CDATA[Dive into how to use Pinia, Vue’s official state management library.]]></video:description><video:duration>92</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/proven-pinia-patterns/pinia-patterns-intro/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FProven Pinia Patterns image.opt.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Intro]]></video:title><video:description><![CDATA[Learn the pro-level patterns you’ll want to know when using Vue’s state management library]]></video:description><video:duration>120</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/proven-pinia-patterns/when-to-use-pinia/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FProven Pinia Patterns image.opt.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[When to use Pinia]]></video:title><video:description><![CDATA[Learn how to decide when Pinia is a good choice for your application.]]></video:description><video:duration>127</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/proven-pinia-patterns/options-vs-setup-stores/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FProven Pinia Patterns image.opt.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Options vs Setup Stores]]></video:title><video:description><![CDATA[Learn about two different ways you could define and use a store - the Options store or the Setup store.]]></video:description><video:duration>149</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/proven-pinia-patterns/modular-stores/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FProven Pinia Patterns image.opt.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Modular Stores]]></video:title><video:description><![CDATA[Learn how to create stores focused around logical concerns and how to use one store inside another store.]]></video:description><video:duration>248</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/proven-pinia-patterns/accessing-state/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FProven Pinia Patterns image.opt.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Accessing State]]></video:title><video:description><![CDATA[Learn how to access state in an Options Store, a Setup Store, or from a component; bonus: how to bind store data with v-model!]]></video:description><video:duration>209</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/proven-pinia-patterns/mutating-state/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FProven Pinia Patterns image.opt.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Mutating State]]></video:title><video:description><![CDATA[Learn how to mutate state directly, with actions, or with the $patch method. Bonus: Pinia’s $reset and $onAction methods!]]></video:description><video:duration>230</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/proven-pinia-patterns/pinia-plugins/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FPinia Pattern.opt.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Pinia Plugins]]></video:title><video:description><![CDATA[Learn three useful patterns for creating plugins to add functionality to the Pinia API]]></video:description><video:duration>362</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/quick-tests-with-vitest/intro-to-vitest/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FQuick Tests with Vitest.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Intro to Vitest]]></video:title><video:description><![CDATA[In this course, we will explore Vitest, a modern unit test framework powered by Vite, with features including a built-in test runner, snapshots, code coverage, and instant watch mode. We will learn how to set up and test components, mock API calls, and transition from Jest to Vitest. Vitest removes the extra configuration needed to write unit tests, making it faster and leaner for modern web projects.]]></video:description><video:duration>131</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/quick-tests-with-vitest/writing-your-first-test/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FQuick Tests with Vitest.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Writing your first test]]></video:title><video:description><![CDATA[In this lesson, we learn how to set up and configure Vitest in a Vue app, write and run tests with Vitest, and test a demo component that displays toast notifications. The lesson includes an introduction to Vitest, instructions for installing it, and a tutorial on writing and running a simple test.]]></video:description><video:duration>342</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/quick-tests-with-vitest/testing-our-components/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FQuick Tests with Vitest.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Testing our components]]></video:title><video:description><![CDATA[In this lesson, we’re going to build out our notification component and test that it works as intended.]]></video:description><video:duration>611</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/quick-tests-with-vitest/snapshots/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FQuick Tests with Vitest.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Snapshots]]></video:title><video:description><![CDATA[Snapshot testing allows you to take a "snapshot" of the expected output of a component and compare it to the actual output produced during testing.]]></video:description><video:duration>214</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/quick-tests-with-vitest/testing-api-calls-mocking/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FQuick Tests with Vitest.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Testing API Calls (mocking)]]></video:title><video:description><![CDATA[Mocking is a technique used in software testing to simulate the behavior of objects or systems that the software being tested depends on.]]></video:description><video:duration>489</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/quick-tests-with-vitest/testing-a-page-e2e-testing/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FQuick Tests with Vitest.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Testing a Page (E2E Testing)]]></video:title><video:description><![CDATA[Writing E2E tests can help you detect bugs and issues that occur when components interact with each other that might have gone unnoticed in unit or integration testing.]]></video:description><video:duration>645</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/quick-tests-with-vitest/vitest-ui-coverage-and-jest-migration/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FQuick Tests with Vitest.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Vitest UI, Coverage & Jest Migration]]></video:title><video:description><![CDATA[Explore some extra features Vitest provides such as the Vitest UI and adding coverage to our test.]]></video:description><video:duration>301</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/vue-for-react-devs-similarities/intro-to-vue-for-react-devs/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FVue for React - Similarities L1.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Intro to Vue for React Devs]]></video:title><video:description><![CDATA[If you have experiences using React, you don't have to learn Vue.js from scratch like everyone else. You can leverage your React experience to expedite your Vue.js learning progress.]]></video:description><video:duration>136</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/vue-for-react-devs-similarities/generating-the-app/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FVue for React - Similarities L2.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Generating the app]]></video:title><video:description><![CDATA[After watching this lesson, you will know which CLI tool to use for Vue.js app development.]]></video:description><video:duration>229</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/vue-for-react-devs-similarities/creating-a-component/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FVue for React - Similarities L3.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Creating a component]]></video:title><video:description><![CDATA[After watching this lesson, you will be able to create reactive components in Vue.js.]]></video:description><video:duration>383</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/vue-for-react-devs-similarities/template-basics/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FVue for React - Similarities L4.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Template Basics]]></video:title><video:description><![CDATA[After watching this lesson, you’ll be able to use the common template directives, v-bind, v-if, and v-for, in your Vue components.]]></video:description><video:duration>402</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/vue-for-react-devs-similarities/similarities-event-handling/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FVue for React - Similarities L5.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Event Handling]]></video:title><video:description><![CDATA[After watching this lesson, you will be able to handle UI events in your Vue app.]]></video:description><video:duration>237</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/vue-for-react-devs-similarities/dynamic-and-scoped-style/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FVue for React - Similarities L6.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Dynamic and Scoped Style]]></video:title><video:description><![CDATA[After watching this lesson, you’ll be able to use v-bind to set up dynamic styles and use <style scoped> to scope your CSS within a component.]]></video:description><video:duration>248</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/firebase-with-vue3-and-vuefire/firebase-introduction/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FFirebase Foundations L1.opt.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Introduction]]></video:title><video:description><![CDATA[In this course, you'll be working on a food review app that you'll be taking to the next level by implementing a database as well as user authentication with Firebase.]]></video:description><video:duration>180</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/firebase-with-vue3-and-vuefire/firebase-fundamentals/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FFirebase with Vue 3 and VueFire L2.opt.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Firebase Fundamentals]]></video:title><video:description><![CDATA[Learn about the fundamentals of Firebase]]></video:description><video:duration>825</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/firebase-with-vue3-and-vuefire/setup-firebase-with-vue/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FFirebase Foundations L1.opt.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Setup Firebase with Vue]]></video:title><video:description><![CDATA[Learn about configuring Firebase and VueFire with Vue 3!]]></video:description><video:duration>794</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/firebase-with-vue3-and-vuefire/fetching-data-from-firebase/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FFirebase Foundations L1.opt.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Fetching Data from Firebase]]></video:title><video:description><![CDATA[Learn about fetching data with Firebase and VueFire!]]></video:description><video:duration>1002</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/firebase-with-vue3-and-vuefire/adding-data-to-firebase/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FFirebase Foundations.opt.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Adding Data to Firebase]]></video:title><video:description><![CDATA[Learn how to add new data to Firebase’s Cloud Firestore]]></video:description><video:duration>527</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/firebase-with-vue3-and-vuefire/updating-data-in-firebase/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FFirebase Foundations.opt.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Updating Data in Firebase]]></video:title><video:description><![CDATA[Learn how to update existing data on Firebase’s Cloud Firestore]]></video:description><video:duration>751</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/firebase-with-vue3-and-vuefire/deleting-data-in-firebase/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FFirebase Foundations.opt.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Deleting Data in Firebase]]></video:title><video:description><![CDATA[Learn how to delete data from Firebase’s Cloud Firestore]]></video:description><video:duration>400</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/firebase-with-vue3-and-vuefire/firebase-auth-fundamentals/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FFirebase Foundations.opt.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Firebase Auth Fundamentals]]></video:title><video:description><![CDATA[Learn the fundamentals of using Firebase Auth]]></video:description><video:duration>375</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/firebase-with-vue3-and-vuefire/registering-users-with-firebase-auth/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FFirebase Foundations.opt.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Registering Users with Firebase Auth]]></video:title><video:description><![CDATA[Learn how to create user accounts on Firebase Authentication]]></video:description><video:duration>398</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/firebase-with-vue3-and-vuefire/authenticating-users-with-firebase-auth/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FFirebase Foundations.opt.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Authenticating Users with Firebase Auth]]></video:title><video:description><![CDATA[Learn how to manage a user in Firebase Auth]]></video:description><video:duration>519</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/firebase-with-vue3-and-vuefire/deploying-your-app/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FFirebase Foundations.opt.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Deploying Your App]]></video:title><video:description><![CDATA[Learn how to deploy your Firebase and Vue 3 app]]></video:description><video:duration>859</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/firebase-with-vue3-and-vuefire/firebase-next-steps/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FFirebase Foundations.opt.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Next Steps]]></video:title><video:description><![CDATA[Here are the next steps to explore after completing Firebase with Vue 3 and VueFire]]></video:description><video:duration>145</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/vue-for-react-devs-differences/reacting-to-changes/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FVue for React Devs - Differences.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Reacting to changes]]></video:title><video:description><![CDATA[Understand how Vue’s reactive system is different from that of React.]]></video:description><video:duration>115</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/vue-for-react-devs-differences/differences-computed-properties/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FVue for React Devs - Differences.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Computed Properties]]></video:title><video:description><![CDATA[Create computed properties and run callback functions whenever a state change occurs.]]></video:description><video:duration>364</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/vue-for-react-devs-differences/props/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FVue for React Devs - Differences.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Props]]></video:title><video:description><![CDATA[Learn how to pass data from one component to another as props.]]></video:description><video:duration>298</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/vue-for-react-devs-differences/custom-events/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FVue for React Devs - Differences.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Custom Events]]></video:title><video:description><![CDATA[Send data from a child component back to its parent component by defining, emitting and listening for custom events.]]></video:description><video:duration>217</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/vue-for-react-devs-differences/two-way-data-binding/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FVue for React Devs - Differences.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Two-Way Data Binding]]></video:title><video:description><![CDATA[Learn how to create reactive form inputs in Vue.js. ]]></video:description><video:duration>174</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/vue-for-react-devs-differences/form-submission/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FVue for React Devs - Differences.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Form Submission]]></video:title><video:description><![CDATA[Learn how to listen to the form submission event and process the form data.]]></video:description><video:duration>208</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/vue-for-react-devs-differences/differences-slots/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FVue for React Devs - Differences.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Slots]]></video:title><video:description><![CDATA[Learn how to use default slot and named slots to pass templates to a child component.]]></video:description><video:duration>260</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/vue-for-react-devs-differences/differences-lifecycle-hooks/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FVue for React Devs - Differences.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Lifecycle Hooks]]></video:title><video:description><![CDATA[Learn how to use lifecycle hooks in Vue components.]]></video:description><video:duration>152</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/vue-for-react-devs-differences/creating-a-more-ambitious-composable/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FVue for React Devs - Differences.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Creating a more ambitious composable]]></video:title><video:description><![CDATA[Learn how to create composables with Vue’s reactive API.]]></video:description><video:duration>260</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/vue-for-react-devs-differences/the-journey-ahead/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FVue for React Devs - Differences.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[The Journey Ahead]]></video:title><video:description><![CDATA[Continue the Vue.js journey by taking our other premium courses.]]></video:description><video:duration>28</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/real-world-vue-3-composition-api/building-a-vue-3-app-composition-api/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FBuilding a Vue 3 App 704.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Building a Vue 3 app]]></video:title><video:description><![CDATA[Starting building a production-level app using Vue 3]]></video:description><video:duration>44</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/real-world-vue-3-composition-api/create-vue-creating-the-project/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FRWV3 Composition API L2.opt.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Create-Vue - creating the project]]></video:title><video:description><![CDATA[In this tutorial, we’ll create our project using create-vue, which is a CLI tool based on a build tool called Vite.js.]]></video:description><video:duration>321</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/real-world-vue-3-composition-api/single-file-components-composition-api/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FRWV3 Composition API L3.opt.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Single File Components]]></video:title><video:description><![CDATA[Now that we've created our project with create-vue, we're ready to start customizing it to build our own app. ]]></video:description><video:duration>783</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/real-world-vue-3-composition-api/vue-router-essentials-composition-api/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FRWV3 Composition API L4.opt.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Vue Router Essentials]]></video:title><video:description><![CDATA[Learn how to use Vue Router for app navigation]]></video:description><video:duration>515</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/real-world-vue-3-composition-api/api-calls-with-axios-composition-api/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FL5_RWV3_img.001.opt.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[API Calls with Axios]]></video:title><video:description><![CDATA[Fetching external data into our app using Axios, a popular library for performing API calls]]></video:description><video:duration>534</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/real-world-vue-3-composition-api/dynamic-routing-composition-api/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FL6RWV3.001.jpeg?alt=media</video:thumbnail_loc><video:title><![CDATA[Dynamic Routing]]></video:title><video:description><![CDATA[Implementing dynamic routing using Vue Router]]></video:description><video:duration>736</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/real-world-vue-3-composition-api/deploying-with-render-composition-api/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FL7_RWV3.001.1608051320093.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Deploying with Render]]></video:title><video:description><![CDATA[Learn how to deploy your Vue app using Render]]></video:description><video:duration>630</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/real-world-vue-3-composition-api/scaling-the-app-composition-api/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FRWV3 L8.00_00_32_20.Still001.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Scaling the app]]></video:title><video:description><![CDATA[Tour what potential next steps can be taken to scale up an app in different directions.]]></video:description><video:duration>228</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/5-elegant-ways-to-use-pinia/elegant-pinia-intro/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FElegant Pinia course.opt.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Intro]]></video:title><video:description><![CDATA[Discover how to use Pinia like a pro by watching its creator demonstrate 5 elegant ways to use Vue’s state management library.]]></video:description><video:duration>62</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/5-elegant-ways-to-use-pinia/using-the-router-within-a-store-and-vice-versa/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FElegant Pinia course.opt.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Using the Router within a Store and vice versa]]></video:title><video:description><![CDATA[Learn how to use Vue Router within a store and vice versa]]></video:description><video:duration>989</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/5-elegant-ways-to-use-pinia/using-composables-within-stores/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FElegant Pinia course.opt.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Using Composables within Stores]]></video:title><video:description><![CDATA[Learn how to use stateful functions called composables within stores in Vue.js.]]></video:description><video:duration>601</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/5-elegant-ways-to-use-pinia/splitting-stores/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FElegant Pinia course.opt.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Splitting Stores]]></video:title><video:description><![CDATA[Learn how to split a large store into multiple ones.]]></video:description><video:duration>735</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/5-elegant-ways-to-use-pinia/intercepting-actions/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FElegant Pinia course.opt.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Intercepting Actions]]></video:title><video:description><![CDATA[Learn how to intercept actions using plugins and how to trace actions and errors to improve debugging.]]></video:description><video:duration>498</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/5-elegant-ways-to-use-pinia/augmenting-store-options/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FElegant Pinia course.opt.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Augmenting Store options]]></video:title><video:description><![CDATA[Learn how to augment store options using custom options.]]></video:description><video:duration>703</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/nuxt-3-middleware/middleware-introduction/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FNuxt3Middleware.opt.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Introduction]]></video:title><video:description><![CDATA[In this course, we'll be learning about the fundamentals of middleware, exploring its various types and uses. By the end, you'll be well-equipped to handle authentication, redirection, and custom logic like a pro.]]></video:description><video:duration>111</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/nuxt-3-middleware/what-is-middleware/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FNuxt3Middleware.opt.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[What is middleware?]]></video:title><video:description><![CDATA[When it comes to middleware in Nuxt, think of it like a checkpoint that allows you to run some code before the page is rendered.]]></video:description><video:duration>193</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/nuxt-3-middleware/basic-anatomy-of-middleware/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FNuxt3Middleware.opt.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Basic anatomy of middleware]]></video:title><video:description><![CDATA[Learn about the structure of Nuxt 3 middleware and how it works.]]></video:description><video:duration>232</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/nuxt-3-middleware/inline-middleware/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FNuxt3Middleware.opt.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Inline middleware]]></video:title><video:description><![CDATA[Learn about the first type of middleware that we'll be working with - inline middleware.]]></video:description><video:duration>572</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/nuxt-3-middleware/named-middleware/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FNuxt3Middleware.opt.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Named middleware]]></video:title><video:description><![CDATA[Named middleware is defined in a separate file and can be reused across multiple pages.]]></video:description><video:duration>453</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/nuxt-3-middleware/global-middleware/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FNuxt3Middleware.opt.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Global middleware]]></video:title><video:description><![CDATA[Global middleware runs before every route in a Nuxt 3 application.]]></video:description><video:duration>235</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/nuxt-3-middleware/middleware-execution-order/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FNuxt3Middleware.opt.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Middleware execution order]]></video:title><video:description><![CDATA[Learn about the order in which middleware functions are executed.]]></video:description><video:duration>558</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/nuxt-3-middleware/middleware-error-handling/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FNuxt3Middleware.opt.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Error handling]]></video:title><video:description><![CDATA[Learn about error handling inside of middleware.]]></video:description><video:duration>306</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/nuxt-3-middleware/performance-considerations/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FNuxt3Middleware.opt.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Performance considerations]]></video:title><video:description><![CDATA[While middleware can play a vital role in our Nuxt 3 applications, it is crucial to be aware of the potential performance challenges that may arise and how we can mitigate them.]]></video:description><video:duration>161</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/nuxt-3-middleware/middleware-next-steps/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FNuxt3Middleware.opt.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Next Steps]]></video:title><video:description><![CDATA[You're now ready to leverage middleware challenges in your Nuxt 3 projects.]]></video:description><video:duration>65</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/nuxt-3-server/nuxt-3-server-introduction/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FNuxt Server.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Introduction]]></video:title><video:description><![CDATA[Learn what Nuxt 3 server is and why you should consider adding it to your toolbelt!]]></video:description><video:duration>195</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/nuxt-3-server/project-setup/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FNuxt Server.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Project Setup]]></video:title><video:description><![CDATA[In this lesson, you will learn how to set up a project for Nuxt 3 server using the Nuxt CLI tool "nuxi."]]></video:description><video:duration>230</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/nuxt-3-server/fetching-apis/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FNuxt Server.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Fetching APIs]]></video:title><video:description><![CDATA[In this lesson, we'll take a look at different patterns of fetching data from APIs with Nuxt 3.]]></video:description><video:duration>396</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/nuxt-3-server/creating-apis/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FNuxt Server.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Creating APIs]]></video:title><video:description><![CDATA[Now that you understand how to fetch data from APIs, you're ready for the first big milestone of working with Nuxt 3 server: creating your first API.]]></video:description><video:duration>620</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/nuxt-3-server/managing-api-errors/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FNuxt Server.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Managing API Errors]]></video:title><video:description><![CDATA[Learn how to manage errors in Nuxt 3 server APIs]]></video:description><video:duration>341</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/nuxt-3-server/server-routes/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FNuxt Server.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Server Routes]]></video:title><video:description><![CDATA[Learn how to create and use server routes with Nuxt 3]]></video:description><video:duration>350</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/nuxt-3-server/server-middleware/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FNuxt Server.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Server Middleware]]></video:title><video:description><![CDATA[Learn how to create and use Nuxt 3 server middleware]]></video:description><video:duration>465</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/nuxt-3-server/rendering-strategies-ssr-csr-and-more/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FNuxt Server.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Rendering Strategies (SSR, CSR and more)]]></video:title><video:description><![CDATA[Learn different strategies for rendering apps with Nuxt 3 server]]></video:description><video:duration>489</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/nuxt-3-server/nuxt-3-server-next-steps/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FNuxt Server.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Next Steps]]></video:title><video:description><![CDATA[You now have the fundamental skills to build the fullstack apps you always dreamed of making, with Nuxt 3 Server.]]></video:description><video:duration>197</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/touring-vue-router-composition-api/introduction-composition-api/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FTouring Vue Router.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[Introduction]]></video:title><video:description><![CDATA[Explore the functionality found in the Vue Router library, which allows us to create advanced navigation through our Single Page Applications using Vue.]]></video:description><video:duration>79</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/touring-vue-router-composition-api/receiving-url-parameters-composition-api/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FTouring Vue Router.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[Receiving URL Parameters]]></video:title><video:description><![CDATA[Explore the different ways we can send information from our URL and routing configuration into our components.]]></video:description><video:duration>271</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/touring-vue-router-composition-api/building-pagination-composition-api/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FTouring Vue Router.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[Building Pagination]]></video:title><video:description><![CDATA[Let's use our new Vue Router skills to build simple pagination in our Vue 3 application.]]></video:description><video:duration>567</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/touring-vue-router-composition-api/nested-routes-composition-api/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FTouring Vue Router.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[Nested Routes]]></video:title><video:description><![CDATA[As our applications get bigger, you may need to nest our routes to reduce duplication and keep our code organized.]]></video:description><video:duration>603</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/touring-vue-router-composition-api/redirect-and-alias-composition-api/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FTouring Vue Router.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[Redirect & Alias]]></video:title><video:description><![CDATA[URLs can change in production.  Learn how to redirect or alias new routes.  ]]></video:description><video:duration>352</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/touring-vue-router-composition-api/programmatic-navigation-composition-api/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FTouring Vue Router.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[Programmatic Navigation]]></video:title><video:description><![CDATA[Learn how to navigate routes programmatically rather than using the router-link component.]]></video:description><video:duration>320</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/touring-vue-router-composition-api/error-handling-and-404s-composition-api/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FTouring Vue Router.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[Error Handling and 404s]]></video:title><video:description><![CDATA[Our application needs to account for three common errors our user may encounter.]]></video:description><video:duration>481</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/touring-vue-router-composition-api/flash-messages-composition-api/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FTouring Vue Router.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[Flash Messages]]></video:title><video:description><![CDATA[How to create temporary notifications for your users which can be displayed across your application.]]></video:description><video:duration>323</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/touring-vue-router-composition-api/wrapping-up-composition-api/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FTouring Vue Router.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[Wrapping Up]]></video:title><video:description><![CDATA[Learn about key features of Vue Router in this final lesson of the course.]]></video:description><video:duration>305</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/qa-with-evan-you/what-is-your-daily-routine/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FQ&amp;amp;A with Evan You.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[What is your daily routine?]]></video:title><video:description><![CDATA[Evan answers: What does the daily routine look like for a full-time open source creator?]]></video:description><video:duration>98</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/qa-with-evan-you/who-inspires-you/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FQ&amp;amp;A with Evan You.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[Who inspires you?]]></video:title><video:description><![CDATA[Evan answers: Who inspires you?]]></video:description><video:duration>75</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/qa-with-evan-you/advice-for-becoming-a-full-time-open-source-creator/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FQ&amp;amp;A with Evan You.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[Advice for becoming a full-time open-source creator?]]></video:title><video:description><![CDATA[Evan answers: Advice for becoming a full-time open-source creator?]]></video:description><video:duration>74</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/qa-with-evan-you/how-do-you-overcome-tough-challenges/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FQ&amp;amp;A with Evan You.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[How do you overcome tough challenges?]]></video:title><video:description><![CDATA[Evan answers: How do you overcome tough challenges?]]></video:description><video:duration>113</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/qa-with-evan-you/what-is-your-next-game-changing-idea/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FQ&amp;amp;A with Evan You.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[What is your next game-changing idea?]]></video:title><video:description><![CDATA[Evan answers: What is your next game-changing idea?]]></video:description><video:duration>40</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/qa-with-evan-you/whats-your-approach-to-creating-elegant-components/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FQ&amp;amp;A with Evan You.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[What's your approach to creating elegant components?]]></video:title><video:description><![CDATA[Evan answers: What's your approach to creating elegant components?]]></video:description><video:duration>103</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/qa-with-evan-you/recommended-toolchain-for-a-solo-developer-working-alone/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FQ&amp;amp;A with Evan You.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[Recommended toolchain for a solo developer working alone?]]></video:title><video:description><![CDATA[Evan answers: Recommended toolchain for a solo developer working alone?]]></video:description><video:duration>56</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/qa-with-evan-you/what-to-consider-when-using-experimental-vue-features/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FQ&amp;amp;A with Evan You.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[What to consider when using experimental Vue features?]]></video:title><video:description><![CDATA[Evan answers: What to consider when using experimental Vue features?]]></video:description><video:duration>173</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/qa-with-evan-you/will-there-be-a-dedicated-mobile-solution/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FQ&amp;amp;A with Evan You.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[Will there be a dedicated mobile solution?]]></video:title><video:description><![CDATA[Evan answers: Will there be a dedicated mobile solution?]]></video:description><video:duration>74</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/qa-with-evan-you/what-is-your-vision-for-vue-4/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FQ&amp;amp;A with Evan You.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[What is your vision for Vue 4?]]></video:title><video:description><![CDATA[Evan answers: What is your vision for Vue 4?]]></video:description><video:duration>161</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/qa-with-evan-you/how-can-vues-longevity-be-assured/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FQ&amp;amp;A with Evan You.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[How can Vue's longevity be assured?]]></video:title><video:description><![CDATA[Evan answers: How can Vue's longevity be assured?]]></video:description><video:duration>162</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/qa-with-evan-you/how-to-prevent-vue-from-becoming-overcomplicated/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FQ&amp;amp;A with Evan You.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[How to prevent Vue from becoming overcomplicated?]]></video:title><video:description><![CDATA[Evan answers: How to prevent Vue from becoming overcomplicated?]]></video:description><video:duration>153</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/qa-with-evan-you/how-does-the-team-maintain-backwards-compatibility/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FQ&amp;amp;A with Evan You.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[How does the team maintain backwards compatibility?]]></video:title><video:description><![CDATA[Evan answers: How does the team maintain backwards compatibility?]]></video:description><video:duration>121</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/qa-with-evan-you/how-can-we-help-increase-adoption-of-vue-in-companies/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FQ&amp;amp;A with Evan You.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[How can we help increase adoption of Vue in companies?]]></video:title><video:description><![CDATA[Evan answers: How can we help increase adoption of Vue in companies?]]></video:description><video:duration>176</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/qa-with-evan-you/will-vue-become-compile-only-like-svelte/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FQ&amp;amp;A with Evan You.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[Will Vue become compile-only like Svelte?]]></video:title><video:description><![CDATA[Evan answers: Will Vue become compile-only like Svelte?]]></video:description><video:duration>96</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/qa-with-evan-you/what-about-react-server-components-for-vue/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FQ&amp;amp;A with Evan You.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[What about React Server Components for Vue?]]></video:title><video:description><![CDATA[Evan answers: What about React Server Components for Vue?]]></video:description><video:duration>88</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/qa-with-evan-you/how-does-the-javascript-ecosystem-influence-vues-direction/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FQ&amp;amp;A with Evan You.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[How does the JavaScript ecosystem influence Vue's direction?]]></video:title><video:description><![CDATA[Evan answers: How does the JavaScript ecosystem influence Vue's direction?]]></video:description><video:duration>182</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/qa-with-evan-you/what-advice-for-aspiring-developers/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FQ&amp;amp;A with Evan You.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[What advice for aspiring developers?]]></video:title><video:description><![CDATA[Evan answers: What advice for aspiring developers?]]></video:description><video:duration>111</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/qa-with-evan-you/how-can-people-help-support-you-and-the-vue-project/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FQ&amp;amp;A with Evan You.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[How can people help support you and the Vue Project?]]></video:title><video:description><![CDATA[Evan answers: How can people help support you and the Vue Project?]]></video:description><video:duration>125</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/programming-an-ai-powered-app/ai-powered-app-introduction/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FProgramming an AI-Powered App.1693442973876.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[Introduction]]></video:title><video:description><![CDATA[Throughout this course, you’ll learn the skills and techniques needed to create a truly intelligent application that can interact with users, understand natural language, process audio inputs, and even analyze images.]]></video:description><video:duration>232</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/programming-an-ai-powered-app/openais-chat-completion-api/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FProgramming an AI-Powered App.1693442973876.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[OpenAI's Chat Completion API]]></video:title><video:description><![CDATA[Dive into OpenAI's Chat Completion API, a tool that can enhance your web projects with the power of AI.]]></video:description><video:duration>389</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/programming-an-ai-powered-app/analyze-text-feature/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FProgramming an AI-Powered App.1693442973876.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[Analyze Text Feature]]></video:title><video:description><![CDATA[In this lesson, we’ll build the Analyze Text feature using Vue on the frontend, and a Node express server on the backend.]]></video:description><video:duration>457</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/programming-an-ai-powered-app/tokenize-a-string/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FProgramming an AI-Powered App.1693442973876.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[Tokenize a String]]></video:title><video:description><![CDATA[Learn how to tokenize a string using the 'gpt-3-encoder' Node package, which will help determine the token count before sending a request to OpenAI's API.]]></video:description><video:duration>347</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/programming-an-ai-powered-app/transcribe-audio-with-deepgrams-speech-to-text-api/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FProgramming an AI-Powered App.1693442973876.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[Transcribe Audio with Deepgram’s Speech-to-Text API]]></video:title><video:description><![CDATA[We’ll build a feature that allows us to use the power of AI to analyze an audio file]]></video:description><video:duration>513</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/programming-an-ai-powered-app/analyze-audio-feature/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FProgramming an AI-Powered App.1693442973876.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[Analyze Audio Feature]]></video:title><video:description><![CDATA[We’ll continue to explore what OpenAI’s chat completion models can do and we’ll finish building our Analyze Audio feature so we can ask OpenAI questions about audio files.]]></video:description><video:duration>216</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/programming-an-ai-powered-app/introduction-to-langchain/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FProgramming an AI-Powered App.1693442973876.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[Introduction to LangChain]]></video:title><video:description><![CDATA[We’ll learn about LangChain, an amazing tool that we can use to give the AI model “memory”, so the interaction doesn’t just feel like a back and forth conversation where both parties remember the entire conversation…. it is one!]]></video:description><video:duration>423</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/programming-an-ai-powered-app/analyze-image-feature/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FProgramming an AI-Powered App.1693442973876.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[Analyze Image Feature]]></video:title><video:description><![CDATA[Learn about the Replicate API, which allows us to incorporate AI models into our applications without needing to understand machine learning intricacies.]]></video:description><video:duration>289</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/programming-an-ai-powered-app/langchain-and-replicate/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FProgramming an AI-Powered App.1693442973876.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[Langchain and Replicate]]></video:title><video:description><![CDATA[learn how to integrate Langchain with Replicate to enhance our app's Analyze Image feature.]]></video:description><video:duration>237</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/easy-interfaces-with-vuetify/intro-to-vuetify/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FEasy Interfaces with Vuetify.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[Intro to Vuetify]]></video:title><video:description><![CDATA[Explore Vuetify 3, the latest version of Vuetify, and learn how you can use it to rapidly build intuitive and accessible interfaces easily.]]></video:description><video:duration>146</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/easy-interfaces-with-vuetify/understanding-key-vuetify-concepts/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FEasy Interfaces with Vuetify.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[Understanding Key Vuetify concepts]]></video:title><video:description><![CDATA[Explore Vuetify 3, the latest version of Vuetify, and learn how you can use it to rapidly build intuitive and accessible interfaces easily.]]></video:description><video:duration>822</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/easy-interfaces-with-vuetify/building-the-x-clone-core-ui-elements/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FEasy Interfaces with Vuetify.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[Building the X Clone: Core UI Elements]]></video:title><video:description><![CDATA[Explore Vuetify 3, the latest version of Vuetify, and learn how you can use it to rapidly build intuitive and accessible interfaces easily.]]></video:description><video:duration>686</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/easy-interfaces-with-vuetify/building-the-x-clone-adding-tabs/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FEasy Interfaces with Vuetify.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[Building the X Clone: Adding Tabs]]></video:title><video:description><![CDATA[Explore Vuetify 3, the latest version of Vuetify, and learn how you can use it to rapidly build intuitive and accessible interfaces easily.]]></video:description><video:duration>513</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/easy-interfaces-with-vuetify/building-the-x-clone-infinite-scroll/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FEasy Interfaces with Vuetify.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[Building the X Clone: Infinite Scroll]]></video:title><video:description><![CDATA[Explore Vuetify 3, the latest version of Vuetify, and learn how you can use it to rapidly build intuitive and accessible interfaces easily.]]></video:description><video:duration>576</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/easy-interfaces-with-vuetify/bonus-vuetify-tips-and-whats-to-come/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FEasy Interfaces with Vuetify.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[Bonus: Vuetify Tips and what’s to come]]></video:title><video:description><![CDATA[Explore Vuetify 3, the latest version of Vuetify, and learn how you can use it to rapidly build intuitive and accessible interfaces easily.]]></video:description><video:duration>327</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/pro-nuxt-workflow/pro-nuxt-workflow-intro/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FPro Nuxt Workflow.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[Pro Nuxt Workflow Intro]]></video:title><video:description><![CDATA[The Nuxt ecosystem is full of tools to boost your productivity. Level up your workflow by learning how take advantage of them.]]></video:description><video:duration>90</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/pro-nuxt-workflow/performance-optimizations/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FPro Nuxt Workflow.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[Performance Optimizations]]></video:title><video:description><![CDATA[The Nuxt ecosystem is full of tools to boost your productivity. Level up your workflow by learning how take advantage of them.]]></video:description><video:duration>451</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/pro-nuxt-workflow/pro-nuxt-middleware/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FPro Nuxt Workflow.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[Nuxt Middleware]]></video:title><video:description><![CDATA[The Nuxt ecosystem is full of tools to boost your productivity. Level up your workflow by learning how take advantage of them.]]></video:description><video:duration>481</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/pro-nuxt-workflow/pro-nuxt-nitro/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FPro Nuxt Workflow.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[Nuxt Nitro]]></video:title><video:description><![CDATA[The Nuxt ecosystem is full of tools to boost your productivity. Level up your workflow by learning how take advantage of them.]]></video:description><video:duration>498</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/pro-nuxt-workflow/pro-nuxt-ui/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FPro Nuxt Workflow.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[Nuxt UI]]></video:title><video:description><![CDATA[The Nuxt ecosystem is full of tools to boost your productivity. Level up your workflow by learning how take advantage of them.]]></video:description><video:duration>584</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/pro-nuxt-workflow/pro-nuxt-content/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FPro Nuxt Workflow.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[Nuxt Content]]></video:title><video:description><![CDATA[The Nuxt ecosystem is full of tools to boost your productivity. Level up your workflow by learning how take advantage of them.]]></video:description><video:duration>290</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/pro-nuxt-workflow/pro-nuxt-studio/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FPro Nuxt Workflow.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[Nuxt Studio]]></video:title><video:description><![CDATA[The Nuxt ecosystem is full of tools to boost your productivity. Level up your workflow by learning how take advantage of them.]]></video:description><video:duration>303</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/pro-nuxt-workflow/pro-nuxt-devtools/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FPro Nuxt Workflow.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[Nuxt Devtools]]></video:title><video:description><![CDATA[The Nuxt ecosystem is full of tools to boost your productivity. Level up your workflow by learning how take advantage of them.]]></video:description><video:duration>432</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/real-world-nuxt-3/intro/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FReal World Nuxt 3.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[Intro]]></video:title><video:description><![CDATA[This hands-on course teaches how to build web apps using Nuxt.js]]></video:description><video:duration>223</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/real-world-nuxt-3/server-side-rendering/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FReal World Nuxt 3.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[Server-Side Rendering]]></video:title><video:description><![CDATA[This hands-on course teaches how to build web apps using Nuxt.js]]></video:description><video:duration>422</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/real-world-nuxt-3/client-side-interactivity/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FReal World Nuxt 3.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[Client-Side Interactivity]]></video:title><video:description><![CDATA[This lesson focuses on client-side interactivity in a Nuxt.js app.]]></video:description><video:duration>349</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/real-world-nuxt-3/routing/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FReal World Nuxt 3.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[Routing]]></video:title><video:description><![CDATA[Learn about the Nuxt.js file-based routing system]]></video:description><video:duration>522</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/real-world-nuxt-3/layout/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FReal World Nuxt 3.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[Layout]]></video:title><video:description><![CDATA[In this lesson, we’ll learn about the Layout system of Nuxt.js and create a navigation bar as part of the app layout.]]></video:description><video:duration>354</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/real-world-nuxt-3/layout-with-usestate/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FReal World Nuxt 3.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[Layout with useState]]></video:title><video:description><![CDATA[In this lesson, we’re going to create a second layout for the Category Page and the Post Details Page.]]></video:description><video:duration>547</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/real-world-nuxt-3/rendering-modes/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FReal World Nuxt 3.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[Rendering Modes]]></video:title><video:description><![CDATA[Learn about the various modes that a Nuxt app can be rendered in.]]></video:description><video:duration>483</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/build-a-trello-clone-w-nuxt-3/trello-clone-nuxt-introduction/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FBuild a Trello Clone w: Nuxt 3.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[Introduction]]></video:title><video:description><![CDATA[Ben Hong teaches how to create a Trello clone from scratch using Nuxt 3]]></video:description><video:duration>188</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/build-a-trello-clone-w-nuxt-3/trello-project-setup/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FBuild a Trello Clone w: Nuxt 3.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[Project Setup]]></video:title><video:description><![CDATA[Setup your Trello clone project]]></video:description><video:duration>946</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/build-a-trello-clone-w-nuxt-3/building-the-ui/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FBuild a Trello Clone w: Nuxt 3.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[Building the UI]]></video:title><video:description><![CDATA[Build the UI for your Trello Clone]]></video:description><video:duration>629</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/build-a-trello-clone-w-nuxt-3/crud-for-columns/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FBuild a Trello Clone w: Nuxt 3.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[CRUD for Columns]]></video:title><video:description><![CDATA[Learn to manage columns in your Trello clone]]></video:description><video:duration>1404</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/build-a-trello-clone-w-nuxt-3/display-task-route-in-modal/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FBuild a Trello Clone w: Nuxt 3.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[Display Task Route in Modal]]></video:title><video:description><![CDATA[Learn how to display Task Route in Modal]]></video:description><video:duration>961</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/build-a-trello-clone-w-nuxt-3/crud-for-tasks/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FBuild a Trello Clone w: Nuxt 3.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[CRUD for Tasks]]></video:title><video:description><![CDATA[Learn how to use CRUD for tasks]]></video:description><video:duration>1010</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/build-a-trello-clone-w-nuxt-3/nuxt-drag-and-drop-tasks/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FBuild a Trello Clone w: Nuxt 3.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[Drag and Drop Tasks]]></video:title><video:description><![CDATA[Learn how to create drag and drop tasks]]></video:description><video:duration>1247</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/build-a-trello-clone-w-nuxt-3/drag-and-drop-columns/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FBuild a Trello Clone w: Nuxt 3.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[Drag and Drop Columns]]></video:title><video:description><![CDATA[Learn how to create drag and drop columns]]></video:description><video:duration>635</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/build-a-trello-clone-w-nuxt-3/refine-drag-and-drop-for-tasks/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FBuild a Trello Clone w: Nuxt 3.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[Refine Drag and Drop for Tasks]]></video:title><video:description><![CDATA[Learn how to refine drag and drop for tasks]]></video:description><video:duration>368</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/build-a-trello-clone-w-nuxt-3/bonus-with-next-steps/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FBuild a Trello Clone w: Nuxt 3.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[Bonus with Next Steps]]></video:title><video:description><![CDATA[Learn how to add more Nuxt UI elements to enhance the UX]]></video:description><video:duration>561</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/rendering-revealed/rendering-revealed-preview/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FRendering Revealed.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[Rendering Revealed Preview]]></video:title><video:description><![CDATA[Gain clarity on Vue + Nuxt app rendering modes and the best fit for your project's needs, performance demands, and user experience.]]></video:description><video:duration>39</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/rendering-revealed/rendering-revealed/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FRendering Revealed.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[Rendering Revealed]]></video:title><video:description><![CDATA[Gain clarity on Vue + Nuxt app rendering modes and the best fit for your project's needs, performance demands, and user experience.]]></video:description><video:duration>1056</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/nuxt-api-routes/api-routes-introduction/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FNuxt API Routes.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[Introduction]]></video:title><video:description><![CDATA[Learn how to use Nuxt API routes to handle server-side logic directly within your Nuxt application.]]></video:description><video:duration>219</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/nuxt-api-routes/api-routes/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FNuxt API Routes.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[API Routes]]></video:title><video:description><![CDATA[Learn how to use Nuxt API routes to handle server-side logic directly within your Nuxt application.]]></video:description><video:duration>294</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/nuxt-api-routes/nuxt-server-routes/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FNuxt API Routes.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[Server Routes]]></video:title><video:description><![CDATA[Learn how to use Nuxt API routes to handle server-side logic directly within your Nuxt application.]]></video:description><video:duration>285</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/nuxt-api-routes/restful-routes/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FNuxt API Routes.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[RESTful Routes]]></video:title><video:description><![CDATA[Learn how to use Nuxt API routes to handle server-side logic directly within your Nuxt application.]]></video:description><video:duration>305</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/nuxt-api-routes/mutation-flow/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FNuxt API Routes.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[Mutation Flow]]></video:title><video:description><![CDATA[Learn how to use Nuxt API routes to handle server-side logic directly within your Nuxt application.]]></video:description><video:duration>544</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/nuxt-authentication/nuxt-auth-introduction/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FNuxt Authentication.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[Introduction]]></video:title><video:description><![CDATA[Learn the essential patterns of SSR authentication for Nuxt.js apps]]></video:description><video:duration>237</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/nuxt-authentication/the-authentication-flow/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FNuxt Authentication.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[The Authentication Flow]]></video:title><video:description><![CDATA[Learn the essential patterns of SSR authentication for Nuxt.js apps]]></video:description><video:duration>313</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/nuxt-authentication/nuxt-auth-server-side-routes/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FNuxt Authentication.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[Server-Side Routes]]></video:title><video:description><![CDATA[Learn the essential patterns of SSR authentication for Nuxt.js apps]]></video:description><video:duration>906</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/nuxt-authentication/nuxt-auth-client-side-pages/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FNuxt Authentication.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[Client-Side Pages]]></video:title><video:description><![CDATA[Learn the essential patterns of SSR authentication for Nuxt.js apps]]></video:description><video:duration>602</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/nuxt-authentication/handling-invalid-session/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FNuxt Authentication.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[Handling Invalid Session]]></video:title><video:description><![CDATA[Learn the essential patterns of SSR authentication for Nuxt.js apps]]></video:description><video:duration>483</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/nuxt-authentication/csrf/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FNuxt Authentication.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[CSRF]]></video:title><video:description><![CDATA[Learn the essential patterns of SSR authentication for Nuxt.js apps]]></video:description><video:duration>689</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/nuxt-authentication/stateful-vs-stateless/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FNuxt Authentication.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[Stateful vs Stateless]]></video:title><video:description><![CDATA[Learn the essential patterns of SSR authentication for Nuxt.js apps]]></video:description><video:duration>603</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/modern-vue/modern-vue-intro/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FModern Vue.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[Introduction]]></video:title><video:description><![CDATA[Keep up with the latest syntax and features of Vue’s evolving landscape.]]></video:description><video:duration>33</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/modern-vue/vue-3-5-reactive-props-destructure/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FModern Vue.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[Vue 3.5 Reactive Props Destructure]]></video:title><video:description><![CDATA[Keep up with the latest syntax and features of Vue’s evolving landscape.]]></video:description><video:duration>97</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/modern-vue/vue-3-5-allow-hydration-mismatch/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FModern Vue.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[Vue 3.5 Allow Hydration Mismatch]]></video:title><video:description><![CDATA[Keep up with the latest syntax and features of Vue’s evolving landscape.]]></video:description><video:duration>122</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/modern-vue/vue-3-5-lazy-hydration/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FModern Vue.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[Vue 3.5 Lazy Hydration]]></video:title><video:description><![CDATA[Keep up with the latest syntax and features of Vue’s evolving landscape.]]></video:description><video:duration>225</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/modern-vue/vue-3-5-usetemplateref/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FModern Vue.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[Vue 3.5 useTemplateRef]]></video:title><video:description><![CDATA[Keep up with the latest syntax and features of Vue’s evolving landscape.]]></video:description><video:duration>82</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/modern-vue/vue-3-4-definemodel/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FModern Vue.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[Vue 3.4 defineModel]]></video:title><video:description><![CDATA[Keep up with the latest syntax and features of Vue’s evolving landscape.]]></video:description><video:duration>242</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/modern-vue/vue-3-4-v-bind-same-name-shorthand/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FModern Vue.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[Vue 3.4 v-bind same-name shorthand]]></video:title><video:description><![CDATA[Keep up with the latest syntax and features of Vue’s evolving landscape.]]></video:description><video:duration>52</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/modern-vue/vue-3-3-typescript-upgrades-for-macro/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FModern Vue.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[Vue 3.3 TypeScript Upgrades for Macro]]></video:title><video:description><![CDATA[Keep up with the latest syntax and features of Vue’s evolving landscape.]]></video:description><video:duration>167</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/modern-vue/vue-3-3-generic-component/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FModern Vue.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[Vue 3.3 Generic Component]]></video:title><video:description><![CDATA[Keep up with the latest syntax and features of Vue’s evolving landscape.]]></video:description><video:duration>169</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/modern-vue/vue-3-3-defineoptions/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FModern Vue.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[Vue 3.3 defineOptions]]></video:title><video:description><![CDATA[Keep up with the latest syntax and features of Vue’s evolving landscape.]]></video:description><video:duration>41</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/modern-vue/vue-3-2-%3Cstyle%3E-v-bind/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FModern Vue.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[Vue 3.2 <style> v-bind]]></video:title><video:description><![CDATA[Keep up with the latest syntax and features of Vue’s evolving landscape.]]></video:description><video:duration>69</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/modern-vue/vue-3-2-%3Cscript-setup%3E/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FModern Vue.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[Vue 3.2 <script setup>]]></video:title><video:description><![CDATA[Keep up with the latest syntax and features of Vue’s evolving landscape.]]></video:description><video:duration>254</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/proven-component-patterns/patterns-introduction/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FProven Component Patterns.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[Introduction]]></video:title><video:description><![CDATA[Explore the best practices that ensure you’re building reliable, scalable, maintainable components.]]></video:description><video:duration>92</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/proven-component-patterns/configuration-vs-composition/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FProven Component Patterns.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[Configuration vs Composition]]></video:title><video:description><![CDATA[Explore the best practices that ensure you’re building reliable, scalable, maintainable components.]]></video:description><video:duration>600</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/proven-component-patterns/vendor-wrapper-pattern/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FProven Component Patterns.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[Vendor Wrapper Pattern]]></video:title><video:description><![CDATA[Explore the best practices that ensure you’re building reliable, scalable, maintainable components.]]></video:description><video:duration>272</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/proven-component-patterns/transparent-component-pattern/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FProven Component Patterns.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[Transparent Component Pattern]]></video:title><video:description><![CDATA[Explore the best practices that ensure you’re building reliable, scalable, maintainable components.]]></video:description><video:duration>250</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/proven-component-patterns/dynamic-component-pattern/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FProven Component Patterns.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[Dynamic Component Pattern]]></video:title><video:description><![CDATA[Explore the best practices that ensure you’re building reliable, scalable, maintainable components.]]></video:description><video:duration>334</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/proven-component-patterns/provider-component-pattern/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FProven Component Patterns.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[Provider Component Pattern]]></video:title><video:description><![CDATA[Explore the best practices that ensure you’re building reliable, scalable, maintainable components.]]></video:description><video:duration>352</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/proven-component-patterns/logic-reusability-composition/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FProven Component Patterns.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[Logic Reusability & Composition]]></video:title><video:description><![CDATA[Explore the best practices that ensure you’re building reliable, scalable, maintainable components.]]></video:description><video:duration>618</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/proven-component-patterns/component-organization/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FProven Component Patterns.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[Component Organization]]></video:title><video:description><![CDATA[Explore the best practices that ensure you’re building reliable, scalable, maintainable components.]]></video:description><video:duration>274</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/proven-component-patterns/when-to-refactor-components/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FProven Component Patterns.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[When to Refactor Components]]></video:title><video:description><![CDATA[Explore the best practices that ensure you’re building reliable, scalable, maintainable components.]]></video:description><video:duration>275</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/proven-component-patterns/patterns-closing-thoughts/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FProven Component Patterns.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[Closing Thoughts]]></video:title><video:description><![CDATA[Explore the best practices that ensure you’re building reliable, scalable, maintainable components.]]></video:description><video:duration>55</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/reaching-and-teaching-developers/reaching-and-teaching-developers/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Freach and teach developers.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[Reaching & Teaching Developers]]></video:title><video:description><![CDATA[For developer advocates, open source authors, and managers: learn how to attract, educate, and build a developer community around your project.]]></video:description><video:duration>972</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/intro-to-vue-3-comp-api/introduction-comp-api/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FIntro to Vue 3.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[Introduction]]></video:title><video:description><![CDATA[Discover the fundamentals of Vue.js and build your first app with practical coding challenges in this comprehensive course.]]></video:description><video:duration>93</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/intro-to-vue-3-comp-api/project-setup-comp-api/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FIntro to Vue 3.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[Project Setup]]></video:title><video:description><![CDATA[Discover the fundamentals of Vue.js and build your first app with practical coding challenges in this comprehensive course.]]></video:description><video:duration>463</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/intro-to-vue-3-comp-api/attribute-binding-comp-api/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FIntro to Vue 3.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[Attribute Binding]]></video:title><video:description><![CDATA[Discover the fundamentals of Vue.js and build your first app with practical coding challenges in this comprehensive course.]]></video:description><video:duration>240</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/intro-to-vue-3-comp-api/conditional-rendering-comp-api/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FIntro to Vue 3.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[Conditional Rendering]]></video:title><video:description><![CDATA[Discover the fundamentals of Vue.js and build your first app with practical coding challenges in this comprehensive course.]]></video:description><video:duration>299</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/intro-to-vue-3-comp-api/list-rendering-comp-api/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FIntro to Vue 3.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[List Rendering]]></video:title><video:description><![CDATA[Discover the fundamentals of Vue.js and build your first app with practical coding challenges in this comprehensive course.]]></video:description><video:duration>201</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/intro-to-vue-3-comp-api/event-handling-comp-api/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FIntro to Vue 3.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[Event Handling]]></video:title><video:description><![CDATA[Discover the fundamentals of Vue.js and build your first app with practical coding challenges in this comprehensive course.]]></video:description><video:duration>285</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/intro-to-vue-3-comp-api/class-and-style-binding-comp-api/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FIntro to Vue 3.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[Class & Style Binding]]></video:title><video:description><![CDATA[Discover the fundamentals of Vue.js and build your first app with practical coding challenges in this comprehensive course.]]></video:description><video:duration>378</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/intro-to-vue-3-comp-api/computed-properties-comp-api/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FIntro to Vue 3.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[Computed Properties]]></video:title><video:description><![CDATA[Discover the fundamentals of Vue.js and build your first app with practical coding challenges in this comprehensive course.]]></video:description><video:duration>374</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/intro-to-vue-3-comp-api/components-and-props-comp-api/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FIntro to Vue 3.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[Components & Props]]></video:title><video:description><![CDATA[Discover the fundamentals of Vue.js and build your first app with practical coding challenges in this comprehensive course.]]></video:description><video:duration>343</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/intro-to-vue-3-comp-api/communicating-events-comp-api/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FIntro to Vue 3.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[Communicating Events]]></video:title><video:description><![CDATA[Discover the fundamentals of Vue.js and build your first app with practical coding challenges in this comprehensive course.]]></video:description><video:duration>235</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/intro-to-vue-3-comp-api/forms-and-v-model-comp-api/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FIntro to Vue 3.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[Forms & v-model]]></video:title><video:description><![CDATA[Discover the fundamentals of Vue.js and build your first app with practical coding challenges in this comprehensive course.]]></video:description><video:duration>492</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/top-ai-tools-for-developers/top-ai-tools-for-developers/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FTop AI Tools for Developers.1751041444259.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[Top AI Tools for Developers]]></video:title><video:description><![CDATA[Explore top AI tools for developers to enhance productivity, streamline workflows, and leverage AI for coding, debugging, and prototyping.]]></video:description><video:duration>1122</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/caching-with-tanstack-vue-query/querying-and-caching/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FTanStack Vue Query.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[Querying and Caching]]></video:title><video:description><![CDATA[Learn to use TanStack Vue Query to fetch and cache server data in Vue apps.]]></video:description><video:duration>485</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/caching-with-tanstack-vue-query/query-options/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FTanStack Vue Query.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[Query Options]]></video:title><video:description><![CDATA[Learn to use TanStack Vue Query to fetch and cache server data in Vue apps.]]></video:description><video:duration>147</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/caching-with-tanstack-vue-query/mutations/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FTanStack Vue Query.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[Mutations]]></video:title><video:description><![CDATA[Learn to use TanStack Vue Query to fetch and cache server data in Vue apps.]]></video:description><video:duration>261</video:duration></video:video></url><url><loc>https://www.vuemastery.com/courses/caching-with-tanstack-vue-query/optimistic-update/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FTanStack Vue Query.webp?alt=media</video:thumbnail_loc><video:title><![CDATA[Optimistic Update]]></video:title><video:description><![CDATA[Learn to use TanStack Vue Query to fetch and cache server data in Vue apps.]]></video:description><video:duration>223</video:duration></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2018/</loc></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2018/opening-keynote-evan-you/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1521782081230_499550.jpeg?alt=media</video:thumbnail_loc><video:title><![CDATA[State of Vue]]></video:title><video:description><![CDATA[The creator of Vue kicked off the first VueConf.US by talking about the growth of Vue, recent project releases, the maturing eco-system, the Vue-Loader rewrite, Vue CLI 3, upcoming releases of Vue.js, and initiatives to improve the stability and evolution of the library.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2018/how-we-do-vue-at-gitLab-jacob-schatz/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1521712278651_sNoaaOgK_400x400.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[How We Do Vue At GitLab]]></video:title><video:description><![CDATA[We talk about what we've learned in 1 year of using Vue in production. How we mix in Vuex, webpack, and other tools. How we write tons of code and get from idea to production so quickly using VueJS as our workhorse. How we get crap done at GitLab.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2018/vue-in-motion-rachel-nabors/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1521712831947_ibha3cYB_400x400.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Vue in Motion]]></video:title><video:description><![CDATA[Learning a JavaScript framework can look intimidating if you come from a traditional design background. But Vue has some of the best features for designing with motion. Come see how to translate your motion design into Vue-powered prototypes!]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2018/testing-vue-apps-edd-yerburgh/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1521712897108_gYYdG3fP_400x400.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Testing Vue apps]]></video:title><video:description><![CDATA[In this talk Ed explains how to structure a test suite, and how to write effective unit tests for Vue components.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2018/serverless-functions-and-vue-sarah-drasner/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1521713005055_lNnUddRP_400x400.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Serverless Functions and Vue.js]]></video:title><video:description><![CDATA[We’ll cover key use cases for these functions within a Vue.js application: we’ll accept payments with stripe, we’ll gather geolocation data from Google Maps, and more! Making it work with Vue and Nuxt and simplifying how to leverage this paradigm to be a workhorse for your application.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2018/vue-rx-john-lindquist/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1521713075805_AAUl7IJ3_400x400.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[vue-rx]]></video:title><video:description><![CDATA[Vue.js ships with a built-in reactive system to help easily manage data and state throughout your app, but RxJS streams allow you to control complex async situations through streams. This lecture will cover how Vue.js integrates with RxJS and walks through the common problems taking this approach can solve.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2018/create-an-engaging-native-mobile-app-with-vue-and-nativeScript-jen-looper/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1521713146314_7a2730fc6fd826ace7f1ce9bcabee05b_400x400.jpeg?alt=media</video:thumbnail_loc><video:title><![CDATA[Create an Engaging Native Mobile App with Vue and NativeScript]]></video:title><video:description><![CDATA[Need a mobile app to offer different, yet complimentary functionality, while retaining shared code between your website and mobile app? Welcome to the beautiful world of Vue and NativeScript, which, paired together make for a great user experience.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2018/7-secret-patterns-vue-consultants-dont-want-you-to-know-chris-fritz/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1521713215972_rMSXLIWW_400x400.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[7 secret patterns Vue consultants don't want you to know]]></video:title><video:description><![CDATA[As a Vue consultant and member of the core team, Chris will share some of the lesser-known features and patterns you can use to improve your apps and amaze your colleagues.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2018/agile-design-systems-in-vue-miriam-suzanne/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1521713294928_qhL5tFpp_400x400.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Agile Design Systems in Vue]]></video:title><video:description><![CDATA[Style Guides & Pattern Libraries are great tools. Without dedicated teams and budgets to build a centralized system, how can we build patterns into our code, using Vue components and pre-processors to iterate and automate a design system in an agile process?]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2018/vue-and-typescript-up-and-running-daniel-rosenwasser/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1521713387027_VRXEjlf1_400x400.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Vue & TypeScript: Up and Running]]></video:title><video:description><![CDATA[One of TypeScript's goals is to make sure that JavaScript users of all communities can use the language. Over the last year, the TypeScript team has put effort in to making TypeScript & Vue work together much more seamlessly. Come find out a bit about that work, and how you can benefit from TypeScript today!]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2018/a-react-point-of-vue-divya-sasidharan/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1521713881077_-I82ySol_400x400.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[A React Point of Vue]]></video:title><video:description><![CDATA[As a React developer learning Vue, adapting to the “Vue way of doing things” is a challenge that requires a sound understanding of the philosophy behind Vue. We will examine the nuances of the two frameworks and cover common mistakes that React developers make when switching to Vue.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2018/vue-and-ssr-the-best-practices-sebastien-chopin/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1521714021091_s3X2zik8_400x400.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Vue & SSR: The best practices]]></video:title><video:description><![CDATA[Writing an Universal Application with Vue might be hard, this talk will show common problems with server-side rendering and how to deal with them. It will also show how Nuxt.js solves most of these problems for you.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2018/a-short-synopsis-of-vue-storybook-peter-finn/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1521714192924_19510125_10155052758218692_4041525464096376575_n.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[A Short Synopsis of Vue Storybook]]></video:title><video:description><![CDATA[Building and documenting a component library at your company can be a huge hassle, but is a great way to keep your code consistent and clean among all of your projects. Storybook and Vue take most of the pain out of this, and allow you to develop a set of core components and document them in no time!]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2018/prototyping-with-vue-single-file-component-pine-wu/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1521714234890_yPwHKoCU_400x400.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Prototyping with Vue Single File Component]]></video:title><video:description><![CDATA[Vue Single File Component is ideal for sketching out UI components, animation, interaction prototypes and data visualization. I present a mini Vue SFC based framework that prescribes setup, languages and coding styles in exchange for the best prototyping experience.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2018/5-libraries-you-should-know-about-adam-jahr/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1527169451714_VueMastery VueConf.US-Lightning-Talk---Vue-Mastery---Adam-Jahr.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[5 Libraries You Should Know About]]></video:title><video:description><![CDATA[In his talk, Adam Jahr speaks on 5 Vue.js libraries you should know about at VueConf.US presented by Vue Mastery.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2018/update-an-existing-application-to-vue-michael-bennett/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1527168956410_VueMastery-VueConf.US-Lightning-Talk---Update-an-Existing-Application-to-Vue---Michael-Bennett.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Update an Existing Application to Vue]]></video:title><video:description><![CDATA[In his lightning talk from VueConf.US, Michael Bennett updates an existing application to Vue.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2018/vue-vuex-complex-appication-state-patrick-seda/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1527169672364_VueMastery-VueConf.US-Lightning-Talk---Vue-and-Vuex-for-Complex-Application-State---Patrick-Seda.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Vue and Vuex for Complex Application State]]></video:title><video:description><![CDATA[In his talk, Patrick Seda explains Vue and Vuex for complex application state.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2018/top-five-must-have-vue-ui-animation-patterns-rachel-nabors/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1527168956412_VueMastery-VueConf.US-Lightning-Talk---Top-5-Must-Have-UI-Animation-Patterns---Rachel-Nabors.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Top 5 Must-Have UI Animation Patterns]]></video:title><video:description><![CDATA[Rachel Nabors speaks about the top 5 must-have UI animation patterns for @vuejs]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2018/the-dream-a-full-rewrite-seth-white/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1527169766272_VueMastery-Vueconf.US-Lightning-Talk---The-Dream---A-Full-Rewrite---Seth-White.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[The Dream: A Full Rewrite]]></video:title><video:description><![CDATA[In this talk, Seth White shows you how you can still begin to integrate Vue.js into your legacy projects by taking bug fixes and enhancements as an opportunity to integrate Vue.js into your projects.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2018/start-your-own-vuejs-meetup-ben-hong/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1527169837541_VueMastery-VueConf.US-Lightning-Talk---Start-Your-Own-Vue.js-Meetup---Ben-Hong.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Start Your Own Vue.js Meetup]]></video:title><video:description><![CDATA[Ben Hong shows us how to start your own @Vuejs @Meetup.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2018/vuejs-reusability-is-it-worth-it-shelton-clinard/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1527170645197_VueMastery-VueConf.US-Lightning-Talk---Reusability---Is-It-Worth-It---Shelton-Clinard.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Reusability - Is It Worth It?]]></video:title><video:description><![CDATA[ In this talk, Shelton Clinard goes over how to create "Monolithic Base Components" that re-use and share the bulk of code for a component that you find isn't being used across other components.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2018/learning-reactivity-by-accident-jeff-schenck/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1527170893819_VueMastery-VueConf.US-Lightning-Talk---Reactivity---Learning-by-Accident---Jeff-Schenck.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Reactivity - Learning by Accident]]></video:title><video:description><![CDATA[In this talk, Jeff Schenck covers 3 gotchas of Vue's reactivity system and what you can do to get around them.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2018/quick-publishing-redistributable-single-file-component-npm-mike-dodge/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1527171052381_VueMastery-VueConf.Us-Lightning-Talk---Quick-Publisihing-of-Redistributable-Single-File-Component-on-NPM---Mike-Dodge.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Quick Publishing of Redistributable SFC on NPM]]></video:title><video:description><![CDATA[ In this talk, Mike Dodge covers how you can easily publish the components that you create into NPM.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2018/overvue-of-vuetifyjs-cj/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1527168956411_VueMastery-VueConf.US-Lightning-Talk---OverVue-of-Vuetify.js---CJ.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[OverVue of Vuetify.js]]></video:title><video:description><![CDATA[ In this talk, CJ gives an overview of the Vuetify.js component UI library based on Google's Material Design and why it might be the best choice for your application.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2018/ionic-and-vue-mike-hartington/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1527168956409_VueMastery-VueConf.US-Lightning-Talk---Ionic-and-Vue---Mike-Hartington.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Ionic and Vue]]></video:title><video:description><![CDATA[In this lightning talk, Mike Hartington, a developer advocate for @Ionic, shows off an in-depth demo for an alpha version of Ionic for Vue you can start using.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2018/dynamic-store-modules-with-vuex-adam-bradford/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1527171407786_VueMastery-VueConf.US-Lightning-Talk---Dynamic-Store-Modules-with-Vuex---Adam-Bradford.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Dynamic Store Modules with Vuex]]></video:title><video:description><![CDATA[In this talk, Adam Bradford, goes over the benefits of Vuex's dynamic module registration with a real-world example.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2018/build-miniflix-clone-with-vue-contest-dan-zeitman/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1527168956408_VueMastery-VueConf.US-Lightning-Talk---Build-a-MiniFlix-Clone-with-Vue-Contest---Dan-Zeitman.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Build a MiniFlix Clone with Vue Contest]]></video:title><video:description><![CDATA[In this talk, Dan Zeitman, developer advocate for @Cloudinary, walks us through creating a Netflix-clone called Miniflex to demonstrate how you can use the Cloudinary video API's to boost efficiency when you're working with video applications.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2018/beyond-html-with-vue-eduardo-san-martin-morote/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1527168956390_VueMastery-VueConf.US-Lightning-Talk---Beyond-HTML-with-Vue---Eduardo-San-Martin-Morote.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Beyond HTML with Vue]]></video:title><video:description><![CDATA[ In this talk, core Vue.js team member Eduardo goes through various non-HTML examples that Vue.js can render to like Springs, Sound, WebGL, and even Promises.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2018/vue-with-aws-lambda-matt-biilmann/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1527171599406_VueMastery-VueConf.US-Lightning-Talk---Vue-with-AWS-Lambda---Matt-Biilmann.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Vue with AWS Lambda]]></video:title><video:description><![CDATA[In this lightning talk, Matt Biilmann, the CEO of @Netlify, shows you how you can use Netlify to speed up and automate the deployment of your Vue apps in less than 8 minutes.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2018/fourty-hour-plan-for-ux-proficiency-jacob-covey/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1527171801586_VueMastery VueConf.US-Lightning-Talk---40-Hour-Plan-For-UX-Proficiency---Jacob-Cove.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[40 Hour Plan For UX Proficiency]]></video:title><video:description><![CDATA[In this talk, Jacob Covey teaches how you can learn and become proficient in UX as an already-competent front-end developer in only 40 hours.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2018/code-splitting-patters-vuejs-sean-thomas-larkin/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1527168956413_VueMastery VueConf.US-Lightning-Talk---Code-Splitting-Patterns-with-Vue---Sean-Thomas-Larkin-.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Code Splitting Patterns with Vue]]></video:title><video:description><![CDATA[In this talk, Sean Larkin, program manager at Microsoft, runs through how Code Splitting is a first class citizen in the Vue ecosystem and the one-line change you can make to split your code and make your components asynchronous.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/connect-tech-2018/</loc></url><url><loc>https://www.vuemastery.com/conferences/connect-tech-2018/Why-Vue-Cli-Needed-a-UI-and-What-You-Can-Do-With-It/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1542051888697_gui.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Why Vue-Cli Needed a UI and What You Can Do With It]]></video:title><video:description><![CDATA[Core Vue Team Member Guillaume Chau talks about the power of the Vue UI]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/connect-tech-2018/VuePress-Documentation-Made-Easy/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1542051031458_ben.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[VuePress- Documentation Made Easy]]></video:title><video:description><![CDATA[Politico's Ben Hong explores how VuePress makes creating your documentation easy.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/connect-tech-2018/Test-Driven-Development-in-Vue-with-Cypress/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1542050133881_josh-justice.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Test-Driven Development in Vue with Cypress ]]></video:title><video:description><![CDATA[Learn about test-driven development in Vue with Cypress]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/connect-tech-2018/7-Secret-Patterns-Vue-Consultants-Don't-Want-You-To-Know/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1542047331837_chris.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[7 Secret Patterns Vue Consultants Don't Want You To Know]]></video:title><video:description><![CDATA[Core Vue Team Member Chris Fritz shares 7 patterns that will improve your Vue apps.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/connect-tech-2018/Building-Forms-for-an-Engaging-User-Experience-in-Vue.js/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1542656888792_divya.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Building Forms for an Engaging User Experience in Vue.js]]></video:title><video:description><![CDATA[Divya Sasidharan breaks down what makes a good form and demonstrates how to implement best practices in your Vue.js forms.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/connect-tech-2018/Angular-Features-in-Vue.js/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1542657105620_nata.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Angular Features in Vue.js]]></video:title><video:description><![CDATA[Natalia Tepluhina discusses how we can use feature's from Angular within our Vue apps.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/connect-tech-2018/Get-Rocking-With-Vue.js/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1542650549037_diana.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[New to Front End Dev? Get Rocking With Vue.js]]></video:title><video:description><![CDATA[New to front end dev? In this talk, Diana Rodriguez talks about her journey going from the back-end and becoming full-stack by learning Vue.js.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/connect-tech-2018/demystifying-the-dark-art-of-sfc-compilation/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1543264955723_gdz1hLUM_400x400.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Demystifying the Dark Art of SFC Compilation]]></video:title><video:description><![CDATA[A deep dive into the Single File Component (SFC) compilation process of Vue.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/connect-tech-2018/human-vs-ai-build-a-mobile-app-with-nativescript/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1543260011688_jen.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Human vs AI: Build a Mobile App with NativeScript]]></video:title><video:description><![CDATA[How to use Google's new machine learning SDK integrated with Firebase, ML Kit, along with Vue.js and NativeScript.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-toronto-2018/</loc></url><url><loc>https://www.vuemastery.com/conferences/vueconf-toronto-2018/vue-3-0-updates/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1521782081230_499550.jpeg?alt=media</video:thumbnail_loc><video:title><![CDATA[Vue 3.0 Updates]]></video:title><video:description><![CDATA[Evan You, the creator of Vue.js, reveals the exciting details we should expect in Vue 3.0.

Interested in learning Vue 3 before its anticipated release? You can check out our Vue 3 Essentials course here: https://www.vuemastery.com/courses/vue-3-essentials/why-the-composition-api]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-toronto-2018/Vuetify-the-path-to-2-0/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1546023137042_John Leidar.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Vuetify, The Path to 2.0]]></video:title><video:description><![CDATA[The founder of Vuetify covers what to expect in the upcoming 2.0 release.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-toronto-2018/visualizations-using-svg-canvs-webgl/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1543440075728_Chris Fritz.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Visualizations using SVG, Canvas, and WebGL in Vue]]></video:title><video:description><![CDATA[It might not be obvious how to use Vue's reactive data with non-HTML web technologies, but it's easier than you might think. ]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-toronto-2018/vue-and-vuex-the-good-bad-ugly/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1543441365846_Filipa Lacerda.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Vue and Vuex: The good, the bad and the ugly]]></video:title><video:description><![CDATA[Filipa talks about GitLab's transition from jQuery to Vue and Vuex and what was learned along the way.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-toronto-2018/light-lazy-asynchronous-patterns-for-vue/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1543446983533_Eduardo San Martin Morote.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Light, lazy asynchronous patterns for Vue Apps]]></video:title><video:description><![CDATA[As our web apps grow we need to load parts of them asynchronously.  Eduardo teaches the patterns needed to handle asynchronous requests correctly.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-toronto-2018/nuxtjs-2/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1543864923390_Sebastien Chopin.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Nuxt.js 2]]></video:title><video:description><![CDATA[Learn how Nuxt.js has improved and see how fast we can create Vue.js application (Universal, SPA, PWA).]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-toronto-2018/augmenting-shopify-with-Vuejs/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1543865120967_Trudy MacNabb.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Augmenting Shopify with Vue.js]]></video:title><video:description><![CDATA[Learn how to use Vue.js to add new functionality to an existing Shopify theme.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-toronto-2018/a-token-walks-into-a-spa/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1543865636652_Ignacio Anaya.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[A Token Walks Into a SPA]]></video:title><video:description><![CDATA[Learn best practices for using token-based authentication when building Single Page Applications with Vue.js. ]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-toronto-2018/a-vue-from-ionic/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1543866222359_Josh Thomas.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[A Vue from Ionic]]></video:title><video:description><![CDATA[Learn how to use Ionic and Vue together to quickly create a compelling mobile application that can be deployed to the iOS, Android, and the Web.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-toronto-2018/easy-3d-graphics-with-vue/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1544059830325_Brian Jesse.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Easy 3D Graphics with Vue]]></video:title><video:description><![CDATA[Learn how easy it is to start doing 3D Graphics with Vue using the Vue-BabylonJS library.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-toronto-2018/design-systems-in-vue/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1544060790358_Benjamin Michoux.jpeg?alt=media</video:thumbnail_loc><video:title><![CDATA[Design Systems in Vue]]></video:title><video:description><![CDATA[Ben shows how RBC Wealth Management uses a design system to share code and keep the design consistant between many Vue applications.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-toronto-2018/enhancing-cart-customization-with-vue/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1544061518041_Charles Ouellet.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Enhancing Cart Customization with Vue]]></video:title><video:description><![CDATA[See how SnipCart, a custom e-commerce service for developers, used some advanced Vue techniques to make their service more developer friendly.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-toronto-2018/the-performance-alphabet/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1544062800421_Henri Helvetica.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[The Performance Alphabet]]></video:title><video:description><![CDATA[Learn the alphabet of web performance, covering a ton of tools concepts to be aware of as you build web apps.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-toronto-2018/vue-instance-and-communication-with-the-outside-world/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1544063848484_Houmaan Saffarzadeh.jpeg?alt=media</video:thumbnail_loc><video:title><![CDATA[Vue Instance & Communication with the Outside World]]></video:title><video:description><![CDATA[Learn how to communicate between Vue.js code and outside JavaScript on your webpage that may use pure JavaScript, jQuery, or another framework.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-toronto-2018/nextTick-down-to-business/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1544065904697_Tessa.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[nextTick down to business]]></video:title><video:description><![CDATA[Learn how not to use nextTick, and start understanding when it might be helpful.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2019/</loc></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2019/state-of-vuenation/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1555961702725_mhoGA4uj_400x400.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[State of Vuenation]]></video:title><video:description><![CDATA[Learn about the State of Vuenation from the man who wrote the framework.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2019/vuejs-in-practice-at-optoro/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1555960133512_D-JcSx-d_400x400.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Vuejs In Practice at Optoro]]></video:title><video:description><![CDATA[A case study in shipping Vue.js to desktop and mobile devices at Optoro.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2019/zen-and-the-art-of-vuejs/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1555968439166_pGPLZ7HN_400x400.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Zen and The Art of VueJS ]]></video:title><video:description><![CDATA[Learn about the zen and the art of Vue.js]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2019/demystifying-the-dark-art-of-sfc-compilation/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1555962260619_gdz1hLUM_400x400.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Demystifying: The Dark Art of SFC Compilation]]></video:title><video:description><![CDATA[Learn about and demystify the dark art of SFC compilation.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2019/advanced-animations-with-vuejs/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1555964131033_8v0GIxKR_400x400.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Advanced Animations with Vue.js]]></video:title><video:description><![CDATA[How to use advanced CSS animations and transitions with Vue.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2019/building-desktop-applications-with-vue/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1555962969509_73d99XXb_400x400.png?alt=media</video:thumbnail_loc><video:title><![CDATA[Building Desktop Applications with Vue]]></video:title><video:description><![CDATA[Building a desktop application with Vue is easier than you might think.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2019/dynamic-css-with-vue/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1557245735138_MiriamSuzanne.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Dynamic CSS with Vue]]></video:title><video:description><![CDATA[Understand how CSS can work with Vue.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2019/the-future-of-web-animation/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1556561393241_Z_2ELEQp_400x400.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[The Future of Web Animation]]></video:title><video:description><![CDATA[Push the boundaries of what you can do on the Web and look into the future of web animation.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2019/vue-3-what-im-most-excited-about/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1554979436212_ChrisFritz.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Vue 3: What I'm Most Excited About]]></video:title><video:description><![CDATA[Discuss some interesting features in the upcoming Vue 3 release.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2019/9-performance-secrets-revealed/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1556325551944_guillaume-chau.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[9 Performance Secrets Revealed]]></video:title><video:description><![CDATA[A look at performance secrets that improve an app's performance to create a better user experience.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2019/building-fast-and-semantic-input-masks-in-vuejs/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1556560201030_oH6kUObM_400x400.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Building Fast and Semantic Input Masks in VueJS]]></video:title><video:description><![CDATA[Dive into Input Masks and learn how to use them with Vue.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2019/back-to-the-vueture-stuck-in-the-event-loop/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1556559982003_slack-imgs.com.jpeg?alt=media</video:thumbnail_loc><video:title><![CDATA[Back to the Vueture: Stuck in the Event Loop ]]></video:title><video:description><![CDATA[A talk on learning how to make .nextTick work and not getting stuck in the event loop.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2019/web-accessibility-with-vue-js/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1557243406642_maria.jpeg?alt=media</video:thumbnail_loc><video:title><![CDATA[Web Accessibility With Vue.js]]></video:title><video:description><![CDATA[A closer look into Web accessibility with Vue.js.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2019/run-your-vue-and-node-app-anywhere/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1557244252098_JohnPapa.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Run Your Vue and Node App Anywhere]]></video:title><video:description><![CDATA[Explore how to get your Vue.js app to run everywhere by using Node.js.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2019/ionic-and-vue-for-fast-mobile-apps/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1557245218198_MikeHart.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Ionic & Vue for Fast Mobile Apps]]></video:title><video:description><![CDATA[A look at how you can use Ionic and Vue together to quickly create a compelling mobile application.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2019/phenomenal-design-patterns-in-vue/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1556560837759_jacobschatz.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Phenomenal Design Patterns in Vue]]></video:title><video:description><![CDATA[Take a look at different types of design patterns in Vue.js.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2019/accessibility-for-everyone-or-accessibility-101/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1557246745765_ChrisDemars.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Accessibility for Everyone or Accessibility 101 ]]></video:title><video:description><![CDATA[A dive into web accessibility and how it is open to everyone.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2019/vue-plus-i-18-n-equals-fun/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1557248106727_CasieSiekman.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Vue + i18n = FUN!]]></video:title><video:description><![CDATA[Learn about implementing internationalization.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2019/cloudinarys-new-vue-sdk/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1557251436252_DougSteinberg.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Cloudinary's New Vue SDK ]]></video:title><video:description><![CDATA[Learn exactly what Cloudinary is and about its new Vue SDK.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2019/the-ramp-up-to-vue/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1557251719289_CharlesVillard.png?alt=media</video:thumbnail_loc><video:title><![CDATA[The Ramp Up to Vue]]></video:title><video:description><![CDATA[A discussion on what the journey to using and understanding Vue.js could be like.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2019/sub-second-vue/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1557253276872_Screen Shot 2019-05-07 at 2.13.03 PM.png?alt=media</video:thumbnail_loc><video:title><![CDATA[Sub-second Vue]]></video:title><video:description><![CDATA[Learn different performance techniques that you could use with Vue.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2019/building-a-better-tomorrow/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1557253512625_JenniferBland.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Building a Better Tomorrow ]]></video:title><video:description><![CDATA[Look at graphs and charts in Vue.j and how they can assist with task efficiency.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2019/know-be-4-human-error-conquered/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1557254322006_BenjiDalton.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[KnowBe4 Human error. Conquered. ]]></video:title><video:description><![CDATA[A discussion on what adopting Vue.js was like for KnowBe4.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2019/how-to-reduce-your-vue-bundle-size-with-webpack/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1557253512625_JenniferBland.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[How to Reduce Your Vue Bundle Size With Webpack ]]></video:title><video:description><![CDATA[A close look at reducing your Vue bundle size by using Webpack.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2019/global-vs-component-state-in-vuex/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1558560100605_JaimesJones.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Global vs Component State in Vuex ]]></video:title><video:description><![CDATA[Learn how to decide when data should be in a global state or a component state.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2019/progressively-enhanced-form-validation/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1558630813263_Screen Shot 2019-05-23 at 12.58.50 PM.png?alt=media</video:thumbnail_loc><video:title><![CDATA[Progressively Enhanced Form Validation]]></video:title><video:description><![CDATA[Learn how to progressively enhance your form validation.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2019/quickly-delivering-value-to-users/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1558631429586_BradBalfour.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Quickly Delivering Value to Users]]></video:title><video:description><![CDATA[A close look at using Vue to deliver value to your customers.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2019/using-subscriptions-in-your-vue-apps/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1558631897261_Vlad.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Using Subscriptions in Your Vue Apps ]]></video:title><video:description><![CDATA[Learn how to use subscriptions in your Vue apps.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vuejs-amsterdam-2019/</loc></url><url><loc>https://www.vuemastery.com/conferences/vuejs-amsterdam-2019/how-to-craft-a-vue-cli-plugin/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1554983525563_guillaume-chau.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[How to craft a Vue CLI Plugin]]></video:title><video:description><![CDATA[Learn how to craft a Vue CLI plugin.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vuejs-amsterdam-2019/static-site-generation-is-awesome/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1554985105044_alex.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Static Site Generation is Awesome]]></video:title><video:description><![CDATA[Learn about static site generation.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vuejs-amsterdam-2019/understanding-wepack-from-the-inside-out/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1554976875648_sean-larkin.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Understanding webpack from the inside out]]></video:title><video:description><![CDATA[Understand webpack from the inside out.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vuejs-amsterdam-2019/how-to-write-components-with-vue-cli/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1554976242960_Thorsten.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Vue CLI – How to write components with it]]></video:title><video:description><![CDATA[Learn how to write components by using Vue CLI.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vuejs-amsterdam-2019/empowering-vue-with-typescript-inversify-vuex/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1554974119769_quique.jpeg?alt=media</video:thumbnail_loc><video:title><![CDATA[Empowering Vue with TypeScript, Inversify, & Vuex]]></video:title><video:description><![CDATA[Learn how to use different tips, technologies, and tools with Vue in real projects.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vuejs-amsterdam-2019/nuxtjs-2019-dont-miss-the-news/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1554984997673_sebastien-chopin.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Nuxt.js 2019 - Don't miss the NEWS!]]></video:title><video:description><![CDATA[Learn about Nuxt.js in 2019.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vuejs-amsterdam-2019/next-level-jest-testing-with-vuejs/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1554778681202_Roman Cuba.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Next Level Jest Testing with Vue.js]]></video:title><video:description><![CDATA[Learn how CodeShip uses Jest to test their Vue applications.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vuejs-amsterdam-2019/How-to-avoid-mistakes-in-state-management/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1554980808654_Filipa Lacerda.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[How to avoid mistakes in state management.]]></video:title><video:description><![CDATA[Learn why following a flux pattern matters and how to avoid other potential mistakes in state management.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vuejs-amsterdam-2019/accessibility-with-vuejs/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1554980233329_callum-macrae.png?alt=media</video:thumbnail_loc><video:title><![CDATA[Accessibility with Vue.js]]></video:title><video:description><![CDATA[Learn about Accessibility with Vue.js.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vuejs-amsterdam-2019/visualizations-using-svg-canvas-and-webgl-in-vue/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1554979436212_ChrisFritz.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Visualizations using SVG, Canvas, and WebGL in Vue]]></video:title><video:description><![CDATA[Learn about visualizations using SVG, Canvas, ad WebGL in Vue.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vuejs-amsterdam-2019/ssr-revolution-vue/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1556325551944_guillaume-chau.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[SSR Revolution Vue 2.6]]></video:title><video:description><![CDATA[An overview of server-side rendering and its effect of web applications today.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vuejs-amsterdam-2019/nativescript-vue-ml-the-great-minibar-challenge/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1555968439166_pGPLZ7HN_400x400.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[NativeScript-Vue + ML = The Great MiniBar Challenge: MixoLogy]]></video:title><video:description><![CDATA[Learn how to use NativeScript and machine learning to create a smart mobile app. ]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vuejs-amsterdam-2019/modern-web-apps-performance-tricks-with-pwa-and-vuejs/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1560881202245_FilRakphoto.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Modern Web Apps Performance Tricks with PWA and Vue.js]]></video:title><video:description><![CDATA[A close look at tricks that you can use with PWA and Vue.js to improve your web app performance.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vuejs-amsterdam-2019/graphql-plus-apollo-plus-vuejs-equals-magic/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1560880091521_SaraVphoto.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[ GraphQL + Apollo + Vue.js = Magic]]></video:title><video:description><![CDATA[A breakdown of GraphQL and Vue Apollo as well as how they can work together.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vuejs-amsterdam-2019/media-for-everyone/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1560879994910_MayaShavinphoto.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Media for everyone - how to make your Vue Apps accessible for all users]]></video:title><video:description><![CDATA[A step by step guide on making your Vue.js app accessible for everyone.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/connect-tech-2019/</loc></url><url><loc>https://www.vuemastery.com/conferences/connect-tech-2019/going-serverless-with-vue-js/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1556560201030_oH6kUObM_400x400.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Going Serverless with Vue.js]]></video:title><video:description><![CDATA[Learn how to examine strategies for building applications in VueJS with a serverless mindset.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/connect-tech-2019/testing-your-vue-application/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1557253512625_JenniferBland.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Testing Your Vue Application]]></video:title><video:description><![CDATA[Learn why you should test and how to test using Jest, Cypress, and Vue-test-utils.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/connect-tech-2019/vue-form-validation/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1557243406642_maria.jpeg?alt=media</video:thumbnail_loc><video:title><![CDATA[Vue Form Validation]]></video:title><video:description><![CDATA[Dive into form validation in Vue and the difference between Vuelidate and VeeValidate.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/connect-tech-2019/managing-state-in-vuejs/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1576870408747_Screen Shot 2019-12-20 at 2.33.11 PM.png?alt=media</video:thumbnail_loc><video:title><![CDATA[Managing State in Vue.js]]></video:title><video:description><![CDATA[Learn how Vuex simplifies and centralizes your state management in Vue in order to get your data in control.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/connect-tech-2019/real-time-vue-never-say-try-refreshing-again/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1577473528922_Screen Shot 2019-12-27 at 2.05.01 PM.png?alt=media</video:thumbnail_loc><video:title><![CDATA[Real-time Vue: Never Say "Try Refreshing?" Again ]]></video:title><video:description><![CDATA[Build real-time user interfaces with Vue and event-driven architecture methods like web sockets.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/connect-tech-2019/fundamental-component-design-patterns/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1577474478231_Screen Shot 2019-12-27 at 2.20.31 PM.png?alt=media</video:thumbnail_loc><video:title><![CDATA[Fundamental Component Design Patterns]]></video:title><video:description><![CDATA[Discuss fundamental component design patterns and anti-patterns that you need to consider for component reusability and more.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/connect-tech-2019/vuejs-for-regular-people/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1577474894906_Screen Shot 2019-12-27 at 2.27.57 PM.png?alt=media</video:thumbnail_loc><video:title><![CDATA[Vue.js for Regular People]]></video:title><video:description><![CDATA[Get introduced to Vue.js and walk through how to use Vue for everything from simple page enhancements to full "apps" using routing and security.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/connect-tech-2019/where-have-vueben-all-my-life/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1556559982003_slack-imgs.com.jpeg?alt=media</video:thumbnail_loc><video:title><![CDATA[Where Have Vueben All My Life]]></video:title><video:description><![CDATA[ Discuss creating and styling custom components.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/connect-tech-2019/composing-functionality-with-the-new-vue-apis/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1577475561682_Screen Shot 2019-12-27 at 2.39.03 PM.png?alt=media</video:thumbnail_loc><video:title><![CDATA[Composing Functionality With The New Vue APIs]]></video:title><video:description><![CDATA[Learn about the composing functionality with the new Vue APIs.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/connect-tech-2019/dependency-injection-in-vue/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1579723884847_Screen Shot 2020-01-22 at 3.10.51 PM.png?alt=media</video:thumbnail_loc><video:title><![CDATA[Dependency Injection in Vue ]]></video:title><video:description><![CDATA[An incremental talk through the use of dependency injection in Vue. ]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2020/</loc></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2020/state-of-the-vuenion/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1555961702725_mhoGA4uj_400x400.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[State of the Vuenion]]></video:title><video:description><![CDATA[A close look at the progress Vue has made in the last year and the journey to releasing Vue 3.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2020/all-you-need-is-apollo-client/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Fvc2-speaker.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[All you need is Apollo Client]]></video:title><video:description><![CDATA[Explore what Apollo Client can do for your Vue application. ]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2020/the-state-of-css-in-vue/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Fvc3-speaker.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[The State of CSS in Vue]]></video:title><video:description><![CDATA[Discover different ways to bring CSS into your Vue app.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2020/what-youll-love-in-vue-3/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1554985105044_alex.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[What you'll love in Vue 3]]></video:title><video:description><![CDATA[Discover exciting key features that Vue 3 will introduce to us. ]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2020/vuetify-v2-plus/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Fvc5-speaker.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Vuetify v2+]]></video:title><video:description><![CDATA[A look at how Vuetify has improved in the last year and what to expect from v2.2.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2020/typescript-and-vue-politico/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Fvc6-speaker.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Typescript + Vue @ Politico]]></video:title><video:description><![CDATA[Discuss how CLI TypeScript Vue projects can overall be good for your next project]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2020/content-loading-that-isnt-broken/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2F1557243406642_maria.jpeg?alt=media</video:thumbnail_loc><video:title><![CDATA[Content Loading That Isn't Broken]]></video:title><video:description><![CDATA[Explore how we can improve the experience for a lot of users who rely on assistive technologies.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2020/component-documentation-made-easy/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Fvc8-speaker.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Component Documentation Made Easy]]></video:title><video:description><![CDATA[Learn how to write beautiful documentation for your components that other developers will love.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2020/unconventional-vue-vue-as-a-backend-framework/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Fvc9-speaker.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Unconventional Vue - Vue as a Backend Framework]]></video:title><video:description><![CDATA[Learn about what's possible using Vue on the other side of the spectrum...as a backend.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2020/validations-in-the-composition-age/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Fvc10-speaker.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[ Validations in the Composition Age ]]></video:title><video:description><![CDATA[Explore new possibilities with the composition API and Vuelidate.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2020/demystifying-the-vue-lifecycle/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Fvc11-speaker.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Demystifying the Vue Lifecycle]]></video:title><video:description><![CDATA[An overview of the Vue lifecycle with examples of when to use each lifecycle method.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2020/seo-in-a-vue-js-world/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Fvc12-speaker.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[SEO in a Vue.js World]]></video:title><video:description><![CDATA[Learn the basics of SEO and examine best practices and their implementations with the help of vue-meta and Nuxt.js.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2020/launching-a-new-design-system-with-zero-downtime/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Fvc13-speaker.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Launching a New Design System With Zero Downtime]]></video:title><video:description><![CDATA[Learn how to achieve an easy launch on a new design system. ]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2020/everything-as-compiler/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Fvc14-speaker.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Everything as Compiler]]></video:title><video:description><![CDATA[A view of programming that understands how abstraction relates and distances us to people over artifacts.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2020/static-is-the-new-dyncamic/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Fvc15-speaker.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Static is the New Dynamic ]]></video:title><video:description><![CDATA[Learn why the sky is the limit as far as static pages is concerned.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2020/get-the-most-out-of-vue-router/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Fvc16-speaker.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Get the Most Out of Vue Router ]]></video:title><video:description><![CDATA[Get a better understanding of Vue Router's API and the excitement to refactor some bits of your Vue app.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2020/simplifying-complex-forms-in-vue/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Fvc17-speaker.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[ Simplifying Complex Forms in Vue]]></video:title><video:description><![CDATA[Learn about different patterns you can use to simplify your complex forms. ]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2020/migrating-a-large-legacy-app-to-vue/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Fvc18-speaker.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[ Migrating a Large Legacy App to Vue]]></video:title><video:description><![CDATA[A look into what to expect with migrating a huge legacy app to Vue and the steps you'll want to take along the way.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2020/creating-a-website-with-gridsome/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Fvc19-speaker.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Creating a Website With Gridsome]]></video:title><video:description><![CDATA[A step-by-step to creating websites with Gridsome.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2020/how-to-communicate-between-components/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Fvc20-speaker.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[How to Communicate Between Components]]></video:title><video:description><![CDATA[A walk through of getting your components to communicate.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2020/managing-a-large-in-place-migration-to-nuxtjs/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Fvc21-speaker.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Managing a Large in Place Migration to Nuxt.js]]></video:title><video:description><![CDATA[How to manage and execute a large migration to Nuxt.js. ]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2020/application-shortcuts-with-a-renderless-event-component/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Fvc22-speaker.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Application Shortcuts with a Renderless Event Component ]]></video:title><video:description><![CDATA[Learn some application shortcuts with a renderless event component. ]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2020/building-ecommerce-storefronts-with-big-commerce-and-vue/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Fvc23-speaker.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Building Ecommerce Storefronts With Big Commerce & Vue]]></video:title><video:description><![CDATA[How to build ecommerce storefronts using Big Commerce and Vue.js.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2020/lets-vue-like-its-1999/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Fvc24-speaker.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Let's Vue Like It's 1999!]]></video:title><video:description><![CDATA[Simplify your web development process...as if it were 1999. ]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2020/nuxtjs-plus-netlify-cms/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Fvc25-speaker.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Nuxt.js + Netlify CMS]]></video:title><video:description><![CDATA[Learn what happens when you combine Nuxt with Netlify CMS.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2020/the-lazy-way-to-better-performance/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FScreen Shot 2020-05-08 at 3.46.15 PM.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[The Lazy Way to Better Performance]]></video:title><video:description><![CDATA[Learn a new way to get better performance by using lazy loading. ]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2021/</loc></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2021/looking-through-the-vuefinder/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Fhenri.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Looking Through the VueFinder]]></video:title><video:description><![CDATA[This talk looks at the improvements made with image formatting and loading — from the methods to the actual media.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2021/component-testing-with-vite-vue-and-cypress/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Fjessica_sachs.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Component Testing with Vite, Vue, and Cypress]]></video:title><video:description><![CDATA[Cypress's brand-new component test runner is designed to replace your Node-based Jest component tests. It runs your components and their tests in the browser and interacts with them as a user would -- by simulating real interactions with Cypress's test driver. Since the components run in the browser, you get to debug them using your favorite developer tools. Acting as something in-between a Playground and a Test Runner, developing components within Cypress is a blast. To achieve lightning-fast TDD, the Cypress Component Test Runner supports Vite. In this talk, we'll explore what a developer workflow with Vite, Vue, and Cypress looks like and see how fun testing can actually be.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2021/html-email-with-vue.js/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Ftracey.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[HTML Email with Vue.js]]></video:title><video:description><![CDATA[In this talk you'll learn how to use Vue.js to craft emails and bring some joy into HTML email development.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2021/component-library-accessibility/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Fjonathan-bakebwa.234df3aa.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Component Library / Accessibility]]></video:title><video:description><![CDATA[Taking a look at a component library built with accessibility in mind.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2021/vuetify-3/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Fjohn.png?alt=media</video:thumbnail_loc><video:title><![CDATA[Vuetify 3]]></video:title><video:description><![CDATA[An overview of new features coming to the next version of Vuetify, Titan. Includes code examples of Vue 2 -> 3 conversions, the new layout system, global default properties, and more.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2021/the-vue-3-composition-api/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Fnatalia.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[The Vue 3 Composition API]]></video:title><video:description><![CDATA[With the Vue 3 Composition API we got a powerful tool to abstract the logic. But how do you make your composables really flexible? In this talk we will livecode a composition function to match a set of different APIs selected by a spinning wheel.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2021/nuxt-performances/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Fdebbie.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Nuxt Performances]]></video:title><video:description><![CDATA[Nuxt is performant out of the box, doing a lot for you automatically. Take a look at how webpack works; you don’t even have to do anything to get all these features such as lazy loading and code splitting. Also Nuxt Image. Yes there is now Nuxt Image to make your images super performant.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2022/</loc></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2022/opening-keynote/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FEvan You.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Opening Keynote]]></video:title><video:description><![CDATA[Opening Keynote with Evan You]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2022/how-we-migrated-our-huge-app-to-vue3/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FAlex Van Liew.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[How we migrated our HUGE app to Vue 3]]></video:title><video:description><![CDATA[Learn how Productiv migrated a full-featured SPA which was built on top of Vue 2 over three years ago and now contains nearly 300 pages, over 1000 components, and nearly 250k LOC to Vue 3, what we discovered about the process, and what benefits we saw as a result.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2022/maintainable-and-resilient-projects-through-internal-ui-libraries/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FAustin Gil.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Maintainable & Resilient Projects Through Internal UI Libraries]]></video:title><video:description><![CDATA[In this talk, I’ll discuss the benefits of creating your own, internal UI library. It’s something I consider to be a best practice which will make your applications more maintainable and resilient to change. We’ll look at what it means, how to begin, and what options are available to help you.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2022/unit-testing-vue-apps-tips-tricks-and-best-practices/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FBeth Qiang.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Unit Testing Vue Apps: Tips, Tricks, and Best Practices]]></video:title><video:description><![CDATA[Unit testing is something you've been told you should do, but have you ever wondered why? Or what you should test? Or how to test what you should test? In this talk, we'll break down the answers to all of these questions. We'll also talk about how to set up an easy-to-use framework for any Vue app so that your tests most accurately represent how a user would interact with your platform.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2022/debugging-vue-applications/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FCecelia M.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Debugging Vue Applications]]></video:title><video:description><![CDATA[Modern applications built with frameworks like Vue can add complexity to the debugging process. With the right approach, debugging doesn't have to be frustrating. This talk will cover debugging considerations specific to Vue, including the Vue Lifecycle, Reactive State, error handling, and more.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2022/dissecting-the-pinia-source-code/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FDaniel Kelly.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Dissecting the Pinia Source Code]]></video:title><video:description><![CDATA[Pinia is state management library for Vue that everyone is talking about. Join me as we peek under the hood of it's open source code and see if we can dissect exactly what makes it tick.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2022/whats-coming-in-nuxt3/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FDan Vega.png?alt=media</video:thumbnail_loc><video:title><![CDATA[What's coming in Nuxt 3]]></video:title><video:description><![CDATA[What's coming in Nuxt 3]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2022/building-accessible-components/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FHomer Gaines.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Building Accessible Components]]></video:title><video:description><![CDATA[This talk will provide guidance for understanding how to think and approach building accessible components.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2022/animating-vue-with-gsap/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FJ.D. Hillen.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Animating Vue with GSAP]]></video:title><video:description><![CDATA[In this presentation we will be diving into animating Vue.js applications with GSAP.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2022/deploy-release-ci-cd-oh-my/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FJeremy Meiss.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Deploy, Release, CI/CD, oh my! DevOps for the rest of us]]></video:title><video:description><![CDATA[CI/CD, Progressive Delivery, AIOps, GitOps, TreeOps - are they all the same, or are they just reimagining last week’s buzz words? In this talk, we will break down a few of these terms, what they mean, how they’re used, and why they may matter for you and your teams.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2022/stress-free-testing-for-vue3/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FJessica Sachs.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Stress-free Testing for Vue 3]]></video:title><video:description><![CDATA[In the Stress-free Testing workshop, you'll learn how to test both simple and complex components. Optional Typescript track with the Composition API. Hands-on Activities: Use TDD to build new components (Modals, Accordions, and Lists) Test components that use transitions, scoped slots, and async network requests Test basic components that use slots, props, and events Learn patterns for working with Vuex, Pinia, Vue Router, and VueI18n Leverage spies, mocks, and stubs to make assertions about your components behavior Setup Code Coverage and Accessibility Tests Testing Fundamentals: The Anatomy of a Test Runner - Terms and Definitions. The Testing Pyramid - Understanding End-to-end Testing, component testing, and unit testing. The Critical Path - Thinking like a user about tests and code quality. The Best Practices - Testing best practices and how to avoid common mistakes. At the end of this workshop, you should have the functional knowledge on how to tackle and test complex Vue components as well as understand how to craft a reliable component test and determine what's worth testing.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2022/nuxtjs-and-chrome/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FKara Erickson.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Nuxt.js and Chrome]]></video:title><video:description><![CDATA[A small team of Google Chrome engineers are working full-time to improve both the user and developer experiences of open-source frameworks. This talk will dive into why Google is investing in this space as well as cover some high-impact features we’ve shipped that have improved Nuxt.js’ default experience.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2022/modern-mobile-development/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FMike Hartington.png?alt=media</video:thumbnail_loc><video:title><![CDATA[Modern Mobile Development]]></video:title><video:description><![CDATA[It's 2022, and mobile development is more essential to everyday life than it’s ever been. With this, developers have had to pick and choose what tech stack they would use to build for mobile. While this started with one set of tools per platform, we now have multiple options available, and some that can even target multiple platforms with one codebase. But one question remains: what’s the right set of tools? In this talk, we’ll examine what technologies are available, and explore if the tech stack we need has been the web all along.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2022/create-a-custom-component-library-with-vue/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FPaige Kelley.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Create a Custom Component Library with Vue!]]></video:title><video:description><![CDATA[This talk will include a step by step guide on how to setup your own custom component library published to NPM with the VueCli and Tailwind in under 20 minutes.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2022/improving-pagespeed-performance-with-vue3/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FTom Dale.png?alt=media</video:thumbnail_loc><video:title><![CDATA[Improving Pagespeed Performance with Vue 3]]></video:title><video:description><![CDATA[We all want to have a high performing website and provide a great experience to our users. There can be so many items that can cause your website to perform poorly. I will share some great tips to improve your image performance using Vue 3 and pass Google's Core Web Vitals.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2022/why-do-we-even-test/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Fbart ledoux.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Why do we even test?]]></video:title><video:description><![CDATA[]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2022/component-testing-with-playwright/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FDebbie O&amp;apos;Brien.1657587130541.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Component Testing with Playwright]]></video:title><video:description><![CDATA[]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2022/know-your-components/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Flukas stracke.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Know your Components]]></video:title><video:description><![CDATA[]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2022/whats-this/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Fcolin-decarlo.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[What's 'this'?]]></video:title><video:description><![CDATA[]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2022/vue-traffic-light-chrome-extension/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Fadam-frank.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Vue Traffic Light Chrome Extension]]></video:title><video:description><![CDATA[]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2022/getting-started-amplify-authenticator/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Ferik hanchett.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Getting Started: Amplify Authenticator]]></video:title><video:description><![CDATA[]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2022/share-point-of-vue/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Fscott hickerson.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[(Share) Point of Vue]]></video:title><video:description><![CDATA[]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2022/building-docker-extensions-using-vue-and-nuxt/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Fevan harris.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Building Docker Extensions using Vue & Nuxt]]></video:title><video:description><![CDATA[]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2022/build-a-community/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Fricardo vargas.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Build a Community]]></video:title><video:description><![CDATA[]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2022/using-vue-for-your-iot-solution/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2Fbill baker.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Using Vue for your IoT Solution]]></video:title><video:description><![CDATA[]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2023/</loc></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2023/state-of-the-vuenion-23/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FEvan You.1688132623089.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[State of the Vuenion]]></video:title><video:description><![CDATA[The creator of Vue.js updates the community on the roadmap for the Vue.js framework for 2023.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2023/monitoring-your-production-vue-apps/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FAbhijeet Prasad.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Monitoring Your Production Vue Apps]]></video:title><video:description><![CDATA[Join Abhijeet Prasad, maintainer of Sentry's open source Vue SDK, as he helps you understand the how to get increased visibility into your Vue applications in production. This talk will dive deep into:
- Tracking bundle size, web vitals, and other important performance metrics
- Configuring distributed tracing to see how your Vue applications are affected by your backend services
- Exploring different monitoring tools you can use to get these insights]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2023/proven-pinia-patterns/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FAdam Jahr.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Proven Pinia Patterns]]></video:title><video:description><![CDATA[With Vue's new-and-improved state management library, we gain a much more modular tool. While being more flexible and lacking the Mutations of Vuex, Pinia presents us with more opportunities to be creative (for better or worse) with our app architecture and how state management is conducted and organized within it. This talk explores some @posva-approved best practices and architectural design patterns to consider when using Pinia in production.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2023/building-data-intensive-visualization-applications-with-vue/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FAlex Harding.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Building Data-Intensive Visualization Applications with Vue]]></video:title><video:description><![CDATA[Data visualization applications are complicated. When building a complex data visualization application in Vue, early design of state management and user interaction is crucial in avoiding significant technical debt as requirements change during development. In this session, we will take an in depth look at the real-world development of a data visualization dashboard built at RTI International’s Center for Data Science, discussing patterns, pitfalls, and libraries – including RTI’s open source Harness-Vue tools.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2023/what-to-love-about-vue-in-2023/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FAlex Kyriakidis.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[What to love about Vue in 2023]]></video:title><video:description><![CDATA[A lot has happened last year for the Vue.js ecosystem. As Vue 3 became the new default, a complete re-write of the docs boasted newly recommended tooling like Vite and Pinia. After much anticipation, Nuxt 3 was released with amazing developer conveniences, TS support, and server side functionality baked in. In this talk, we’ll take a tour of what all happened and how it positions you to create your best web-apps in 2023!]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2023/build-and-deploy-mobile-apps-with-nuxt-ionic/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FCecelia Martinez.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Build & Deploy Mobile Apps with Nuxt Ionic]]></video:title><video:description><![CDATA[Do you love building with Nuxt but need a native mobile experience? Nuxt Ionic is an out-of-the-box integration that lets you build Nuxt applications with a native look and feel leveraging Ionic components, composables, and icons. Nuxt Ionic automatically imports what you need from the Ionic framework mobile UI toolkit, as well as Capacitor, which provides native mobile device functionality and builds for iOS and Android. This talk will cover the features and use cases of Nuxt Ionic, how to get started, and even deploying your mobile app to users with Ionic's Appflow platform.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2023/patterns-for-large-scale-vue-js-applications/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FDaniel Kelly.1689707841656.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Patterns for Large Scale Vue.js Applications]]></video:title><video:description><![CDATA[Vue can be used for large and small projects alike. Large scale projects though, need to be approached with a bit more thought and design. Why not be inspired by tried and true design patterns from the Vue.js community at large. During the talk we discuss practical design patterns for making your large scale Vue.js projects more predictable including: - Adopting community standards - Component conventions - Routing conventions - Using sdks - Wrapping third-party libs - and more!]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2023/speed-up-your-development-flow-with-vite/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FFelipe Flor.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Speed up your development flow with Vite]]></video:title><video:description><![CDATA[By the end of this talk, you'll have a better understanding of how Vite can streamline your web development workflows and help you build better, more performant web applications. So, let's get started!]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2023/freakn-keyboard-traps/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FHomer Gaines, CPACC.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Freak'n Keyboard Traps]]></video:title><video:description><![CDATA[Part of my Empathy Series: Keyboard traps are instances where keyboard users encounter areas of an app or website where they can't move forward in the process. Effectively, they are blocked due to the keyboard actions being "trapped" on a particular element. In this talk, I will discuss common causes of keyboard traps and how to fix them.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2023/the-next-vuetify/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FJohn Leider.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[The Next Vuetify]]></video:title><video:description><![CDATA[Learn about the new features and functionality in Vuetify 3 and how it improves the developer and user experience.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2023/conquering-forms-in-vue/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FJustin Schroeder.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Conquering Forms in Vue]]></video:title><video:description><![CDATA[Building great forms is a pain. You need to consider labels, help text, validation, grouping, internationalization, accessibility, repopulation, and backend error handling. Honestly, it can be tempting to cut corners. In this talk we’ll introduce FormKit — a form framework that can dramatically simplify your next project.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2023/appetite-for-components/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FLee Martin.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Appetite for Components]]></video:title><video:description><![CDATA[Five years ago, Vue.js completely changed the way I develop experimental web apps for some of the biggest artists in music (Foo Fighters, Metro Boomin, Lord Huron, Florence and The Machine, and many many others.)]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2023/testing-vue-components-with-cypress/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FMark Noonan.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Testing Vue Components with Cypress]]></video:title><video:description><![CDATA[Let's dive into Cypress component testing for Vue, and look at how to mount a component and test its behavior from a user's perspective, in the browser. We'll talk about best practices for slots, props, events, and other common scenarios that Vue developers might run into, like how to provide a router or global store to your components when needed.

This talk will assume some familiarity with Vue and general ideas around component-based development, but doesn't assume you already have component testing experience.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2023/render-when-render-where-render-why-render-what/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FPhil Hawksworth.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Render when? Render where? Render why? Render what?]]></video:title><video:description><![CDATA[In this talk, we’ll compare popular rendering models in order to understand their relative strengths and weaknesses. We’ll consider what project requirements might call for different types of rendering. And we’ll walk through a practical example which combines a number of rendering techniques to see how a web project can use a variety of complementary technologies with compelling results.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2023/10-things-about-postman-everyone-should-know/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FPooja Mistry.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[10 things about Postman everyone should know]]></video:title><video:description><![CDATA[Everyone is familiar with Postman as being a helpful tool for testing APIs. But people are often surprised when they discover the Postman platform’s true depth and wide breadth of capabilities beyond testing. In this session, I’m here to share 10 valuable tips and tricks I’ve learned along the way that will make you say, “Whoa, that’s awesome!”]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2023/vue-to-the-edge/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FSébastien Chopin.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Vue to the Edge]]></video:title><video:description><![CDATA[Learn how to build a Vue application deployed to the edge to bring a blazing fast experience to your end users.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2023/demystifying-the-dreaded-ab-test/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FChris Demars.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Demystifying the Dreaded A/B Test]]></video:title><video:description><![CDATA[The A/B test! We've all thought it: "What's the point? How much configuration do we need?" If you're familiar with the scientific method, those steps carve out the path to experimentation and A/B testing. Everyone loves a good hypothesis right? I know I do. Melding the world of science and software can help alleviate the stresses of experiments and help to maximize impact of every feature. In this talk we will journey through what an A/B test is, defining goals for A/B testing your app, and rolling out features based on successful experiments.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2023/introducing-unjs/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FDaniel Roe.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Introducing unjs]]></video:title><video:description><![CDATA[]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2023/nuxt-ssg-strategies-and-pitfalls/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FDavid Nahodyl1.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Nuxt SSG: Strategies & Pitfalls]]></video:title><video:description><![CDATA[]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2023/building-your-first-open-source-project/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FErik Hanchett.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Building Your First Open Source Project]]></video:title><video:description><![CDATA[Erik Hanchett presents his lightning talk at VueConf US 2023]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2023/two-keys-to-ai-future/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FGant Laborde.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Two Keys to AI's Future]]></video:title><video:description><![CDATA[]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2023/building-desktop-apps-with-vue/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FJ.D. Hillen.1688132632507.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Building Desktop Apps with Vue]]></video:title><video:description><![CDATA[]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2023/devops-before-there-was-devops/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FJeremy Meiss.1688132632508.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[DevOps before there was "devops"]]></video:title><video:description><![CDATA[]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2023/session-replay/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FRyan Albrecht.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Session Replay]]></video:title><video:description><![CDATA[]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2023/vuejs-building-secure-applications/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FTyler Clark.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Vue.js: Building Secure Applications]]></video:title><video:description><![CDATA[This talk focuses on the various techniques and best practices that developers can use to ensure the security of their Vue applications. It covers topics such as authentication and authorization, multifactor auth, JWTs, fine-grain-authorization, and passwordless. I'll provide a introductory understanding of the risks involved in building Vue applications, and will show attendees some techniques to secure apps by using Vue's built-in features and additional security libraries. Through practical examples, attendees will learn how to identify and mitigate security risks in their own Vue projects.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vuejs-live-2023/</loc></url><url><loc>https://www.vuemastery.com/conferences/vuejs-live-2023/the-hidden-cost-of-open-source/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FAaron Mitchell.1691695560596.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[The Hidden Cost of Open Source]]></video:title><video:description><![CDATA[There is a cost that many companies don’t consider when using open source. It can cost a lot of money and time to keep upgrading sunsetted versions.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vuejs-live-2023/a-saga-of-web-rendering-woes/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FAlba Silvente Fuentes.1691695567357.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[A Saga of Web Rendering Woes]]></video:title><video:description><![CDATA[This talk will look at the evolution of web rendering modes and what the Jamstack movement is all about. We will build a demo project to show how a static site generator and a Headless CMS can be combined to create dynamic and engaging stories while maintaining a static site's performance and scalability benefits. You will learn about the advantages and limitations of each rendering mode and gain a deeper understanding of how to use Jamstack to build powerful and dynamic storytelling experiences.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vuejs-live-2023/the-vue-niverse-of-seo-uncovering-the-secrets/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FAlexander Lichter.1691695571658.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[The Vue-niverse of SEO: Uncovering the Secrets]]></video:title><video:description><![CDATA[This talk discusses the impact of JavaScript on SEO, particularly for single-page applications (SPAs). When Google crawls and indexes an SPA, there are limitations such as no interactions, no scrolling, and no data persistence. Additionally, SPA URLs must be actual URLs and not just fragments. The talk also covers on-page and technical SEO, including the importance of HTTPS, mobile friendliness, and descriptive URLs. The use of Nuxt.js and its SEO kit is recommended for easier implementation of SEO best practices.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vuejs-live-2023/tresjs-a-declarative-way-of-creating-3d-scenes-from-vue-components/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FAlvaro Saburido.1691695575987.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[TresJS, a declarative way of creating 3D scenes from Vue components]]></video:title><video:description><![CDATA[Meet TresJS ▲ ■ ●, a declarative way of bringing the magic of ThreeJS using everyday Vue Components and composables. Think of it as React-three-fiber or Lunchbox but without the need of a custom renderer. It just works. Are you ready to add a new dimension to your Vue Apps?]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vuejs-live-2023/building-for-the-edge-crafting-a-next-gen-framework/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FDaniel Roe.1691695580290.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Building for the Edge - Crafting a Next-Gen Framework]]></video:title><video:description><![CDATA[Creating a new Vue-based meta-framework from scratch with live coding.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vuejs-live-2023/stop-writing-your-routes/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FEduardo San Martin Morote.1691695584519.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Stop Writing Your Routes]]></video:title><video:description><![CDATA[The more you keep working on an application, the more complicated its routing becomes, and the easier it is to make a mistake. "Was the route named users or was it user?", "Did it have an id param or was it userId?". If only TypeScript could tell you what are the possible names and params. If only you didn't have to write a single route anymore and let a plugin do it for you. In this talk we will go through what it took to bring automatically typed routes for Vue Router.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vuejs-live-2023/you-are-probably-using-lighthouse-wrong/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FFilip Rakowski.1691695593622.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[You’re Probably Using Lighthouse Wrong: How We Got Tricked by a Single Magic Number]]></video:title><video:description><![CDATA[These days web performance is one of the most important things everyone wants to optimize on their apps, and it's clear to everyone how dramatic the impact of a poorly optimized website is on business. Yet we as an industry completely fail in recognizing its complexity and widely misuse the most common tool to measure it — Google Lighthouse. If you’re one of those people thinking that good performance equals a good Lighthouse score, you’ve also fallen into this trap and this talk is for you.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vuejs-live-2023/image-optimization-quick-win-for-improving-performance-in-vue-&amp;-nuxt-apps/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FJakub Andrzejewski.1691695597955.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Image Optimization - Quick Win for Improving Performance in Vue & Nuxt Apps]]></video:title><video:description><![CDATA[Improving Performance of Vue or Nuxt apps is not an easy task. However, there are some quick wins that you can implement easily that will drastically improve the performance of your website. One of such quick win is Image Optimization. In this talk, I will teach you how to optimize images on the fly with Digital Asset Managements services like Cloudinary or Content Management Systems, utilize the concept of Lazy Loading, use compressed format of images like WEBP, and many more!]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vuejs-live-2023/building-backwards-compatible-vue-libraries/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FJessica Sachs.1691695602223.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Building Backwards Compatible Vue Libraries]]></video:title><video:description><![CDATA[Many organizations with component libraries are working on upgrades for their Vue 2 apps so that they can support Vue 3. Sometimes it's not easy! Ideally, you could write your code once and cross-compile it for different Vue runtimes. In this talk, we'll do exactly that. At the end, you'll have a recipe for shipping libraries that support both Vue 2 and Vue 3.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vuejs-live-2023/nuxt-3-modules-and-open-source/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FLucie Haberer.1691695606489.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Nuxt 3 Modules and Open-Source]]></video:title><video:description><![CDATA[Nuxt modules are the de-facto way of extending our Nuxt applications with new behaviors and functionalities. Have you ever built your own? Why would you bother with hundreds of modules already out there? Let's answer those questions together and see why making your own modules in Nuxt 3 can both help you have a deeper understanding of how Nuxt works while also paving the way for you to get into open source!]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vuejs-live-2023/building-the-vue-3-vdom-on-stage/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FMarc Backes.1691695610752.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Building the Vue 3 VDOM on Stage]]></video:title><video:description><![CDATA[This talk is designed to show people what a virtual DOM is, and what it is used for. We'll see a bit the theory of it, then build a simplified version of the Vue 3 VDOM on stage from scratch - step by step! After the talk, people will have more familiarity with the black box that sometimes is "VDOM".]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vuejs-live-2023/writing-good-tests-for-vue-applications/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FMarkus Oberlehner.1691695614987.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Writing Good Tests for Vue Applications (e2e vs. Component Tests, Features of a *Good* Test)]]></video:title><video:description><![CDATA[With my talk, I want to walk through 1) how to come up with a solid testing strategy (tools and practices) and 2) work on a real-world example of how we combine E2E testing with component testing. I want to highlight some general principles from testing theory and then go into the practical application—live coding in a TDD manner.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vuejs-live-2023/component-design-patterns/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FMichael Thiessen.1691695619319.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Component Design Patterns]]></video:title><video:description><![CDATA[How do you write a good component? In this talk we’ll explore several different patterns for writing better components. We’ll look at techniques for simplifying our components, making them easier to understand, and getting more out of the components we’ve already got.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vuejs-live-2023/alive-and-kicking-a-vue-into-rock-&amp;-roll/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FTim Benniks.1691695623556.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Alive and Kicking - A Vue Into Rock & Roll]]></video:title><video:description><![CDATA[Rock & roll is alive and kicking and in this talk I will showcase that Vue is so versatile it can be used to do audio visualisations while rock guitar soars through the browser. The audience will have access to a vue application which allows them to vote for a song to be played live on stage. The screen shows all the votes and I play them as they come up. While playing music meta data is shown and an audio visualisation plays while I’m rocking on stage. The more votes a song gets, the higher it shows on the list and the more chance I’ll play it. The whole experience is created using Vue and Uniform. Next to waking the audience up with some spicy rock & roll, I will explain how the software was build and why Vue is such an important technology for composable architectures with multiple channels. Vue is also used to control the guitar sound, right from the browser.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vuejs-live-2024/</loc></url><url><loc>https://www.vuemastery.com/conferences/vuejs-live-2024/10-years-of-vue-the-past-and-the-future/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FEvan You.1717536793289.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[10 Years of Vue: the Past and the Future]]></video:title><video:description><![CDATA[Vue, first publicly announced in 2014, celebrates its 10th anniversary this year. Explore how Vue has evolved from its humble beginnings, the challenges faced, key learnings, and future directions. Evan You takes a look back at the journey of Vue and discusses its impact on the development community.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vuejs-live-2024/whats-hot-on-tresjs-v4/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FAlvaro Saburido.1717536773711.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[What's Hot On Tresjs V4]]></video:title><video:description><![CDATA[A year has passed since TresJS was open-sourced at this conference. In this talk, Alvaro provides a full update on what's been developed for v4 of the core, including new devtools, translated docs, a cookbook, new features, and extensive bug fixing.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vuejs-live-2024/learning-to-learn/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FAshwin Vinay Phadke.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Learning To Learn: How To Web Dev The Right Way With Vue If You Are A Beginner]]></video:title><video:description><![CDATA[Breaking into web development can be overwhelming. Ashwin shares their journey from discovering marquee tags to building web apps with experienced developers. Learn what and how to study, where to start, and the importance of mentorship. Ashwin covers how and why to start learning, choosing the right speed and mentor, selecting the right framework (why it should be Vue), struggles and lessons learned, and key insights before diving into web development.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vuejs-live-2024/primevue-the-next-gen-ui-component-library/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FÇağatay Çivici.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[PrimeVue | The Next-Gen UI Component Library]]></video:title><video:description><![CDATA[PrimeVue is a popular UI Component library for Vue 3, featuring over 80 components, unstyled mode with Tailwind CSS presets, pass-through properties, design-agnostic theming, icons, blocks, and templates. Çağatay provides an overview of PrimeVue's feature set and delves into best practices of UI component development, the component suite, pass-through API, design-agnostic theming, unstyled mode, Tailwind CSS presets, icons, blocks, templates, Figma to theme generation, and the roadmap for future development.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vuejs-live-2024/building-a-better-hammer-the-story-of-nuxt-4/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FDaniel Roe.1717536787024.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Building a Better Hammer - The Story of Nuxt 4]]></video:title><video:description><![CDATA[Explore what's new in Nuxt 4 and the architectural decisions made to make it 'a better hammer' for any project. Daniel aims to provide useful insights for everyone, even those not using Nuxt. The talk focuses on framework philosophy and reveals the innovations under the hood.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vuejs-live-2024/data-loaders-elevating-data-fetching-in-vue/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FEduardo San Martin Morote.1717536790190.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Data Loaders - Elevating Data Fetching in Vue]]></video:title><video:description><![CDATA[Data fetching is a critical part of modern web applications and a complex problem with many partial solutions. Explore the new Data Loaders API for Vue Router, how it compares to existing solutions, and how it can greatly simplify data fetching in Vue applications. Eduardo provides insights into the benefits and implementation of this new API.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vuejs-live-2024/more-secure-vue-nuxt-apps-by-default/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FJakub Andrzejewski.1717536793290.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[More Secure Vue & Nuxt Apps - By Default]]></video:title><video:description><![CDATA[Developers often need to work quickly, which can impact software quality aspects like performance, accessibility, and security. Configuring web applications to be protected against common threats is challenging. Nuxt Security, a module for Nuxt, helps build more secure applications without additional configuration. Explore concepts of security in modern web applications and OWASP to build more secure Vue and Nuxt applications with guidance from Jakub.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vuejs-live-2024/the-swiss-army-knife-of-every-vue-developer/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FJuan Andrés Núñez Charro.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[The Swiss Army Knife of Every Vue Developer]]></video:title><video:description><![CDATA[Composables (composition functions) are stateful/stateless functions that leverage Vue's reactivity API, decoupling it from components. This shift in perspective opens possibilities for tackling common scenarios in new and creative ways. Juan Andrés Núñez Charro explores how to effectively use composables to enhance your Vue applications.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vuejs-live-2024/scalable-forms-in-vue/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FJustin Schroeder.1717536803122.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Scalable Forms in Vue]]></video:title><video:description><![CDATA[Discover the art of creating scalable forms in Vue using FormKit, ideal for teams with complex form-heavy projects. Justin delves into strategies for decomposing forms into smaller, composable components, simplifying development, and enhancing team efficiency.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vuejs-live-2024/no-more-mocking-write-better-tests-for-your-nuxt-application-with-contract-tests/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FMarkus Oberlehner.1717536806322.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[No More Mocking! Write Better Tests For Your Nuxt Application With Contract Tests]]></video:title><video:description><![CDATA[Explore how to create resilient software systems using API-first techniques. Markus demonstrates using Specmatic and Playwright to ensure Nuxt applications work seamlessly with microservices. Learn to write OpenAPI specifications, spin up stub servers, and test in a controlled environment. Discover techniques for rapid iteration without fearing regressions, and understand contract testing principles and integration steps with Playwright or Cypress for your projects.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vuejs-live-2024/we-may-not-need-component-testing/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FMaya Shavin.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[We May Not Need Component Testing]]></video:title><video:description><![CDATA[Testing is mandatory, and unit tests are the foundation for building a robust testing system for our projects. Maya examines how many unit tests are efficient for front-end projects involving components without overkill. Maya discusses whether additional libraries like Testing Library or Vue Test Utils with Vitest are necessary when Playwright alone can suffice. Explore if using an E2E framework like Playwright for component testing is overkill in this insightful talk.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vuejs-live-2024/6-levels-of-reusability/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FMichael Thiessen.1717536812321.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[6 Levels of Reusability]]></video:title><video:description><![CDATA[Master the art of making your components highly reusable. Michael explores the 6 Levels of Reusability, demonstrating how to progressively enhance component reusability with powerful patterns and tools that simplify code reuse.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vuejs-live-2024/who-are-vue-authn-in-vue-the-important-parts/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FRamona Schwering.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Who Are Vue? Authn In Vue, The Important Parts]]></video:title><video:description><![CDATA[In the ever-evolving landscape of modern single-page applications, VueJS stands out but presents challenges, especially with authentication. Ramona guides you through the frontiers of authentication in VueJS applications, providing an overview of the authentication flow, breaking down each step, and demystifying the role of JWT tokens. Whether you're a seasoned VueJS developer or just starting, this session offers valuable insights. Learn essential terms and concepts of authentication, with VueJS as an example, but the concepts remain agnostic.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vuejs-live-2024/build-your-own-component-library-with-shadcn-vue/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FZernonia Kong.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Build Your Own Component Library, With `Shadcn-vue`]]></video:title><video:description><![CDATA[Shadcn, the creator of ui.shadcn, introduced a new way for developers to build component libraries. Unlike traditional libraries with fixed styling, props, or events, this approach allows complete customization to suit your needs. As Shadcn says, "It's a collection of re-usable components that you can copy and paste into your apps." Zernonia showcases the power of this approach, demonstrating customization techniques and explaining its recent surge in popularity.]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2024/</loc></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2024/vue-vite-updates/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FEvan You.1718315967842.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Vue & Vite Updates]]></video:title><video:description><![CDATA[]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2024/slots-slots-slots-everybody/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FAbbey Perini.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Slots Slots Slots Everybody]]></video:title><video:description><![CDATA[]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2024/rendering-revealed-conf/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FAdam Jahr.1718815870623.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Rendering Revealed]]></video:title><video:description><![CDATA[]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2024/empowering-vue-apps-with-ai/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FAileen Villanueva Lecuona.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Empowering Vue Apps with AI]]></video:title><video:description><![CDATA[]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2024/vue-js-hydration-demystified/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FAlexander Lichter .jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Vue.js Hydration Demystified]]></video:title><video:description><![CDATA[]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2024/real-native-vue-apps-with-nativescript-vue/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FCamilo Martinez.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Real Native Vue Apps with NativeScript-Vue]]></video:title><video:description><![CDATA[]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2024/tech-parents-dos-and-donts/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FCassandra Chin.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Tech Parents Do's and Don'ts for Teaching Your Kids Programming]]></video:title><video:description><![CDATA[]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2024/common-mistakes-in-vue-js-and-how-to-avoid-them/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FDaniel Kelly.1718815887638.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Common Mistakes in Vue.js and How to Avoid Them]]></video:title><video:description><![CDATA[]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2024/vue-you-and-ai-search/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FDaniel Madalitso Phiri.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Vue, You and AI Search]]></video:title><video:description><![CDATA[]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2024/nailing-it-with-nuxt-3-inside-and-out/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FDaniel Roe.1718815892538.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Nailing It with Nuxt 3 - Inside and Out]]></video:title><video:description><![CDATA[]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2024/laravel/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FDavid Nahodyl.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Laravel]]></video:title><video:description><![CDATA[]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2024/end-to-end-type-safety/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FErik Hanchett.1718815895756.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[End-to-end Type Safety]]></video:title><video:description><![CDATA[]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2024/a-new-vue-router/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FEvan Sutherland.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[A New Vue Router]]></video:title><video:description><![CDATA[]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2024/fast-nuxt-js-applications-with-prpl-pattern/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FFilip Rakowski.1718815902205.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Fast Nuxt.js Applications with PRPL Pattern]]></video:title><video:description><![CDATA[]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2024/from-your-perspective-a-nerdy-journey/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FGant Laborde.1718815905271.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[From Your Perspective - A Nerdy Journey]]></video:title><video:description><![CDATA[]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2024/vue-js-globetrotter-mastering-i18n-for-user-centric-web-applications/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FJ.D. Hillen.1718815908338.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Vue.js Globetrotter: Mastering i18n for User-Centric Web Applications]]></video:title><video:description><![CDATA[]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2024/ai-and-the-future-of-testing/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FJordan Powell.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[AI and the Future of Testing]]></video:title><video:description><![CDATA[]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2024/vueconf-scalable-forms-in-vue/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FJustin Schroeder.1718815914456.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Scalable Forms in Vue]]></video:title><video:description><![CDATA[]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2024/turbocharged-javascript-with-hand-crafted-wasm/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FJustin Schroeder.1718815914456.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Turbocharged Javascript with hand crafted WASM]]></video:title><video:description><![CDATA[]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2024/accessibility/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FKatherine Herbert.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Accessibility]]></video:title><video:description><![CDATA[]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2024/vueconf-appetite-for-components/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FLee Martin.1718815922853.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Appetite for Components]]></video:title><video:description><![CDATA[]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2024/reusable-widgets-that-work/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FMaria Lamardo.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Reusable Widgets that Work!]]></video:title><video:description><![CDATA[]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2024/how-to-be-mentored/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FNerando Johnson.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[How !to be Mentored]]></video:title><video:description><![CDATA[]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2024/fetching-data-and-the-perception-of-speed/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FRijk van Zanten.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Fetching Data and the Perception of Speed]]></video:title><video:description><![CDATA[]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2024/migrating-from-vue-2-class-components/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FRobby Helms.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Migrating from Vue 2 Class Components]]></video:title><video:description><![CDATA[]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2024/performance-minded-development-with-nuxt-3/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FValerie England.jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Performance-Minded Development with Nuxt 3]]></video:title><video:description><![CDATA[]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/conferences/vueconf-us-2024/vue-tensorflow-js-building-your-first-ml-powered-app/</loc><video:video><video:thumbnail_loc>https://firebasestorage.googleapis.com/v0/b/vue-mastery.appspot.com/o/flamelink%2Fmedia%2FWill Marple .jpg?alt=media</video:thumbnail_loc><video:title><![CDATA[Vue + TensorFlow.js: Building Your First ML Powered App]]></video:title><video:description><![CDATA[]]></video:description></video:video></url><url><loc>https://www.vuemastery.com/blog/unit-testing-vue-what-to-test/</loc></url><url><loc>https://www.vuemastery.com/blog/this-month-in-vue-september-2019/</loc></url><url><loc>https://www.vuemastery.com/blog/unit-testing-in-vue-your-first-test/</loc></url><url><loc>https://www.vuemastery.com/blog/vue-3-start-using-it-today/</loc></url><url><loc>https://www.vuemastery.com/blog/unit-testing-in-vue-more-complex-components/</loc></url><url><loc>https://www.vuemastery.com/blog/This-Month-in-Vue-Oct-2019/</loc></url><url><loc>https://www.vuemastery.com/blog/why-nuxtjs-is-the-perfect-framework-for-building-static-websites/</loc></url><url><loc>https://www.vuemastery.com/blog/top-ways-to-learn-Vue-3/</loc></url><url><loc>https://www.vuemastery.com/blog/This-Month-In-Vue-Nov-2019/</loc></url><url><loc>https://www.vuemastery.com/blog/apply-for-our-vueconf-scholarship/</loc></url><url><loc>https://www.vuemastery.com/blog/This-Month-In-Vue-Dec-2019/</loc></url><url><loc>https://www.vuemastery.com/blog/announcing-our-vueconf-scholarship-winners/</loc></url><url><loc>https://www.vuemastery.com/blog/Refresh-Proof-Vue-Forms-with-Local-Storage/</loc></url><url><loc>https://www.vuemastery.com/blog/This-Month-In-Vue-Jan-2020/</loc></url><url><loc>https://www.vuemastery.com/blog/Reactivity-Vue2-vs-Vue3/</loc></url><url><loc>https://www.vuemastery.com/blog/Validating-Schema-Driven-forms-with-Vuelidate/</loc></url><url><loc>https://www.vuemastery.com/blog/creating-the-best-video-programming-tutorials/</loc></url><url><loc>https://www.vuemastery.com/blog/why-vue-is-the-best-framework-for-2020/</loc></url><url><loc>https://www.vuemastery.com/blog/vue-3-data-down-events-up/</loc></url><url><loc>https://www.vuemastery.com/blog/faster-hot-reloading-for-vue-development-with-vite/</loc></url><url><loc>https://www.vuemastery.com/blog/vue-quasar-desktop-app-and-browser-extension/</loc></url><url><loc>https://www.vuemastery.com/blog/vue-3-the-future-of-front-end/</loc></url><url><loc>https://www.vuemastery.com/blog/vue-3-learning-path/</loc></url><url><loc>https://www.vuemastery.com/blog/vue-router-a-tutorial-for-vue-3/</loc></url><url><loc>https://www.vuemastery.com/blog/why-you-should-use-vue-graphql/</loc></url><url><loc>https://www.vuemastery.com/blog/part-2-building-a-graphql-server/</loc></url><url><loc>https://www.vuemastery.com/blog/part-3-client-side-graphql-with-vuejs/</loc></url><url><loc>https://www.vuemastery.com/blog/vue3-is-here-whats-next/</loc></url><url><loc>https://www.vuemastery.com/blog/getting-started-with-typescript-and-vuejs/</loc></url><url><loc>https://www.vuemastery.com/blog/vs-code-for-vuejs-developers/</loc></url><url><loc>https://www.vuemastery.com/blog/vue-2-or-vue-3/</loc></url><url><loc>https://www.vuemastery.com/blog/data-fetching-and-caching-with-swr-and-vuejs/</loc></url><url><loc>https://www.vuemastery.com/blog/what-you-can-do-with-ionic-vue/</loc></url><url><loc>https://www.vuemastery.com/blog/2020-in-revue/</loc></url><url><loc>https://www.vuemastery.com/blog/es6-features-you-can-use-with-vue-now/</loc></url><url><loc>https://www.vuemastery.com/blog/mock-service-worker-api-mocking-for-vuejs-development-testing/</loc></url><url><loc>https://www.vuemastery.com/blog/why-vue-is-the-best-framework-for-2021-and-beyond/</loc></url><url><loc>https://www.vuemastery.com/blog/refactoring-vuex-with-map-helpers-and-modules/</loc></url><url><loc>https://www.vuemastery.com/blog/vue-vs-svelte-comparing-framework-internals/</loc></url><url><loc>https://www.vuemastery.com/blog/getting-started-with-pwas-and-vue3/</loc></url><url><loc>https://www.vuemastery.com/blog/vue-3-migration-build/</loc></url><url><loc>https://www.vuemastery.com/blog/migration/</loc></url><url><loc>https://www.vuemastery.com/blog/vue3-pwas-deployment-and-performance/</loc></url><url><loc>https://www.vuemastery.com/blog/whats-new-in-the-vue3-devtools/</loc></url><url><loc>https://www.vuemastery.com/blog/learn-vite-with-evan-you/</loc></url><url><loc>https://www.vuemastery.com/blog/nuxt-3-is-here/</loc></url><url><loc>https://www.vuemastery.com/blog/most-popular-vuejs-plugins-and-packages/</loc></url><url><loc>https://www.vuemastery.com/blog/what-vue-skills-you-need-for-2022/</loc></url><url><loc>https://www.vuemastery.com/blog/understanding-vue-3-expose/</loc></url><url><loc>https://www.vuemastery.com/blog/vue-router-4-route-params-not-available-on-created-setup/</loc></url><url><loc>https://www.vuemastery.com/blog/5-reasons-to-attend-a-vue-conference-in-2022/</loc></url><url><loc>https://www.vuemastery.com/blog/coding-better-composables-1-of-5/</loc></url><url><loc>https://www.vuemastery.com/blog/coding-better-composables-2-of-5/</loc></url><url><loc>https://www.vuemastery.com/blog/coding-better-composables-3-of-5/</loc></url><url><loc>https://www.vuemastery.com/blog/coding-better-composables-4-of-5/</loc></url><url><loc>https://www.vuemastery.com/blog/coding-better-composables-5-of-5/</loc></url><url><loc>https://www.vuemastery.com/blog/new-nuxt-3-feature-incremental-static-generation/</loc></url><url><loc>https://www.vuemastery.com/blog/advantages-of-pinia-vs-vuex/</loc></url><url><loc>https://www.vuemastery.com/blog/nuxt-3-state-mangement-pinia-vs-usestate/</loc></url><url><loc>https://www.vuemastery.com/blog/vues-watch-vs-watcheffect-which-should-i-use/</loc></url><url><loc>https://www.vuemastery.com/blog/best-vueuse-composables/</loc></url><url><loc>https://www.vuemastery.com/blog/vite3-is-here-whats-new-how-to-migrate/</loc></url><url><loc>https://www.vuemastery.com/blog/getting-started-with-vitest/</loc></url><url><loc>https://www.vuemastery.com/blog/nuxt-vs-next-how-do-they-compare/</loc></url><url><loc>https://www.vuemastery.com/blog/utility-first-css-with-tailwind/</loc></url><url><loc>https://www.vuemastery.com/blog/vite-vs-webpack/</loc></url><url><loc>https://www.vuemastery.com/blog/a-brief-history-of-vue-script-setup/</loc></url><url><loc>https://www.vuemastery.com/blog/async-with-suspense/</loc></url><url><loc>https://www.vuemastery.com/blog/implementing-dark-mode-with-vueuse/</loc></url><url><loc>https://www.vuemastery.com/blog/refresh-proof-your-pinia-stores/</loc></url><url><loc>https://www.vuemastery.com/blog/building-a-plugin-with-vite/</loc></url><url><loc>https://www.vuemastery.com/blog/advanced-data-fetching-in-vue-w-tanstack-query/</loc></url><url><loc>https://www.vuemastery.com/blog/api-management-in-nuxt-3-with-typescript/</loc></url><url><loc>https://www.vuemastery.com/blog/vue-skills-to-master-in-2023/</loc></url><url><loc>https://www.vuemastery.com/blog/chatgpt-for-web-developers/</loc></url><url><loc>https://www.vuemastery.com/blog/getting-started-with-astro-for-vue-developers/</loc></url><url><loc>https://www.vuemastery.com/blog/exploring-vuetify-3/</loc></url><url><loc>https://www.vuemastery.com/blog/nuxt-vs-vitepress-vs-astro/</loc></url><url><loc>https://www.vuemastery.com/blog/how-to-get-hired-as-a-vue-developer/</loc></url><url><loc>https://www.vuemastery.com/blog/supercharge-your-code-with-vuemacros/</loc></url><url><loc>https://www.vuemastery.com/blog/building-a-3d-scene-in-nuxt-with-tresjs/</loc></url><url><loc>https://www.vuemastery.com/blog/exploring-the-nuxt-3-devtools/</loc></url><url><loc>https://www.vuemastery.com/blog/nuxt-3-performance-pt-1/</loc></url><url><loc>https://www.vuemastery.com/blog/nuxt-3-performance-pt-2/</loc></url><url><loc>https://www.vuemastery.com/blog/build-an-x-clone-w-nuxt-ui/</loc></url><url><loc>https://www.vuemastery.com/blog/touring-nuxt-studio/</loc></url><url><loc>https://www.vuemastery.com/blog/nuxt-icon/</loc></url><url><loc>https://www.vuemastery.com/blog/how-to-build-accessible-vuejs-applications/</loc></url><url><loc>https://www.vuemastery.com/blog/vue-tools-to-master-in-2024/</loc></url><url><loc>https://www.vuemastery.com/blog/effortless-forms-w-formkit/</loc></url><url><loc>https://www.vuemastery.com/blog/nuxts-server-only-components-should-be-on-your-radar/</loc></url><url><loc>https://www.vuemastery.com/blog/the-future-of-vue-vapor-mode/</loc></url><url><loc>https://www.vuemastery.com/blog/upgrading-to-nuxt-4/</loc></url><url><loc>https://www.vuemastery.com/blog/minimalist-nuxt-authentication/</loc></url><url><loc>https://www.vuemastery.com/blog/dynamic-layouts-with-vue-jsx/</loc></url><url><loc>https://www.vuemastery.com/blog/nuxt-4-features-you-can-use-now/</loc></url><url><loc>https://www.vuemastery.com/blog/the-build-process-of-a-vue-app-rollup-vs-rolldown/</loc></url><url><loc>https://www.vuemastery.com/blog/whats-next-for-vue-in-2025/</loc></url><url><loc>https://www.vuemastery.com/blog/build-a-greeting-card-maker-w-vue-3-satori/</loc></url><url><loc>https://www.vuemastery.com/blog/vue-native-vue-lynx/</loc></url><url><loc>https://www.vuemastery.com/blog/top-ai-tools-for-developers/</loc></url><url><loc>https://www.vuemastery.com/promotion/free-weekend-april-2021/</loc></url><url><loc>https://www.vuemastery.com/promotion/RWV3-free/</loc></url><url><loc>https://www.vuemastery.com/promotion/vite-weekend-2021/</loc></url><url><loc>https://www.vuemastery.com/promotion/black-friday-2021/</loc></url><url><loc>https://www.vuemastery.com/promotion/free-weekend-december-2021/</loc></url><url><loc>https://www.vuemastery.com/promotion/typescript-free-weekend/</loc></url><url><loc>https://www.vuemastery.com/promotion/pinia-q-and-a-old/</loc></url><url><loc>https://www.vuemastery.com/promotion/pinia-Q&amp;A/</loc></url><url><loc>https://www.vuemastery.com/promotion/free-weekend/</loc></url><url><loc>https://www.vuemastery.com/new-adventure/</loc></url><url><loc>https://www.vuemastery.com/level-up/</loc></url><url><loc>https://www.vuemastery.com/about_old/</loc></url><url><loc>https://www.vuemastery.com/account/</loc></url><url><loc>https://www.vuemastery.com/black-friday-2020/</loc></url><url><loc>https://www.vuemastery.com/blog/</loc></url><url><loc>https://www.vuemastery.com/chatbot-disclaimer/</loc></url><url><loc>https://www.vuemastery.com/conference-discount/</loc></url><url><loc>https://www.vuemastery.com/conferences/</loc></url><url><loc>https://www.vuemastery.com/contact/</loc></url><url><loc>https://www.vuemastery.com/courses/</loc></url><url><loc>https://www.vuemastery.com/discount/</loc></url><url><loc>https://www.vuemastery.com/download/</loc></url><url><loc>https://www.vuemastery.com/download-migration-guide/</loc></url><url><loc>https://www.vuemastery.com/download-nuxt/</loc></url><url><loc>https://www.vuemastery.com/download-vue3/</loc></url><url><loc>https://www.vuemastery.com/free-week/</loc></url><url><loc>https://www.vuemastery.com/holiday-2020/</loc></url><url><loc>https://www.vuemastery.com/impersonnate/</loc></url><url><loc>https://www.vuemastery.com/learn-vue-this-summer/</loc></url><url><loc>https://www.vuemastery.com/learning-path/</loc></url><url><loc>https://www.vuemastery.com/live-training/</loc></url><url><loc>https://www.vuemastery.com/migration-guide-cheat-sheet/</loc></url><url><loc>https://www.vuemastery.com/nuxt-cheat-sheet/</loc></url><url><loc>https://www.vuemastery.com/pricing/</loc></url><url><loc>https://www.vuemastery.com/privacy/</loc></url><url><loc>https://www.vuemastery.com/search/</loc></url><url><loc>https://www.vuemastery.com/support/</loc></url><url><loc>https://www.vuemastery.com/team/</loc></url><url><loc>https://www.vuemastery.com/terms/</loc></url><url><loc>https://www.vuemastery.com/thank-you-annual/</loc></url><url><loc>https://www.vuemastery.com/thank-you-free-week/</loc></url><url><loc>https://www.vuemastery.com/thank-you-free-weekend/</loc></url><url><loc>https://www.vuemastery.com/thank-you-monthly/</loc></url><url><loc>https://www.vuemastery.com/thank-you-summer/</loc></url><url><loc>https://www.vuemastery.com/vue-3-cheat-sheet/</loc></url><url><loc>https://www.vuemastery.com/vue-cheat-sheet/</loc></url><url><loc>https://www.vuemastery.com/vue-jobs/</loc></url><url><loc>https://www.vuemastery.com/account/admin/</loc></url><url><loc>https://www.vuemastery.com/account/login/</loc></url><url><loc>https://www.vuemastery.com/account/signup/</loc></url><url><loc>https://www.vuemastery.com/</loc></url><url><loc>https://www.vuemastery.com/courses-path/</loc></url><url><loc>https://www.vuemastery.com/courses-path/beginner/</loc></url><url><loc>https://www.vuemastery.com/learning-path/beginner-vue-2/</loc></url><url><loc>https://www.vuemastery.com/learning-path/beginner/</loc></url><url><loc>https://www.vuemastery.com/learning-path/intermediate/</loc></url><url><loc>https://www.vuemastery.com/learning-path/advanced/</loc></url><url><loc>https://www.vuemastery.com/vite-weekend-2021/</loc></url><url><loc>https://www.vuemastery.com/black-friday-2021/</loc></url><url><loc>https://www.vuemastery.com/free-weekend/</loc></url><url><loc>https://www.vuemastery.com/typescript-free-weekend/</loc></url><url><loc>https://www.vuemastery.com/pinia/</loc></url><url><loc>https://www.vuemastery.com/typescript/</loc></url><url><loc>https://www.vuemastery.com/vuex/</loc></url><url><loc>https://www.vuemastery.com/nuxt/</loc></url><url><loc>https://www.vuemastery.com/vue-router/</loc></url><url><loc>https://www.vuemastery.com/black-friday/</loc></url><url><loc>https://www.vuemastery.com/holiday/</loc></url></urlset>