Vue just got SO MUCH better

แชร์
ฝัง
  • เผยแพร่เมื่อ 19 ต.ค. 2024

ความคิดเห็น • 131

  • @sylvestrestalin
    @sylvestrestalin ปีที่แล้ว +43

    vue is just doing all the right things. It's becoome so much enjoyable to use since version 3 forwards.

    • @LearnVue
      @LearnVue  ปีที่แล้ว +4

      i really like it. and the stuff the nuxt team is working on is beautiful too

    • @FlorianWendelborn
      @FlorianWendelborn ปีที่แล้ว

      It’s become more enjoyable because they finally got closer to React, lol (hooks, typescript support, generics)

    • @chukwukamorka5055
      @chukwukamorka5055 ปีที่แล้ว

      Do you know what font he uses. It's gorgeous

    • @heroe1486
      @heroe1486 ปีที่แล้ว

      @@FlorianWendelborn yeah but in their own way, although you can still use jsx with vue

  • @alexandros-markovits
    @alexandros-markovits ปีที่แล้ว +18

    Wonderful improvements! DefineModel and especially generic components are such good additions to the framework!
    Was watching the generics rfc being worked quite some time now, good to have it now.

    • @LearnVue
      @LearnVue  ปีที่แล้ว +1

      yeah generics should unlock some really nice tooling

  • @phinneasmctipper7518
    @phinneasmctipper7518 ปีที่แล้ว +8

    Awesome content as always!
    Quick question: how do you make your code have a transition animation between states in your video?

    • @LearnVue
      @LearnVue  ปีที่แล้ว +5

      shamelessly stole this technique from th-cam.com/video/Vh3y1ela-_s/w-d-xo.html
      for mac, it's the "magic move" transition in keynote!

  • @aislanarislou
    @aislanarislou ปีที่แล้ว +19

    And now finally Vue achieves the "3.0" *stable version*

  • @ForesteamIV
    @ForesteamIV ปีที่แล้ว +3

    Reusable types became a huge problem for me. Even though there was a solution, it came at its own cost. I'm glad that there is now a native fix for this

  • @DominikGanic
    @DominikGanic ปีที่แล้ว +23

    defineModel 😍

    • @LearnVue
      @LearnVue  ปีที่แล้ว +4

      i wonder what other vue macros will make it into core

    • @wojciechosinski5927
      @wojciechosinski5927 ปีที่แล้ว +1

      @@LearnVue I hope that there will be an option to create subcomponents (or component fragments) like: all in the same file. So later you can compose cards using these subcomponents instead of parametrizing it or using slots of different kind. Lack of this feature adds complexity, cause this structure NEEDS to be defined somewhere and the only place is folder structure, which makes things a little harder to maintain.
      I feel like "setup" part is now pretty complete. What I also miss is "functional" directive and consistency between sfc and functional components. I wasn't using it in Vue 2, but was kind of neat.

    • @LearnVue
      @LearnVue  ปีที่แล้ว +1

      @@wojciechosinski5927 vueuse.org/core/createReusableTemplate/ something like this or something different?

  • @wojciechosinski5927
    @wojciechosinski5927 ปีที่แล้ว +10

    Huge update. All of these features are so useful! I wonder if you could cover more complex stuff like f.e. development methodology with Nuxt 3, Histoire, various tools to have visual regression testing, component testing, unit testing and automating all of them to create streamlined development process. What I always criticize about Vue is its ecosystem. Vue by itself is awesome, but there's lack of tools to pair it with it. There's so many underdeveloped packages that make development harder. Cypress for example is not yet released for Nuxt 3, same with i18n (package is still in development and this is one especially is so important!!!) There's no unstyled component library like Radix primitives for React. There's Headless UI with basic components, but comparing it with Radix, we can clearly see it's not enough. Please. Let's think about it together if you wish. It's of much importance for anyone doing apps ready for production.

    • @LearnVue
      @LearnVue  ปีที่แล้ว +6

      i agree with you. some context from my side: those videos just don't do as well. i'm working on some longer form content to post on my website (pay-what-you-want model) so i can keep the youtube for more fun/catchy topics and still have some of those deep dives into realistic use cases.
      also - learnvue community UI library???

    • @muli3700
      @muli3700 ปีที่แล้ว

      @@LearnVue Heck yeah! I just started creating one myself :>

  • @andrewkent922
    @andrewkent922 ปีที่แล้ว +1

    For assigning default values:
    const props = defineProps({state: {type: Boolean, default: false}})

    • @LearnVue
      @LearnVue  ปีที่แล้ว +3

      but i like the type-based syntax 🙈

  • @soviut303
    @soviut303 ปีที่แล้ว +2

    Really excited to see generics support finally land. I've been using it with the experimental flag for a while now. Hopefully this also means I can remove the linting exceptions for T.

    • @LearnVue
      @LearnVue  ปีที่แล้ว

      what have you been building with it?

    • @soviut303
      @soviut303 ปีที่แล้ว

      @@LearnVue A list component that lets you pass in a bunch of items and lets you add, sort and edit them in place. I use slots to let you define what goes in the "viewing" and "editing" states for each item. Having generic types means I can bind the item to the slot and it will know the type when you destructure it with v-slot.

  • @bastiendufour3841
    @bastiendufour3841 ปีที่แล้ว +1

    They also said that Suspense will come in 3.4 in a stable version 🔥

  • @Fly16
    @Fly16 ปีที่แล้ว

    as an experienced react developer wanting to try out vue, this channel's videos is just right with the pacing of the content to make me understand vue not as a total beginner to the javascript framework ecosystem :)

  • @Thr0nSK
    @Thr0nSK ปีที่แล้ว +1

    Excited to see this in Nuxt

  • @calimio6
    @calimio6 ปีที่แล้ว

    Bro this is just what I needed for my library!

    • @LearnVue
      @LearnVue  ปีที่แล้ว

      glad to hear it, what are ya building?

    • @calimio6
      @calimio6 ปีที่แล้ว

      @@LearnVue Just component lib for my projects. Being able to share props as types really makes composables powerfull

  • @mooza.shorts
    @mooza.shorts ปีที่แล้ว

    It solves so many issues I encountered lately

  • @sevenzones
    @sevenzones ปีที่แล้ว

    The font used in the vs code example is really cool. How do I set that up? It's very clean looking..

  • @bppdc
    @bppdc ปีที่แล้ว

    So amazing news! Thanks for a nice wrap up.

    • @LearnVue
      @LearnVue  ปีที่แล้ว

      thanks for watching

  • @iapplus
    @iapplus 10 หลายเดือนก่อน

    what font do you use in vscode,setup and lang is very beautiful

  • @ralacerda12
    @ralacerda12 ปีที่แล้ว

    Let's go! Thanks for the review of new features

    • @LearnVue
      @LearnVue  ปีที่แล้ว

      hope you have fun trying them out 😅

  • @psoglav
    @psoglav ปีที่แล้ว

    Thanks for the vid!
    What extension do you use to replace the icon name in the import path with the actual icon? Or maybe that’s a real file name…

    • @LearnVue
      @LearnVue  ปีที่แล้ว +1

      another beautiful antfu project github.com/antfu/vscode-iconify

  • @nothingrev
    @nothingrev 4 หลายเดือนก่อน

    there is a drawback when you destructure the props. it won't get latest value when the props value changes

  • @thepowerhat
    @thepowerhat ปีที่แล้ว

    Hey, what's the theme, font and design that you use for VSCode? Looks neat

    • @LearnVue
      @LearnVue  ปีที่แล้ว

      dank mono + dracula pro

  • @lexvdw
    @lexvdw ปีที่แล้ว

    External types and generic components!

  • @iamthe_OBSERVER
    @iamthe_OBSERVER ปีที่แล้ว

    i love your vids so much... but could i please know the name of the fonts you use?

  • @joshgarcia8631
    @joshgarcia8631 ปีที่แล้ว

    What is the best Design system for vue 3?

  • @lambmaster
    @lambmaster ปีที่แล้ว

    Oh LAWD I've been wanting genetics in vue! Thank you!!

    • @LearnVue
      @LearnVue  ปีที่แล้ว

      what are you planning on building with them?

    • @lambmaster
      @lambmaster ปีที่แล้ว

      @@LearnVue well... lists, like in your video haha! like dropdowns, etc.

  • @Lucas-mu5no
    @Lucas-mu5no ปีที่แล้ว +1

    Great video, awesome new features.

    • @LearnVue
      @LearnVue  ปีที่แล้ว +1

      i know right - which is your favorite

  • @lintendo100
    @lintendo100 ปีที่แล้ว

    So hyped for this!! :)

  • @eizen8774
    @eizen8774 ปีที่แล้ว +1

    Can you have multiple generics?

    • @LearnVue
      @LearnVue  ปีที่แล้ว +1

      yup! just had a comma in the generics attribute and add more!

  • @henrique-work
    @henrique-work ปีที่แล้ว

    Wow very nice XD
    Generic types will be very useful in components like data-tables
    And defineModel will save a lot of repetive code

    • @LearnVue
      @LearnVue  ปีที่แล้ว +1

      yeah im excited to see what UI libraries can do with generics

  • @yokevinmendez
    @yokevinmendez ปีที่แล้ว

    I will update to vue 3.3 right now just for the generic types in slots.

    • @LearnVue
      @LearnVue  ปีที่แล้ว +1

      it’s so nice

  • @_thewatcher27
    @_thewatcher27 ปีที่แล้ว

    The generic typed class works! but I'm getting this error when building "error TS2304: Cannot find name 'T'." What should I update?

  • @chukwukamorka5055
    @chukwukamorka5055 ปีที่แล้ว

    What font is this. It's incredibly gorgeous.
    Plus thanks for the amazing content. You're one of the best Vue channels I love watching

  • @devstate
    @devstate ปีที่แล้ว

    Great content! thank you :) . You really need a pop filter for your mic though

    • @LearnVue
      @LearnVue  ปีที่แล้ว

      i knoww lol 😅

  • @NickolaiKapitanov
    @NickolaiKapitanov ปีที่แล้ว

    Hm, so strange. I don't have autocomplete in generic components. Any ideas why?

  • @fourthkim3715
    @fourthkim3715 ปีที่แล้ว

    I'am using Nuxt 3.5 that has Vue 3.3, but i can't import external types 😥
    getting error
    [@vue/compiler-sfc] No fs option provided to `compileScript` in non-Node environment. File system access is required for resolving imported types.

  • @zergzerg4844
    @zergzerg4844 ปีที่แล้ว

    I didn't understand the advantage of this record of props -> const {msg = "something", mane= "sdfdsf"} =defineProps () . I just use this record and it works well :
    defineProps({}
    msg: String,
    default: ''something'
    )
    Ang the props variables also available in templates. And i need to accses to props in setup section I just use const props = defineProps({....})

  • @lustach8378
    @lustach8378 ปีที่แล้ว

    Imported types is game changer

    • @LearnVue
      @LearnVue  ปีที่แล้ว

      i know right. super helpful

  • @КириллТерешкин-ю8м
    @КириллТерешкин-ю8м ปีที่แล้ว +1

    Half of that updates are what react already had in 2019 or even earlier

  • @Tom-zx8jx
    @Tom-zx8jx ปีที่แล้ว

    after updating from vue2 to vue3 a few months ago with > 100 components now the biggest thing on my mind with every vue update is how much it will break. Finger crossed...

    • @LearnVue
      @LearnVue  ปีที่แล้ว

      vue's new plan is to have more frequent minor releases so hopefully that makes migration a lot easier

  • @AnassSanba-f5d
    @AnassSanba-f5d ปีที่แล้ว

    Vue is so underrated i swear

  • @julienSibille
    @julienSibille ปีที่แล้ว

    Thank you !

  • @RickGoemans
    @RickGoemans ปีที่แล้ว

    Could be just me but after updating to 3.3.1 (confirmed by Vue devtools) by destructuring the input props and setting default values, they still don't have values...
    SelectInput
    {{ msg }}
    {{ type }}
    import type { SelectInputProps } from '../../Support/Types/Inputs/SelectInputProps'
    const {type = 'select', options = [], msg = 'test'} = defineProps()
    console.log('Type: ', type)
    console.log('Msg: ', msg)
    Both "msg" and "type" have no values in the template and the console logs throws reference errors...

    • @LearnVue
      @LearnVue  ปีที่แล้ว

      there's some configuration options you need to set (check the blog post/source code)...i made this video before that part was made official so sorry for not adding it!

    • @RickGoemans
      @RickGoemans ปีที่แล้ว

      @@LearnVue Indeed it requires a configuration in "vite.config.js":
      vue({
      script: {
      defineModel: true,
      propsDestructure: true,
      }
      }),

  • @luansinh0
    @luansinh0 ปีที่แล้ว +1

    OMFG GENERIC COMPONENTS FINALLY GENERIC COMPONENTS

    • @LearnVue
      @LearnVue  ปีที่แล้ว +1

      what are you building with them?

    • @luansinh0
      @luansinh0 ปีที่แล้ว

      @@LearnVue a complete CRUD component.
      The props are a list of mutations inputs, a list of filters inputs, the list of items returned from the API and the list of headers.
      The headers have a tranform function that format the items to show them corretly inside the CRUD's list.
      Generic components gonna help me with the general typing of this component. Currently i'm using 'unknown' and type casting to use it.

  • @asatorftw
    @asatorftw ปีที่แล้ว

    Can someone give me a quick overview why they prefer Vue over other frameworks? I'm not a Vue developer but I am very curious!

    • @FlorianWendelborn
      @FlorianWendelborn ปีที่แล้ว

      IMO people scared about JSX but somehow not scared about weird proprietary vue templates

    • @victornwanguma2427
      @victornwanguma2427 ปีที่แล้ว +1

      Performance: Vue is compiled, but some other frameworks even tho released before Vue don't have a even a basic compiler
      Official libraries: You don't have to learn a new state management solution every 6 months, Or new stacks when you change teams.

  • @theStumblinbear
    @theStumblinbear ปีที่แล้ว

    What the heck kind of font are you using that only SOME letters are cursive...

    • @LearnVue
      @LearnVue  ปีที่แล้ว

      dank mono haha. i saw it on daniel roe's stream and yoinked it - philpl.gumroad.com/l/dank-mono#:~:text=A%20typeface%20designed%20for%20coding,diacritics%20covering%20most%20European%20languages.
      sorry not sorry 🥴

  • @JulienReszka
    @JulienReszka ปีที่แล้ว

    Awesome!

    • @LearnVue
      @LearnVue  ปีที่แล้ว +1

      whats ur favorite feature

    • @JulienReszka
      @JulienReszka ปีที่แล้ว

      Define model will save some much boilerplate

  • @derjansan9564
    @derjansan9564 ปีที่แล้ว +1

    I am still using vanilla Javascript with Vue3, so this update is not that exciting for me :)

    • @LearnVue
      @LearnVue  ปีที่แล้ว

      ah dang. any particular reason to not use typescript? im curious

    • @derjansan9564
      @derjansan9564 ปีที่แล้ว

      @@LearnVue Had no time to learn it, single developer project (all interfaces in my head), and now too late. Would not recommend it for a larger project, though.

  • @jaysonp9426
    @jaysonp9426 ปีที่แล้ว

    But GPT-4s knowledge cutoff is Sep 2021

  • @nerdus8388
    @nerdus8388 ปีที่แล้ว +2

    zoom more. You're doing a great job for people like me that can't have enough time to keep up with every update of every technology.

    • @LearnVue
      @LearnVue  ปีที่แล้ว

      that's the goal, i try to make the quick videos that i wish existed!

  • @kasvith
    @kasvith ปีที่แล้ว +1

    Vue listens to community

    • @LearnVue
      @LearnVue  ปีที่แล้ว

      couldnt agree more. i love how Vue can take inspiration from every framework

  • @BannisterNicholas
    @BannisterNicholas ปีที่แล้ว

    But.. and forgive my newb question, what if you don't want the props to be refs?

    • @LearnVue
      @LearnVue  ปีที่แล้ว

      not a noob question. you don't have to destructure the defineProps and it works the same.

  • @oleksandrmatsibora9927
    @oleksandrmatsibora9927 ปีที่แล้ว

    Endless learning again...

  • @JPilsonSumbo
    @JPilsonSumbo ปีที่แล้ว

    Generics ❤❤❤

  • @madmaxdev
    @madmaxdev 11 หลายเดือนก่อน

    Font please?

  • @chameleonnn
    @chameleonnn ปีที่แล้ว

    👍👍👍👍👍

  • @nth-prog8562
    @nth-prog8562 ปีที่แล้ว +1

    Yo🎉

  • @FlorianWendelborn
    @FlorianWendelborn ปีที่แล้ว

    Finally they support generics. Only like 4 years late

    • @jonnysongs
      @jonnysongs ปีที่แล้ว

      All you've done is crap on Vue and be snarky in all your comments on this vid. Any reason for this?

    • @FlorianWendelborn
      @FlorianWendelborn ปีที่แล้ว +1

      @@jonnysongs Yes, it’s a crappy framework that made me suffer since 2017 as I was forced to use it. It just recently became somewhat tolerable by copying react (typescript support, generics, hooks). In a perfect world, vue wouldn’t exist. Everything good about it is a copy of react and everything they added just makes it unnecessarily hard to work with it (like, inventing a new proprietary file type and not supporting it properly)

    • @jonnysongs
      @jonnysongs ปีที่แล้ว +1

      @@FlorianWendelborn Fair enough, thanks for the response.
      I have never used React so can't comment in a technical way, but will only say that Vue 2 was nice because it gave someone like me, a noob in frontend techs, an easy way to make a web application. I look forward to trying Vue 3 once Vuetify is ready.

  • @ericcartman2294
    @ericcartman2294 ปีที่แล้ว

    I think you might want to consider those ones, who has no idea about TypeScript as well, and using only JavaScript.

    • @LearnVue
      @LearnVue  ปีที่แล้ว

      good point - what would you like to see? javascript content? or more basics about using Typescript.
      can't recommend using typescript enough though

    • @ericcartman2294
      @ericcartman2294 ปีที่แล้ว +1

      @@LearnVue I meant, if these changes are only in using Typescript or similarities can be applied in JavaScript as well. Or any other updates on Vue 3.3 using JavaScript, works too. Thank you.

  • @karfagen86
    @karfagen86 ปีที่แล้ว

    Thank you for your video!
    th-cam.com/video/Z-qLPtWFZps/w-d-xo.html
    Why didn't "hello" show in the Input field? The one you passed to ref('hello')

    • @LearnVue
      @LearnVue  ปีที่แล้ว +1

      tbh that's an editing mistake by me - good catch :)

  • @ZeyadMohamed-uj5pn
    @ZeyadMohamed-uj5pn ปีที่แล้ว

    I can't understand anything,

  • @summerWTFE
    @summerWTFE ปีที่แล้ว

    }>()
    Who thought this looks good?

  • @unknownguywholovespizza
    @unknownguywholovespizza ปีที่แล้ว

    Ah yes frontend... The world that causes decision fatigue because of its many "helpful" frameworks

  • @oogabooga2581
    @oogabooga2581 ปีที่แล้ว

    ah i should have just stuck with react 💀

    • @unknownguywholovespizza
      @unknownguywholovespizza ปีที่แล้ว

      No you should have stuck with backend or anything else other than frontend

    • @oogabooga2581
      @oogabooga2581 ปีที่แล้ว

      @@unknownguywholovespizza With how popular and integrated react is right now, there are better prospects for developers to use react, Vue lost the race from V3, we bet on the wrong horse, i wouldnt double down on 3.3, just switch to svelte or react

    • @unknownguywholovespizza
      @unknownguywholovespizza ปีที่แล้ว

      @@oogabooga2581 I mean why do we have all these frameworks? It just makes me depressed because of all these tools that pop up everyday in frontend. It's just too much unnecessary sea of endless frameworks

  • @abdulsalamalmahdi8332
    @abdulsalamalmahdi8332 ปีที่แล้ว

    Frameworks 🤮

  • @user-jt5vm3mi1w
    @user-jt5vm3mi1w ปีที่แล้ว +1

    what a mess

    • @LDFort
      @LDFort ปีที่แล้ว

      lol

    • @maker_aleks
      @maker_aleks ปีที่แล้ว

      The only meaningful comment here. Vue is a mess! (had 5 y experience with it and happy to leave it in the past).

  • @RaphaelDDL
    @RaphaelDDL ปีที่แล้ว

    @0:45 Vue Composition API is so ugly, geez 😞
    That is so simple to achieve in Options API, I can't find any reason to go Composition, other than Vue trying to appeal to React and TS meatheads.
    Happy at least 3.3 now has made it more readable @0:50

    • @LearnVue
      @LearnVue  ปีที่แล้ว +1

      im a TS meathead i guess :(

  • @zlackbiro
    @zlackbiro ปีที่แล้ว

    Vue has the worst syntax ever. Uglier then Angular... Both use non natural way to code in javascript. React/Next/Solid for life!

    • @dannydevs
      @dannydevs ปีที่แล้ว

      Ugh...go away troll.

    • @wildanrizky5229
      @wildanrizky5229 ปีที่แล้ว

      Vue is the best frontend framework in my opinion so far. what you mentioned is just bullshit.

  • @виртуоз_ру
    @виртуоз_ру ปีที่แล้ว

    👍