Wiki 3.0 Implementation choices - UI Framework

Some results from my tests:

  • exporting a Vue 3 component as a web component is seamless and is working well
  • re-using a Web Component in a Vue 3 component is seamless and is working well
  • composing together Web Components is more painful and requires more work as features covered by Vue 3 (e.g., reactivity, event handling) are supported by the Web Components APIs

Therefore, I suggest to:

  • use Vue 3 as our front end components framework
  • exporting our components as Vue 3 components to be used by extensions developing in Vue 3
  • exporting our components as Web Components to be used by extensions/third parties that do not depend on Vue 3

Also, this means that using a Web Components front end library is a possibility (see the corresponding proposal)