9 ms·
Vue 3.0 Updates [slides]
- yuchi 8y agoI'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. I'm a React fan, yet I really applaud all the nice stuff which is coming in Vue 3. Well done.
- keerthiko 8y agoSimilarly, I'm a Vue fan, and them having to keep up with and learn from React's moves keeps it solid. I am very happy with recent updates to Vue and their framework is a pleasure to develop with (the tradeoff being a certain level of power that React provides that Vue cannot obtain, but it's plenty).
- shabbyrobe 8y agoWhat power does React offer you that Vue can't? It'd be quite interesting to hear your take on it.
- askaboutit 8y agoBeing able to tell everyone that you know react.
- keerthiko 8y agoExporting reactive JS native apps for iOS and Android is the most significant feature -- was what I would have said. I looked it up before writing this comment, and apparently Vue introduced this in June 2018. Case in point of this comment thread :)
- um_ya 8y agoWith vue native you can use anything from the react native community in a vue application. You get the best of both worlds! https://vue-native.io/ https://vue-native.io/
- hokumguru 8y agoThe funny thing is that that’s built on top of react native isn’t it?
- KaoruAoiShiho 8y agoI thought this was the preferred option? https://nativescript-vue.org/ https://nativescript-vue.org/
- ivanfon 8y agonativescript-vue has made a lot of progress over the past few months, it’s shaping up to be a pretty great mobile development experience.
- aaaaaaaaaab 8y ago>research teams Lol. Writing JS libs is not research.
- beaconstudios 8y agoReact is pretty advanced under the hood. Just because it's Javascript doesn't mean you can't write advanced tech in it.
- nahfamwegood 8y ago> Lol. Writing JS libs is not research. LOL burnnnnn. That'll show em. Man this is great.
- avip 8y agoWhat makes you say that? People are actively earning phds researching implementations in different languages. JS is different because it’s useful? Runs in a browser?
- uhryks 8y agoThat's not academic research but that's R&D. And the React team has shown they're very thoughtful about what they're building.
- calibas 8y agoIt's been years since people were mocked for using Javascript. The language has greatly matured.
- spectaclepiece 8y agoIt 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. 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. *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.
- superasn 8y agoI think the best part about Vuejs is that how simple it is and everything just works! 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. Transition from vue1 to vue2 was really simple. I'm sure the same will be true for v3.
- whyevenbother 8y agoMaybe it's the constant React vs Vue articles that make me suspicious, but if you are referring to React when mentioning webpack / transliteration, i'd like to mention that you don't need them for React neither. It can be resumed to a simple script tag as well. I hate this misconception and wish it would just go away.
- PacifyFish 8y agoCould you paste the simple script tag that makes React work without transpilation? I always thought you needed Webpack (or an equivalent) to transpile JSX into a vanilla js function the browser can interpret. If you're referring to Create React App, it uses Webpack - just preconfigured so you don't have to fiddle with it before you start building.
- edwinvdgraaf 8y agoSomething like this? https://gist.github.com/gaearon/6668a1f6986742109c00a581ce704605 https://gist.github.com/gaearon/6668a1f6986742109c00a581ce70...
- wa1987 8y agoThat’s without JSX. Transpilation is required in order to make use of JSX.
- whyevenbother 8y ago
- diminish 8y agoVue has a strong leader - and that is promising.
- tinyvm 8y ago3.0 is a huge milestone for vue. Currently the architecture forces you to import the Vue object entirely , has Vue under the hood isn't really modular... With 3.0 Vue has taken the typescript way and is using packages , similar to angular , it looks absolutely awesome to work with now. I really hope class based components will be supported natively without compiling or transpiling. Working "out of the box" has always been part of Vue philosophy , I really hope this continue. 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.
- atentaten 8y agoVue 3.0 is reported to support class-baed components natively: https://medium.com/the-vue-point/plans-for-the-next-iteration-of-vue-js-777ffea6fabf#60e3 https://medium.com/the-vue-point/plans-for-the-next-iteratio...
- TekMol 8y agoMy 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. So you do... <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> ...to make Vue render the list of objects. 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. What is the next most basic/common usecase for Vue?
- beaconstudios 8y agoas a React developer, SPAs in general are overused. Most LOB apps could (and should) still be written in a backend templated language. SPAs should be reserved for applications (or even individual components) with advanced interactive features, ie a proper web app.
- bloopernova 8y agoJust to confirm: SPA = Single Page Application. What does LOB mean?
- beaconstudios 8y agoline of business. It's basic internal apps most software devs are working on. Usually 90%+ CRUD forms and tables.
- bsaul 8y agoThat's also my conclusion after toying a bit with those frameworks. You want to use them for specific pages ressembling applications, but you still want the main structure of your frontend to be defined server-side, using the most standard technology. This lets you split your interface into more isolated components, and makes you free to use different framework depending on the type of interaction your page needs, as well as be able to update your site progressively.
- rightnow 8y agoWhen is this awesomeness set to launch?
- armaxt 8y agoHow 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
- jgrpf 8y agoThis is totally possible. You can create a sub component, register and use it in the same file as the parent component. Though not really recommended you can even do this: ... components: { "inline": { template: ` <h1>My inline subcomponent</h1> ` } } ...
- pier25 8y agoThat is one of the few aspects I prefer in React over Vue. But you can indeed create small inline components in .vue files. There are different approaches: https://codewithhugo.com/writing-multiple-vue-components-in-a-single-file/ https://codewithhugo.com/writing-multiple-vue-components-in-...
- deltron3030 8y ago>How about the ability to create multiple components in the same .vue file? No problem: https://www.youtube.com/watch?v=l3GHggI3_z8 https://www.youtube.com/watch?v=l3GHggI3_z8 As you can see, the're quite a few nested components in a single .vue file.
- bpicolo 8y agoThe 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. 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
- pdkl95 8y ago> ... implementation re-written from the ground up 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]. 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. [1] https://www.joelonsoftware.com/2000/04/06/things-you-should-never-do-part-i/ https://www.joelonsoftware.com/2000/04/06/things-you-should-...
- douglaswlance 8y agoVue itself is less than 10,000 lines. It's not a huge project.
- resource0x 8y ago> Rewriting a big project from scratch is often used as something to brag about Not necessarily. Sometimes it means "our old code was such a mess no one could make any sense of it" :)
- bpicolo 8y agoWhen your project is such a size that a single person can keep it all more or less in their head (in this case, Evan), clean slate rewrites end up being fairly efficient. It's a much different case than 20->200->2000 devs scale applications. It's vastly more easy to develop something from scratch if you'd put a lot of thought into it over time
- pier25 8y agoVue 3 is a massive new update: - TypeScript - Double the performance - Half the size and memory consumption - New reactive system that supports classes a la MobX - Class based components I've been using Vue for a couple of years and I'm very excited about this new release.
- agumonkey 8y agoHappy 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.
- welanes 8y ago.
- usaphp 8y agoScrolling experience (I am on iPhone) on your site is absolutely horrible
- orf 8y agoFYI it takes 5.16 seconds to download the 5 megabytes of vendor JavaScript needed to view your landing page from a cold cache (and 2 for your app itself), not to mention the 6 seemingly needless Firebase API calls or the fact you're running the development version of the Firebase SDK. No matter how awesome you think whatever framework is, this is a terrible, terrible experience.
- lobo_tuerto 8y agoNice period substitution. ¬¬
- baybal2 8y agoAny news on native support for fragments?
- Normal_gaussian 8y agoSlide 20 "flow -> typescript" is under making it more maintainable - does anyone have any thoughts on this? 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.
- rawrmaan 8y agoTS is more popular and has a bigger ecosystem. It could enable more contribution to the project.
- BtM909 8y agoDoes someone have the talk (if there's one) which used this deck as well?
- crooked-v 8y agoI'm happy to see another framework moving to Typescript.
- joshschreuder 8y agoIn case there are any newcomers, it's probably worth noting that just the core framework is written in Typescript, and compiled to normal JS - you are not forced to use Typescript in your own Vue code unless you want to.
- Zooper 8y agoCode? I've been toying with a very specific type of proxy-based observable, and I'd like to compare notes.
- acemarke 8y agoI'm interested in looking at the code for a very similar reason, but Evan said it's not open yet: https://twitter.com/youyuxi/status/1063275580920135680 https://twitter.com/youyuxi/status/1063275580920135680