DEV Community

Cover image for Why VueJs is the next big thing - a personal perspective

Why VueJs is the next big thing - a personal perspective

fullstackcoder on November 02, 2019

Disclaimer: In this post I list those things that triggered my interest on VueJs and I do not expect everyone to agree with the statements below. T...
Collapse
 
jarodpeachey profile image
Jarod Peachey

Wrong. Totally wrong, I disagree.

Just kidding. 😂 I've never used Vue, but I've taken peeks at it and it seems pretty sweet. I will also mention Svelte. It seems like the "next big thing" as well, with the code being bundled on build time. Have you ever used it?

Collapse
 
fullstackcoder profile image
fullstackcoder

Thanks for your comment Jarod. I had a brief indeed and I am impressed by the fact that Svelte is so tiny. Although, I didn't have the chance to explore it's API so far. If you want to express your thoughts in detail about Svelte into an article, I would be more than happy to follow. Thanks again!

Collapse
 
jarodpeachey profile image
Jarod Peachey

I'm not proficient enough in Svelte yet to do a post, but I do have a multi-part tutorial on Gatsby building a landing page in the works!

Collapse
 
deeprajdey profile image
Deepraj-Dey

I also think Svelte may be the next big thing...

Collapse
 
fullstackcoder profile image
fullstackcoder

Possibly, I'm looking forward to see Svelte battle-tested like the above libraries. Let's hope it's gonna be another great tool to consider.

Thread Thread
 
willvincent profile image
Will Vincent

There's not all that much to battle test. Svelte is a compiler, once you build the bundle for deployment svelte is no longer involved at all.

Thread Thread
 
fullstackcoder profile image
fullstackcoder

Good point. Thanks for that

Collapse
 
wakeskaterx profile image
WakeskaterX

One other thing I don't see mentioned often is how easy it is for other developers to jump into Vue.

Its just (or can be just) JavaScript, HTML and CSS and the JS syntax/api isn't too crazy, so the mental overhead of hopping into Vue vs looking at React JSX or Angular's massive api, makes it easy for others to read and understand it.

Collapse
 
willvincent profile image
Will Vincent

Fully agree. I learned vue in 1 day. Never felt as proficient with angular or react (especially react) after considerably more time invested.

Started with angular 1.. angular 2 or whatever they're calling it these days was more frustrating than not. And react seems unnecessarily obtuse just to be unnecessarily obtuse. I've been doing this too long to care to spend time fighting the tools anymore. Vue makes sense, it's easy. There's no reason to add extra complexity... svelte likewise seems pretty easy, and that it generates small output without the need for a renderer in the deployment is also quite compelling.

Love me some vue but I think svelte is really "the next big thing" if I had to pick one.

Collapse
 
fullstackcoder profile image
fullstackcoder

This is true WakeskaterX. The learning curve for VueJs is pretty gentle. I found it easy to dive in VueJs. Thanks for your comment.

Collapse
 
manuelojeda profile image
Manuel Ojeda

You resumed everything with one single sentence:
VueJS have the best of both worlds!

Thanks George, I share the same thoughts, Vue deserves more love ✌

Collapse
 
fullstackcoder profile image
fullstackcoder

Vue does deserve more love! Thanks for your comment Manuel.

Collapse
 
echoes2099 profile image
echoes2099

Two-way data binding

You do know that react and flux exists because it's an untenable pattern for large apps? Literally that is the use case for flux 😀

From what i can conclude is that vue is excellent for small prototype-like apps and legacy apps that need to be modernized peacemeal.

Collapse
 
fullstackcoder profile image
fullstackcoder • Edited

Thank's for the comment echoes2099. I am aware of flux and redux and state management in general indeed.

VueJs can stand even for enterprise level applications as well. Thanks for your comment.

Collapse
 
willvincent profile image
Will Vincent

Can attest. Have a large, non trivial, application built with vue in production..

It used to be react.

Collapse
 
fxck profile image
Aleš

whether you need them or not, Angular will install them by default

Not true. While it might add them to your package.json, they will get stripped down at build time, unless you actually use them. Angular Ivy hello world is as small as 3kb.

Collapse
 
Sloan, the sloth mascot
Comment deleted
Collapse
 
fxck profile image
Aleš

That still doesn't change the fact that everything that is NOT used will be treeshaken away. That is right now, with Ivy will get even better, every part of angular core that is not used will be stripped away, see bundle size of this example ng-ivy-demo.firebaseapp.com/bundle.js

And that it install devDependencies? You can't possibly think that is a problem or a disadvantage.

I'm not shitting on neither vue or react, I think they are both great. But the code size argument against angular is simply uneducated.

Collapse
 
genster profile image
Ryan Cole

Another point here I haven't heard much about is build time. Angular builds take an insane amount of memory and are anything but fast. Every CI machine I've had to run angular builds or required extra memory. It will straight up max out 4gb of memory even for basic builds. My app right now, which is middle-sized takes 9 minutes to build in CI. That's insane! That's like compiling something from c. Another app of mine built in Vue of comparable size takes 2.5 mins.

Collapse
 
fullstackcoder profile image
fullstackcoder

Indeed, this happens usually when you build for production, you are right. Thanks for your comment.

Collapse
 
therealkevinard profile image
Kevin Ard

I love Vue. As a concept, it friggin nails it. I love Typescript just as much for scale/stability, though. I'm DYING for cleaner Vue+TS workflow.

Honestly, I'm reticent to kick-off anything big until that happens. I'm kinda on hold, and that stinks. C'mon Vue 3!

Collapse
 
fullstackcoder profile image
fullstackcoder

Thanks for your comment Kevin. I admire your enthusiasm!

Collapse
 
seangwright profile image
Sean G. Wright • Edited

Having been a long time AngularJs and Angular dev, I totally agree with your point that Vuejs is better for mixing in rich, client side development with server rendered HTML.

I've done it with every version of Angular, and it is a far better experience with Vuejs.

Collapse
 
fullstackcoder profile image
fullstackcoder • Edited

Thanks for your comment Sean.

Collapse
 
beggars profile image
Dwayne Charrington

Your points to me seem more like personal preferences than actual unique selling points for Vue. You could replace Vue with a plethora of other options like Aurelia, Svelte and even something like Ember.

A framework in particular will always promote separation of concerns. Vue is also fast becoming React Lite in its approach and anti class stance. As far as I am aware, classes are out in Vue 3.

There is a reason Angular is popular in enterprise and government. You don't need to glue third party libraries together for basic functionality, it's well documented, easy to test and verbose. Angular require you to work in a standardised way, something libraries like Vue and React do not offer.

I hear more about Svelte these days than I do Vue. So, it'll be interesting if Vue can remain relevant and competitive in speed and bundle size.

Collapse
 
fullstackcoder profile image
fullstackcoder

Thanks for your comment Dwayne. I am not sure if you read the disclaimer or even how I end my post. Of course this is personal preference, that's what I state anyway. And of course Angular is popular because it is coming as a full solution. This is what I state as well. As about Svelte, do you have a popular website to mention? Vuejs is battle-tested (you can do the googling yourself). But again, did you read my post at all? Thanks for your comment.

Collapse
 
amouratoglou profile image
Agustin Mouratoglou

I completely agree... Vue rocks.

Collapse
 
ceyhunkerti profile image
Ceyhun Kerti

totally agree except the next word :)

Collapse
 
fullstackcoder profile image
fullstackcoder

Good point! Thanks for he comment Ceyhun.

Collapse
 
ajayyadav profile image
Ajay Yadav

Hey please help me

How can I integrate ccavenue with Vuejs and Laravel