Vue.js

The Vue.js toolchain is being evaluated as an officially supported way of building UI within the MediaWiki ecosystem. It's currently experimental and not ready for wide use as there are a number of unknowns but more importantly, no well thought out conventions yet. This page documents best practices and other knowledge that surfaces during evaluation. In general, this documentation should be minimal because it defines only MediaWiki-specific pieces, and largely refers to the official documentation.

Pre-built (bandwidth and client performant at the expense of extra work)
For professional developers building high performance experiences, pre-compilation and minificiation is recommended. However, this requires extra per-repo configuration changes which are currently undocumented. This extra configuration will be eliminated or formalized and minimized if the deploy build step RFC succeeds.

On the fly compilation (big and slow but easy to develop)
ResourceLoader will soon have built-in support for parsing single-file components. This lets you write Vue.js with very little configuration in the context of a MediaWiki installation which may be valuable in some contexts as well as for developers uncomfortable with compilers.

External resources
Most important:


 * Official guide
 * Official API documentation
 * Official devtools browser extensions

Training vendors

 * Vue School
 * Frontend Masters
 * Vue Mastery

Testing
You should write tests! The current recommendation is to use Jest.