This article is more than 1 year old

Watching you, with a Vue to a Kill: Wikimedia developers dismiss React for JavaScript makeover despite complaints

Facebook's popular frontend framework can't escape its heritage

After several months of debate, the Wikimedia Foundation (WMF) has decided to modernize the front-end interface used by Wikipedia and other projects by adopting the Vue.js JavaScript framework, a choice that remains controversial.

The Wikimedia Foundation oversees Wikipedia which still relies on decade-old user interface elements built with technologies like jQuery and an internal framework called OOUI. The non-profit has been formulating a plan to update its platform to make it more manageable with automation, more easily measured, and more friendly for would-be contributors.

Part of that plan involves re-thinking the frontend interface technology used by MediaWiki, the software used to run Wikipedia. Late last year, the non-profit's Frontend Architecture Working Group (FAWG) put out a proposal to adopt a modern JavaScript framework to create web interface elements served by its PHP backend.

The Request for Comments (RFC), published in December, 2019, summarizes the goals of the technology bake-off and recommends Vue.js, a popular JavaScript frontend framework, as the likely candidate. The only other contender that appears to have received much consideration is React, an even more popular framework open-sourced by Facebook in 2013.

Other JavaScript frameworks didn't make the initial cut. Angular and Ember were deemed insufficiently flexible while Svelte, Inferno, and Preact were dismissed for not being popular enough and Stimulus.js was binned for failing to support desired use-cases like server-side rendering.

verity stob portrait

The Pi who loved me: Licensed to SSL

READ MORE

"React and Vue.js share many features and philosophies," the proposal explains. "Both enable developers to build UIs in a declarative, reactive, and component-based way; both core libraries are fairly light-weight and performant; both possess large and active communities."

"We believe that the Foundation would be well-served by adopting either tool. However, we believe that Vue.js has a few key advantages that are relevant for the Foundation's use-cases."

Vue.js, the proposal says, has better support for front end build tools like Webpack and Babel, appears to allow code with fewer dependencies, and is evolving in a stable manner.

Also, the proposal suggests, React's parentage is a problem. Specifically, React was developed by Facebook, and between 2014 and 2017 the interface library was subject to a BSD + Patents license that other organizations viewed as a potential risk.

Facebook in 2017 shifted React to the MIT license, but the company's business model and behavior remain a matter of concern for some developers.

The proposal notes, "Vue.js development is not led by a single corporation whose goals may diverge from those of the WMF."

The WMF was also unimpressed that another open-source Facebook project, the HipHop Virtual Machine (HHVM), used to convert PHP to machine code for better performance, stopped fully supporting PHP last year, forcing WMF to migrate away from it.

What's more, parts of the Wikimedia community already have experience with Vue.js: WMDE (Wikimedia Deutschland) has been experimenting with the framework for the Wikidata site.

There were dissenting voices while the move to Vue.js was being considered. Last month, developer Hyeon Kim, among others, argued that React would be the better choice. But Vue.js creator Evan You joined the debate in an attempt to answer Kim's criticisms.

On Wednesday, the comment period closed and the proposal to move forward with Vue.js was adopted.

Even so, the matter may not be settled. The decision has prompted other developers to urge the FAWG to reconsider, with some arguing that Web Components, a W3C standard, should be used instead, and others insisting that users' needs should be considered alongside those of developers.

There may not be a right answer, but there's always a wrong one. ®

More about

TIP US OFF

Send us news


Other stories you might like