12 ms·
I've loved Vue for a long time, worked two years with it almost daily, but right now I avoid it as much as I can, as I can't stand working with JavaScript witho
by 112 7y ago
I've loved Vue for a long time, worked two years with it almost daily, but right now I avoid it as much as I can, as I can't stand working with JavaScript without TypeScript. The TypeScript support in the current version of Vue is crap, and the simplest things, such as creating a (typed) component library, are hard and require numerous hacks.
If I were to use something that lacks TypeScript support, it would be Svelte, because it brings unique advantages. By adding hooks, React became the winner for me.
Angular has never been an option for me.
- izelnakri 7y agoember with typescript should be an option for you
- z0mbie42 7y agoI would love to know why are you saying this. I use Vue2 + Typescript, and for me it works great! Even Auto-completion works.
- fraktl 7y agoBecause he never used Vue with TS. It's a blatant lie and utter bullshit.
- 112 7y agoIt's OK for the most common scenarios, I didn't comment on the regular "build a web app" case, but more complicated ones. I think @vue/cli is very nice, but I've had many issues dealing with the magic behind it, so much that it became easier to swap vue-cli-service with rollup and custom setups. I'm sure Vue3 will fix all this, and it will be awesome. Very much looking forward to it
- mcny 7y agoI've only used angular but I'm curious, why has angular never been an option for you? I've never used react but I think you can use typescript with react if you wanted to, right? it just isn't the default but if you're in react land, you probably don't care much for defaults?
- 112 7y agoReact with TypeScript is a joy. I have the utmost respect for Angular, and for the way it pushed forward progress on frontend. Vue itself has taken many great ideas from Angular. It hasn't been an option for me because I found it quite opinionated for personal projects, and in my work context I didn't enjoy / respect the people that were working on Angular projects. This is not about Angular, it's about where I was working and the people there. It's easy to judge a tool by it's users, but we mustn't.
- se7enzer0 7y agoVue 3 is not too far off and has first class TypeScript support.
- manigandham 7y agoVue 3 will change all that. It's written in typescript with first-class support and the composition API is like React hooks but better for most cases. Vue's templating is standard HTML which means it can be delivered by any server-side language/framework. This is where Vue shines in adding interactivity to many typical apps without going fully SPA.
- StreamBright 7y ago>> This is where Vue shines in adding interactivity to many typical apps without going fully SPA. That is good to know. I wasn't aware. Most of the apps we are working on cannot be SPAs easily, so it matters if the JS framework supports operating without it.
- sebazzz 7y agoVue 3 is getting delayed, isn't it? Not weird for a community project, but still something to note.
- manigandham 7y agoI don't know, there's no hard deadline but you can check the official roadmap: https://github.com/vuejs/vue/projects/6 https://github.com/vuejs/vue/projects/6
- williamdclt 7y agoIt is standard HTML in the sense that it's valid HTML, which React JSX isn't, of course. But without the JS runtime it won't do anything, so in the end what's the advantage over React? You can add interactivity without going full SPA with React too after all
- manigandham 7y agoIt's a subtle but huge difference. In React, using JSX means you can create components and mount them on top of the existing elements on the page. With Vue's HTML templates, the page itself can be the component and everything can become interactive. For example, you can easily output a HTML table from server-side code, then Vue can convert that into a interactive component while using the existing structure and data. This lets you render the page using existing web frameworks, it's faster because the server puts it together, it's progressive enhancement and works without JS and on slow devices, and Vue can seamlessly add on top with nothing more than a single JS tag and no compilation step.
- fraktl 7y agoWhat you wrote is blatant lie, particularly the part with creating a typed component library. I've created 7 components as of yesterday, using TS, zero hacks and zero problems. It's so annoying when a person with clear lack of understanding decides they're competent to critique a tool and then they literally - lie. Keep using React, it's awesome you like it but please - do some fact checking. I know you want to believe that Vue and TS don't play together, but that's just not true.
- nullc 7y agoWould it be so hard to start with an assumption that the person you're responding to is working with outdated information or that they're just confused? Even if they were intentionally lying (why??) it would hurt no one to humor it and be polite, and it would do a lot towards making this a more enjoyable place to read. Your post was informative, too bad it made me just want to close this tab.
- fraktl 7y ago> Would it be so hard to start with an assumption that the person you're responding to is working with outdated information or that they're just confused? Yes. > Even if they were intentionally lying Never wrote anyone lied intentionally. > it would hurt no one to humor it and be polite, and it would do a lot towards making this a more enjoyable places to read. I'm a programmer used to relay information in least words possible, so I just refer to factual observation. Whether I used word "lie" or had I masked it in a wall of text to spare feelings of flowers - meaning is the same. I consider all people my peers so I don't do to them what I don't want done to me - saying pretty words to hide the meaning. > Your post was informative, too bad it made me just want to close this tab. But you had to type what you have before you closed it. I mean, you're calling me out for being impolite by being impolite. I get the whole hypocrisy move and SJW reflex, but my stance is that IT and developers need to relay truth to one another in form of information, not prettify the stuff so people's feelings don't get hurt. Your feelings got hurt? You didn't get coronavirus because of my text, you'll be ok. Take care :)
- baybal2 7y agoA reverse situation here. I deal with strict no typescript policy, so besides a problem of finding typescript devs, we have a problem of having to "de-typescript" a lot of 3rd party code. Typescript has a lot of adoption within with ex-Java devs, and with that comes a lot of "Java-think." It's hard for these people to adapt to not doing things "the Java way" and vice versa. And another part of the problem is that people have burnt themselves badly with Coffeescript, Clojurescript, and few other *scripts that were coming and going trends, and were an enormous LTS burden because of tooling that breaks as fast as you fix it.
- manigandham 7y agoWhy? Typescript just compiles down to JS, and type definitions are used IDEs so they still help when writing JS. How does removing typescript help you?
- baybal2 7y ago> How does removing typescript help you? https://github.com/microsoft/TypeScript/issues https://github.com/microsoft/TypeScript/issues Please count the number of open bugs JS tooling is already an enormous jenga tower as it is, with tooling breakages eating a double digit of developer time. Adding typescript on top of that would be the real madness. Typescript will not help us a dime with type checking for most of devs we hire are long past the stage when typing errors are a thing for them. On the down side, even certainly not cheap to hire devs with 6-7-8-10+ years of experience have to battle JS tooling every day. Like half of all genuine bug triage time is already spent on webpack, bable, and other things in the tooling stack. 200 hours a month for $30-$40 per hour devs. Imagine doubling that digit when they have to also spend time on learning typescript, and fixing it. No, it does not pay off at all
- manigandham 7y agoYea bugs exist, yet there are still thousands of teams using it to build very complex projects with less bugs because of Typescript safety and features. TS tooling either replaces JS tooling or interacts with it seamlessly. It's not like you're skipping JS altogether and there's no type-checking in JS anyway so where's the interference? Can you give a concrete example where TS is a blocking issue for your development?
- marcus_holmes 7y agoI use Vue without a compile step (I abuse Go's templating engine to achieve this). Mostly to avoid the security nightmare of Webpack's 434583593e4735683 dependencies (and most of the other options are not much better) so Typescript is not an option. I love that I can do this with Vue (I can't with React).
- STRiDEX 7y agoso what you're saying is you avoid vue's poor typescript support by not using typescript
- marcus_holmes 7y agomore like I'm prevented from enjoying Typescript's advantages by the fact that using it would require me to sign up for a vast dependency network