Vue 3.0 Might Be a Big Deal

Tags: , ,

Vue 3.0 was released on Friday.  I’m just pointing that out, so feel free to stop reading this right now.  Head over to their release notes to get the news from the proverbial horse’s mouth.

If you really want to take it from me, here’s why I think that’s a big deal…

Since I was exposed to Angular and React a few years ago, I’ve always been partial to React.  You can read more about why here.  When Vue emerged as a serious contender in the “Javascript Framework Wars”, I was curious, but not curious enough to leave the comfy confines of React.  I’m a bigger fan of Typescript, however, so when I heard that Vue 3.0 was being rewritten in Typescript, I started paying attention.  Then, I was fortunate enough to join a team that was using Vue in production for all of its products.  After working on real features in real code bases for a while, I definitely began to understand the appeal.  Vue is more approachable for beginners, and seems to have less “foot guns” than React does.  But Typescript support in Vue 2.x felt awkward, and I really missed hooks.  So I still wasn’t sold.

With Vue 3.0 comes source code written in Typescript, and the Composition API.  It’s no secret that the latter is heavily inspired by the Hooks API.  One immediate advantage I see is that Vue’s documentation does a much better job of explaining the benefits of the approach.  Another one is that, well, the Composition API came after the Hooks API.  It stands to reason that the Vue team has been able to bake in some lessons learned from using hooks in production.

As always, time will be the ultimate judge, but two of my primary reasons for preferring React over Vue have been taken away with Vue 3.0.  I think that might be a big deal.