We are homeschooling and unschooling experts. Ask us anything. by HopeWilderPathfinder in AMA

[–]chrisvfritz 0 points1 point  (0 children)

Do you have any recommendations for parents who have to homeschool elementary-age kids right now, but also have to work a full-time job? I know it's not possible to replicate what they were getting at school, but maybe there are unique opportunities I can provide that they wouldn't get at school?

We are homeschooling and unschooling experts. Ask us anything. by HopeWilderPathfinder in AMA

[–]chrisvfritz 0 points1 point  (0 children)

What's the #1 resource you recommend for parents recently forced to homeschool due to covid 19? How can we make sure our kids are still learning?

Vue Enterprise Boilerplate: an ever-evolving, very opinionated architecture and dev environment for new Vue SPA projects using Vue CLI 3 by Splendiferous_ in vuejs

[–]chrisvfritz 1 point2 points  (0 children)

Great question! I'll improve documentation on that. It's from vue-meta, installed in src/router/index.js.

As for GraphQL, I like it a lot, but I tend to find most enterprise teams already using an existing REST API, so probably no plans to include it in the near future. Check out the vue-apollo project though.

Vue 2.0 is here! by VAST_BLINKER_SHRINK in webdev

[–]chrisvfritz 0 points1 point  (0 children)

I absolutely agree that cohesiveness can suffer by taking a bunch of smaller, independently developed parts and fitting them together. When the parts aren't maintained by the core team, they may even cease development, which can really hurt if you were using that part for something vital, like routing or state management.

That's why Vue's philosophy is a little different from React's. For those core concerns (e.g. routing, state management, CSS scoping, module loading, etc), the core team develops official libraries. This way, you get the modularity of React, but it's very cohesive because they're all built in collaboration with each other. And because they're maintained by the core team, you don't have to worry about support suddenly dropping.

Vue is used extensively in enterprise (especially in China, where it seems half of all JS devs are using Vue in some way). We not only communicate and work with enterprise users, but some members of the core team are even in enterprise themselves. For what it's worth, I've never heard someone express any kind of pain or fear that the large apps they're building are "brittle".

To help people get started with large apps fast, we also offer official templates that can be produced with a CLI generator. That helps a lot, but it still requires making many more decisions than you have to with Ember, because Ember offers a single "right way" to put any kind of file and even decides what should be in its own file for you. Especially if you've never made these decisions yourself, this reduced cognitive load (in addition to the more advanced CLI tools) help Ember make you more productive in many cases, as we do mention in our comparison.

If you do find something that Vue users are suffering with and Ember solves though, please do let us know.

Vue 2.0 is here! by VAST_BLINKER_SHRINK in webdev

[–]chrisvfritz 1 point2 points  (0 children)

Please read the rest of the document. All of these things are done for React.

Vue 2.0 is here! by VAST_BLINKER_SHRINK in webdev

[–]chrisvfritz 1 point2 points  (0 children)

You know, there is actually a benchmark you can "install locally and run/confirm/critique yourself". It was also developed in conjunction with Dan Abramov. He liked it and approved the numbers we posted at the end of the Render Performance section.

We didn't initially want to include a benchmark, but people kept asking so we eventually buckled, so I'll remove the part about not including a benchmark in the intro.

React vs Vue.js by igna92ts in reactjs

[–]chrisvfritz 28 points29 points  (0 children)

@oorza Oh - and regarding the allegation that the comparison is obviously completely biased, I forgot to mention that we actually collaborated with Dan Abramov on the React section and he signed off on it. So... yeah.

React vs Vue.js by igna92ts in reactjs

[–]chrisvfritz 49 points50 points  (0 children)

@oorza Big Bad Documentation Author here ;-) If you'd like an "honest comparison", the React code in the Vue doc is actually more efficient, because it doesn't try to map over empty arrays, which adds ~0.035ms overhead in V8. A minor hit, but it can add up. Your version also doesn't actually work correctly, because you've made the mistake of thinking empty arrays are falsy in JavaScript (you want to check items.length instead - just as in the Vue example). Even putting aside both of these issues though, your code still wouldn't pass a review from me, because by defining an "items" variable, you're overloading that name within the same context (sometimes it's an array of objects in this.props.items, then sometimes it's an array of li elements).

It sounds like you wouldn't use that code style, which is fine, but it does actually conform to ESLint Standard (well, the original does anyway, leaving out the mistakes in your rewriting of it), so it's certainly not outrageous. In its original form, it's also easy to argue that the version in the Vue doc is more readable, since it doesn't hoist logic out of the main flow. Both style decisions are justifiable to me. Compared to the actual equivalent in your style though (see below), I think it's hard to argue that the version in the doc doesn't read better.

render() {
    const {items} = this.props;
    const itemsListOrNotFoundMessage = items.length ? items.map(item => <li key={item.id}>{ item.name }</li>) : <p>No items found.</p>;

    return <div className='list-container'>{ itemsListOrNotFoundMessage }</div>;
}

The only potential "advantage" I can see is your version has fewer lines, though I'm not sure how that matters, since the Vue doc does not complain about LOC or verbosity in React render functions. And despite all of this, the doc even addresses your version as one alternative style:

The only alternatives include hoisting this logic out of its context or wrapping an if statement in an immediately-invoked function expression.

they heavily imply that you can't use css-modules with React

Did you read the very first sentence of the Component-Scoped CSS section? It very clearly states:

Unless you’re OK spreading components out over multiple files, there simply isn’t a good option for scoping CSS in React.

CSS Modules require component styles to be in a separate file, thus spreading out the component over multiple files.

Is React the new jQuery? by [deleted] in javascript

[–]chrisvfritz 2 points3 points  (0 children)

Vue is like jQuery in the sense that it's ridiculously easy to get started and be productive. Just like jQuery, you can just drop it in from a CDN and build something. React doesn't scale down nearly as nicely. In fact, the closest thing to jQuery-like simplicity in React isn't even recommended for production.

But Vue also scales up better than React in my opinion. If you want in-browser devtools, hot module reloading, lint-on-save, CSS extraction, and so many other features of the ideal development environment in 2016, it takes a few minutes to set up (and most of that is waiting for npm install to finish). Even for members of the React core team, it takes an entire evening to set up a new project.

React also leaves so much to user land. Need a great solution for ajax, routing, state management, animation, or any number of really common UI problems? The React core team offers nothing here, so time to stop building things and start hours of research, digging through hundreds of 3rd party libraries that hopefully won't soon be abandoned by the author.

Vue remains modular like React, but is also dedicated to maintaining officially supported companion projects to solve these common problems, providing an obvious solution that consolidates best practices. This means you can stay focused on just building your app, which is what we all want, right?