Page MenuHomePhabricator

Blockers for using the vue.js framework for Wikibase on the Wikimedia cluster
Closed, ResolvedPublic

Description

The Wikidata team wants to experiment with vue.js/Vuex as a framework for state management, value binding, and templating. This is a tracking ticket for using vue.js in the Wikibase frontend on wikidata.org.

See also T157014: CONSULTATION/PLAN: Managing Complex State and GUI on MediaWiki (e.g. for Wikidata/Wikibase UI)
See T167134#3322294 for the rationale for using vue.js

NOTE: using vue.js in Wikibase should be seen as an experiment. If another framework turns out to be preferred by Wikimedia after experimentation elsewhere, we should be ready to adopt the other framework. This means that we should be conscious and deliberate about where we use vue.js, and we should not start relying on it everywhere just yet.

Event Timeline

@Jan_Dittrich Can you edit the description and write down / link to a rationale for experimenting with vue.js?

@daniel: rationale for experimenting with reactive frontend frameworks in general (see T157014)? Or choosing vue in particular?

@Jan_Dittrich Vue in particular. But thanks for the pointer, I added it to the description!

I can add a brief overview of the reasons for choosing vue:

  • Size of community and support: Vue is one of the better known frameworks, which made it an obvious candidate
  • Legal: In contrast to the best known reactive framework, react, vue has no patent clause.
  • Learnability:
    • Vue has a good documentation and onboarding (compared to react)
    • Can be quickly tried out without having to add a huge amount of tooling
    • HTML templates can be used
  • Other: Optional single file components. Need a bit tooling but are great for structuring a project.

For state management with vue, its sister-library, vuex is usually chosen, but we could also use Redux or MobX with vue (or anything else) if we feel like…

WikibaseLexeme has been deployed on Wikidata for several months now and is using vue.js as far as I’m aware. Is there anything left to track or can we close this task?

Lydia_Pintscher claimed this task.
Lydia_Pintscher added a subscriber: Lydia_Pintscher.

Closing this task for lack of response.