@@MrEnsiferum77 I think that's a pretty bad take... People still use even older frameworks enthusiastically... Eventually there will be new frameworks that fit other people's individual needs, so they will move on to those. But vue and react will probably be part of the dev world for a long long time.
Whatever framework or library you use, as long as the job is done, your product is rock-solid and well tested, and your customers are happy, it doesn't matter.
@@BondJFK That's what solo devs don't understand. And I'm a solo dev. But I understand this, and I'm always learning everything, so that when I get to work in a team, I can get along with everyone and follow any convention and tools.
I have done projects in Angular JS, Angular, Vue, React, Svelte and a few others but my favorite is Vue because pretty much the same reasons as mentioned in this video. Vue has the smallest learning curve and quickest to get working. For instance, I have spoken to the owners of a startup and their MVP Vue Saas app was up in 3 months and they were all first time Vue developers.
Svelte looks simpler. Its big advantage is full blown JS compiler which generate JS build without any runtime making the code even 10x smaller than others.
Scoped CSS is handy. Often you want a DOM element and its children to have some CSS, or you want all tags within that element, or whatever. Vue has the *optional* ability to scope a file's CSS definitions to that file's component only, by injecting classes into the component's top node and the generated production CSS file. You can still make global CSS classes, but global is just as awkward in CSS as it is in JS when it's not needed.
IIRC it uses child selectors in the compiled CSS to pick out only the children of the rendered component, and this is because the root node gets a data-xyzasdfjkl CSS class? It's so handy in practice.
Apparently, the community is everything. I remember learning this about Python, and heck even older technologies like PERL. The Vue community, from an outsider's perspective, has been gung ho about it since the beginning. That's great that you have been about to connect with people easily. I remember seeing this theme echoed in the Ember documentary I watched, where that alone will make me far more likely to check things out.
I use Vue every day for work, but I still prefer React. The learning curve for Vue is low but there's sooo much syntax, I find I have to keep the docs open all the time even though I've been using it heavily for nearly 2 years now. With React, the learning curve is steeper but I never find myself relying on the the docs because the syntax is just JavaScript syntax, and the core metaphors are so simple (though not easy) once you grasp them.
@@theretroman3862 eh. The thing with React is that it doesn't really have an data-model besides the state directly connected with the DOM. And once you have more complicated state (even just shared state, but especially dependent one) the de-facto standard is Redux with its helpers Redux-Thunk and maybe redux-saga, and I got to say, I'm not a big fan of these. IMAO Redux-Thunk shouldn't even exist, and both packages are noticeably tacked on onto Reeux, while the equivalent in Vue, Vuex not only shares syntax with Vue - other than Redux - but also is consistent in itself - other than Redux and it's add-ons - while making the separation between the features clear - again other than redux with its add-ons, where you have separate syntax but going by the docs these aren't handled all that different, which leads to people misusing them.
kidding? To Learn new directives and other Vue stuff more easy then write native JS function and return look like native html(jsx) with all native events only in camelCase? Yep, this stuff : v-on:click v-model v-bind:value much easier for newcommers. If I hadn't been working with Angular I would say wtf is that?
@@oinn6216 It's really easy if doing native methods ourselves because I really hate directives and those stuff that are required for one particular framework, the things we learn in react will always apply because it's pure js.
I think Svelte will explode in 2020. It's pretty similar to Vue in terms of overall UX, but it revolutionize reactivity which makes it much faster in certain scenarios. I guess the only downside is small ecosystem but I bet this will soon become much bigger
100% agree. Vue will fade, React will fade but JS will live longer then them both. JS skills learned will be useful in something next. Learned Vue.js custom directives will be worthless at that point.
@@watherby29 Are you serious? Would anyone choose to use JavaScript over a decent language? When used in backend it doubles development time, and thus cost.
I'm new to both & I just can't find why this is so better. I prefer React because it i like how local variable end up in JSX than magically appearing properties of object in the view in Vue.
When you check the chronology of frameworks like Angular/React/Vue/Svelte, what you see is that the concept of Web Component is more and more mature and implemented. And its what i love about Vue! Thanks to the .vue file format, we finally have a intuitive, complete, clear, and preprocessors-friendly way to realize web applications as trees of web components.
If you need to port an existing web app written in vanilla Javascript to a framework, Vue is amazing. I learned Vue on a project like that. It was fun and easy to port the app in pieces, first the navbar, then a few buttons, then the calls to the back-end, etc. At all times I had a fully functional web app ready for release.
In vue there is no need to use setState to update a value of variable, it's done out of the box. Also no need to use event handlers for binding variables to an input components, just v-bind and work is done
Actually Vue is very easy to incorporate and use with Laravel, Symfony and by himself already but the job market are still owned by Angular and React, do you think this will change on 2020?
I've tried the Quasar Play demo app, while it works fine on modern smartphones, it clearly lags for older ones. I did also an app with it myself, very convenient! But performance wise is kind of bad, like everything based on Cordova I guess I'm going for NativeScript now 😁
Svelte is so easy as compared to vuejs I would recommend all to be good js developers and then pick any framework and master concepts like state management breaking the ui into separate reusable components and keeping your code dry and readable good variable naming etc...
I literally read a test page, deleted a few things, and understood what was going on. I haven't made a statement yet but.... I've been struggling for years. And to try Vue. It's such a breathe of fresh air.
I expected some stronger reasons over simplicity to learn. That's just not reason enough, and is relative, I learned React quite quick. And that statement about hiring a js developer and get him read vue docs, that's true for any framework, sure the docs could be a little nicier to follow along in vue, but react's are ok too. I just don't think it makes a difference. I tried vue and I just don't see to point on having js separated from html and css, that's not proper separation of concerns, separation of concerns is at a component level. At the end of the day to only reason I see is taste. A good js developer will learn to use any framework. So far, nobody has given me enough reason to use Vue over React.
when your thinking in terms of components ..you want the component to have its own style and its own behaviour. In React you write javascript and html and write css into other file for a component ...what sense does it makes ? in Vue you create component in one file thats the best thing.
reji arackal you can have styles in the same file in React, in fact it's becoming more and more popular to do so, with all the flavors of Css-in-js out there. And that for me makes even more sense, if you're gonna have everything in one file you might as well use one same language (js), that makes more sense for me.
It's not React I have an issue with. In fact, I love the paradigm it brought into the game of JavaScript frontend programming. What bothers me about React is JSX. This is where I think Vue abstracts the right things into the HTML and that makes one of the main and important differences. Even programming with render functions is better than using JSX. To prove the point, Vue can do JSX too. How many Vue developers choose to use JSX? I don't know of one single one. Why? Because, as one smart PHP programmer said, "JSX looks like the PHP code I was told never to write." Yes, I know you can create React apps without JSX, but that is even more mofugly.
The reason why most people don't use jsx in Vue is because it's not the default. JSX is not bad per se. It might look messy to people who never used it but it's a very powerful tool and imo you get used to it rather quickly. And paradigms change over time. Maybe the php way was bad and I'm sure there are reasons why. JSX isn't, at least not in combination with react.
@@Damixx111 Yup. And there are good reasons why Evan You didn't follow the JSX route. It mixes responsibilities. Is it view logic or view structure? JSX makes that differentiation a lot harder. Or put another way, if I need to find the logic for a component, if it's all wrapped up in HTML, it makes reasoning about the logic harder.
@@scottamolinari I agree that view logic and view structure are tighter together. But do they really have to be split up? Two different languages in one file? WTF? 10 years ago that was a no-go. Not anymore. I mean I respect vue's approach, but in my opinion it's not necessarily better to split them as much. I was doing angular before I switched to react, and I was automatically creating much more, smaller components in react, because it does get messy (and slow) if you have huge components. I started splitting them up in components rather than files. That being said, although react has everything right next to each other in a single function, it's not much harder to differentiate since your logic (state, functions) is on top and view comes right after in the return statement (assuming we're using hooks). Angular uses different files, vue uses one file but multiple sections, react has everything right after each other. And that's great! Everyone can use which approach they like the best. For me it's react, for you it's vue. (I will get more into vue though, since it looks like a lot of people love it ^^)
@@Damixx111 If you are keeping and can keep your components small that's great and will definitely help with using JSX and keeping your logic simple enough to reason about. However, some components will tend to get bigger. Once they do, the separation in Vue makes it easier to reason about your logic. That's also why in Vue 3, we are also getting the composition API. Some say it makes it more React-like. But, they are mistaken, because the template (HTML) separation from the JavaScript is still there and it's really powerful and fast. :) Do try out Vue more. You get all the power of React in a smarter more logical and more performant package. :)
I think Vue developers who like JSX should just use render functions. And with Vue 3 they've become even easier to use. IMO I'll stick with templates, it makes it easy
I feel like most of what you talked about is how simple Vue is to learn, but not enough on why someone who already knows React should move to Vue, since Vue being easy to learn is a reason to learn it as a first framework but not to move to it
"since Vue being easy to learn is a reason to learn it as a first framework but not to move to it " makes no sense... or don't you need to learn the new framework when adopting it?
Pleasant voice, and I can appreciate your enthusiasm for Vue (and it IS a pretty syntax), but your argument would be so much stronger had this video contained some coding.
🤣 Svelte also uses npm. Your comment makes no sense. NPM are packages, plugins. You'll always need them no matter what, and many packages depend on others, so, it's expected that the packages folder will be that heavy. And even if you move to Deno (something that you'll surely do, believing that there's no NPM folder), but then you'll be using network bandwidth to import Deno packages from the internet. And when you CACHE them, to avoid importing them from the internet, guess where they get stored in? In a folder on your computer... LOOOL!
Oh, and wait until Deno's packages library grows. (If Deno finally add something of value that NodeJS can't replicate, and more users decide to make the jump).
it's not "stupid", since what you return is JSX, which means javascript, and class is reserved for JS Classes. So they had to make a distinction. Thats clearly not a reason to hate react
I like VueJs for the amazing community driven plugins and the easiness to learn it. But sooner or later I get to a point where the Typescript, JSX and Editor Support just lacks.
@Tùng PĐ yes, React has a better TypeScript support at the moment. Also React and Vue have new competition - Svelte. It contains a full blown JavaScript compiler enabling things impossible to do for React and Vue.
@5:35min "There is a prescribed way of doing things" => yes! React seems all over the place. 10 ways to do the same thing. And don't get me started on redux redux/saga or redux/promise. I like the simplicity of Vue and the ecosystem in place that must be used by everyone. It gives structure and guidance to the developer.
Funny thing though, I just mentioned Vue during my interview as a software dev and an hour after I left, I was hired. Lol. VueJS is very simple but can handle complex stuffs.
Feels great when the hire decision comes so quick! One time I finished an interview, thought I did okay but nothing fantastic, went for a mocha at a nearby Starbucks, and before my drink was ready my phone rings. Suddenly, I'm hired!
Interesting video! I personally love Vue for it’s simplicity and the fact that I don’t need to mix HTML and JS (JSX) so applications look cleaner, but I’m also on the boat for learning React.js! I don’t mind either in terms of usability and performance and applicability to building apps since all frameworks have their pros and cons 👌🏼 I do love how Vue and React and both lightweight to start with and learn as a beginner/mid-level (getting there) 🙌🏼
Vue's still much better with all its compile-time optimizations. And it's hard to shoot yourself in the foot, which reduces support complexity. And the code is far more readable
The templating syntax puts me off. I like being able to do things like { !loading && !error ? : } and posts.filter(post => post.approved).map(post => ) over having to implement logic within templating tags which also feel slower to type. So basically, I prefer using Javascript's syntax over Vue's template language/syntax. Having the full power of Javascript when manipulating the view just feels more liberating and it's nice not having to constantly switch between 2 types of syntax. The counter argument of using jsx with Vue sounds great but as a newbie I would stick with what's "mainstream" since help is easier to find when I get stuck.
Man what is it going to take for Vue to be at the top, developers just keep learning React for job offers, but Vue is so much better in my opinion, I decided this year I have to get more into React, while at the same time it's a shame :/
As a vue dev, I had to do some things in react recently and it felt awful, ugly, loops and conditional rendering look like a mess of js and html mixed in something that's not even jsx... I don't know, it was my first contact with react, but I found it really frustrating.
Romeo Mihalcea it scales better. Each section for your app has its own module to deal with routing and its components. Also services are easy to access at any position you are at in the app
@@CodingAbroad it really does not. it's not a framework thats fun to work with by any means. you can create the same apps just as easily in react or vue as well. don't say its not possible because it is.
@@That_Darned_S I respectfully disagree. Sure there’s a steeper learning curve with angular but once you get it you’ll realise it’s to help with scaling. Of course you can build the same thing in React and Vue, but it’s easier for spaghetti code to occur and isn’t great when revisiting code later (whether it’s yourself or others)
comp api indeed... but vue is inspired by Backbone... Evan literally himself have sayd that... and he worked in Meteor i think while he was writing that as hobby project...
Hardly any jobs for Vue in the UK. Unless its in Parallel with Laravel for PHP dev jobs. React is King everyone wants React Devs in the UK. I can't speak for other countries. But in the UK if you learn React, and learn it well you will be in demand.
@@ProgramWithErik I really like Vue, but for me, like everyone else really? You kinda have to follow the money, but as you say, hopefully that will change at some point? Big fan of your vids by the way! Great content. 👍
JS Frameworks and libraries come and go. What matters the most is the solid understanding of Javascript principles, such as hoisting, closures, execution context, prototypes, OOP, and more
The views and comments will come on this one. But everybody knows the problems with React already, and the simplicity of Vue. The question is, Svelte is just as different from Vue, is it enough where Svelte will elicit similar statements compared to Vue? It's easy to beat up on React
Vuex way more intuitive that rxjs implementation in Angular, Anguar Material is not as well explained as Quasard or Vuetify, hell even the Grid system or the text fields widget are more rich developed on Vue!!
I just like React so much and all the ecosystem behind that, as a web developer I work with both technologies, but React just feels right, even though you're right that vue is really simple compared to React.
Hi, how to extend HTML and JS functionality of a component in the VUEJS? I have discovered that mixins allow to generalize JS functionality and slots - HTML. For example - I want to extend form component by adding additional text fields and validation logic.
hi sir i started doing vue js and really loved it, you explain it very well can you please make a tutorial project on vue like a shopping cart or e-commerce kind of project thankyou again :)
I have also wrote angular 1.x, react and vue, have to agree vue has less learning curve, but from personal career build, you have to learn react or angular also as lots existing projects were wrote by angular or react, vue is relatively young, and there are still some issues with the compatible packages for vue to be resolved
I think React is much better now with hooks and context, but I still prefer Vue. However, I've been eyeing Svelte recently, and can't wait to build something with it. It might just become my favourite (disappearing) framework.
I want content out of a database/CMS and show it with vue but not hardcoded, how would i do that? Which cms and back end js language do i need to learn?
Use Strapi or Directus if you just need a simple database and API to read that data. You can create your models and store the data with very simple and usable GUIs and then with an HTTP client, such as Axios, to make requests to get the data. The CMSs I mentioned also support authentication and authorization, which makes them very versatile.
You can nearly do everything with every fucking framework / library? Community to the first and the useful development roadmap. Also the examplrs it docs when hitting an edge case is far way better than in the vue community (worked for 15 years in js universe angular, vue, react/native, assemble, nativescript etc.) and even the market for react is better paid just to let you know and working with big teams or coming into settled projects wich are running in 90% on react. My two cents. Use what you know and you and your feels comfortable
On the other hand, if you, or your organization prefer TypeScript for developing projects, Vue is not an option, since no type checking happens in templates, unfortunately. React TypeScript support is full.
I’ve never heard of typescript in templates . Unlike react most logic in Vue is in the script tag in the options api or the compositon api. That’s where you would want your type checking
@@ProgramWithErik Yes, absolutely true. Anyhow, you videos on Vue are gorgeous and convincing, but now with the React hooks, React is a brutally elegant, very easy to learn, typescript-capable web app development framework, too. Vue is fantastic, sure, but the new way of React/Hook/Typescrip programming is absolutely brilliant.
Just started learning it last week, so too early to tell. I guess the thing I want to figure out the most is getting data from a backend API from like a Java/C# based one. Likely use Java for work and C# for personal.
It sounds like your issue is with the documentation and not the “framework” itself. One could argue that Vues templating is limiting and hard to formulate for young JS developers as opposed to JSX. Primarily because you can write your logic right in things like the map loop or console out feedback at any point in your template for debugging. Secondly getting a new developer to understand things like computed, watch, etc might be hard to grasp for younger JS developers.
I feel like the ability to write directly is what makes it more appealing. It was for me. You can debug by calling a method and console logging from the method with the data,or even just dumping the data directly on the Dom. I really disliked jsx. Seems unintuitive to me.
The biggest downside of React or Angular for me is its owned by a corporation. So whatever changes will be done to them its what that corporation needed not community.
Hello, im a beginner with javascript and i want to do a openvpn web interface for my raspberry pi. The web interface should be accessable from my webpage and then it has to be connect to my openvpn webserver in my raspberry pi headless setup. Have you any advice which path i should go for?
I'm distracted by what looks like a piece of gum behind your teeth in your upper palette. If it's a tooth, that is unique in itself as I have never seen a tooth that far back :)
I've had the opposite community experience 1% of my questions in their discord get answers. 5% of my questions elsewhere get replies and only get useful answers 2% if the time. There seem to be a cloud of piss and elitism around front end development in general these days.