Newsletter Issue #122
View this issue online
An "RFC" process (request for comments) was introduced for the Vue project last year to give the community a say about proposed new features. A handful of RFCs have since been released and have been relatively controversy-free.
But this week we've seen the RFC for the proposed "function-based API" completely divide the Vue community, with heated discussion spilling out across GitHub, Reddit, Hacker News, and elsewhere on the web.
Personally, I love the proposed API, as it provides an elegant and logical way for different component "topics" to be cleanly extracted into separate functions or files for better organization and reuse.
But of course, there's a cost for introducing an additional API - we take a step away from simplicity and towards complexity. Every Vue user will have to bear the mental burden of knowing at least a little bit about both APIs whether they intend to use them both or not.
For you and I, this really isn't a big deal. Where the cost may be felt more, though, is for "average" users who get little return on investment from learning a new API that mostly exists to improve scalability for logic composition, limitations on type inference, and other power-features they may never need.
So what's more important to the Vue project - ease and simplicity, or pushing the envelope on scalability and performance? I'm glad we have the RFC process to help Evan and the team make the best possible decision.
A personal request: if you do want to contribute to the discussion, please keep it professional and respectful (should go without saying) but also assume the Vue maintainers have everyone's best interests in mind.
Why has the Vue community splintered into two factions over an RFC for Vue 3.0? The author of this article sums up the controversy over the proposed function-based API.
Let's for a moment forget the debate on whether the proposed function API should be implemented in Vue, and instead, take look at some examples of what programming with it would be like.
Are you ready to try out the proposed function API for Vue? This project provides a 2.x compatible plugin allowing you to create next-generation Vue apps today!
Put your knowledge of GraphQL to use by creating a simple app in Vue.js and sending GraphQL queries for creating, reading, updating, and deleting data.
Studio 3T gives you full visualisation of your data and all the tools you need to access it, query it, edit it in-place, build aggregations and more. “Studio 3T saves me 10 hours a week,” says Pierre Folens at Orange. Download your free trial.
Single-SPA enables you to use multiple frameworks in a single-page application, allowing you to have Angular, React, and Vue.js apps all living happily together. In this article, you'll see how to build a React and Vue app into the same micro frontend.
This article covers how to implement functional components in Vue, why they are awesome, when they are appropriate to use, and also covers some caveats to be aware of.
Components get harder to maintain as they grow larger. Sometimes it is not obvious how to split a bloated component into smaller components. If you aren't ready to try the new function-based API, renderless components offer a good alternative.
Special thanks to my senior Patreon sponsors Vue School.
P.S. If you enjoyed this issue, show your support by buying me a coffee, or if you’d like to support me to create the newsletter ongoingly, you can make a pledge through Patreon.
P.P.S. Continue the conversation with Vue.js Developers on social media: