I think the best part about Vuejs is that how simple it is and everything just works!<p>A vue component is still as simple as {template: 'hi'}. You don't need webpack or any transliteration for it to work. Just drop the script tag like the good old jQuery and it's working! No wonder it was so easy to switch to it.<p>Transition from vue1 to vue2 was really simple. I'm sure the same will be true for v3.
I'm very happy to see React and Vue influence each other. They definitely are the highest quality frameworks out there and having two different research teams only improves the overall quality of the ecosystem.<p>I'm a React fan, yet I really applaud all the nice stuff which is coming in Vue 3. Well done.
3.0 is a huge milestone for vue.<p>Currently the architecture forces you to import the Vue object entirely , has Vue under the hood isn't really modular...<p>With 3.0 Vue has taken the typescript way and is using packages , similar to angular , it looks absolutely awesome to work with now.<p>I really hope class based components will be supported natively without compiling or transpiling.<p>Working "out of the box" has always been part of Vue philosophy , I really hope this continue.<p>This is really a big release , but it's still sad to see the 3.0-alpha branch is not visible on GitHub , i really would have loved to have a look at it.
My feeling is that most people who use Vue or React only need a template engine. Typical use case: You have an array of objects and a template how each object should look like.<p>So you do...<p><pre><code> <div id=users>
<a v-for="user in users" :href="'user/'+user.id">
{{ user.name }}
</a>
</div>
<script>
let userList = new Vue({
el : '#users',
data: { users: users }
})
</script>
</code></pre>
...to make Vue render the list of objects.<p>This is the only thing I ever use these frameworks for. Everything else I think I can implement in a better, leaner way myself. So I wonder if I should switch to a template engine instead.<p>What is the next most basic/common usecase for Vue?
Vue 3 is a massive new update:<p>- TypeScript<p>- Double the performance<p>- Half the size and memory consumption<p>- New reactive system that supports classes a la MobX<p>- Class based components<p>I've been using Vue for a couple of years and I'm very excited about this new release.
It appears that there are similarities in Vue 3.0 with Aurelia, at least on the surface. Things like class based components, proxy-based observer mechanism* and the move towards typescript all remind me of Aurelia.<p>Been using Vue 2.0 for personal projects and Aurelia for a big work project over the past year and I have to say I am very happy with both. Personally I prefer the single file components in Vue but the class based style of writing them in Aurelia. Seeing these two things converge in Vue 3.0 together with the performance improvements looks very promising.<p>*Not sure that under the hood Vue 3.0 works the same way as Aurelia but the mentioned points in the slides lists array index / length mutation and later the observable function are familiar from Aurelia.
The Typescript support is by far the thing I'm most interested in. Lack of useful Typescript support is, for me, the only downside of Vue right now, and it's a big enough downside for me to use React instead of Vue in a lot of cases.<p>Do you reckon we'll ever see Typescript support in the non-jsx templates? I do really like vue templates for e.g. if-conditionals. I really don't like using ternary operators for template logic. And then the alternative being to hoist things out of the single JSX template breaks make code less linear to read which kinda sucks
How about the ability to create multiple components in the same .vue file? for instance I need to define a sub-component that will be used only inside my component, this is easy in React but with Vue I have to create another file to define this sub-component, this makes the project management becomes harder as the project grows
> ... implementation re-written from the ground up<p>Rewriting a big project from scratch is often used as something to brag about: "Look at all the hard work we accomplished!". Except in software what matters is correctness and efficiency, not the age or the code or the size fo the rewrite. Rewriting "from the ground up" is throwing away years of bugfixes[1].<p>Maybe this new version is fine; I'm only suggesting that big re-implementations should be seen as an unknown risks, and that "carefully refactored problematic areas of the code" is something worth bragging about on a slide.<p>[1] <a href="https://www.joelonsoftware.com/2000/04/06/things-you-should-never-do-part-i/" rel="nofollow">https://www.joelonsoftware.com/2000/04/06/things-you-should-...</a>
Happy to see this project move forward, but I get surprised when I read 100% speed improvement, since it was already super fast. I wonder how they manage.
Slide 20 "flow -> typescript" is under making it more maintainable - does anyone have any thoughts on this?<p>I use flow because I am interested in soundness, have had a few issues with it, but nothing has suggested to me that typescript is more maintainable.