Mobile site now using Mustache.js

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Mobile site now using Mustache.js

Jon Robson-2
For historic reasons the mobile site was built using client side templates
using a templating library called Hogan.js. This caused problems with
development as engineers wanting to build client side experiences using
templates would have to use different template languages for desktop and
mobile experiences or ship two both Mustache and Hogan to end users.

We've recently been simplifying and cleaning up the codebase, reducing
technical debt [1] and as part of this effort have switched templates
inside Minerva and MobileFrontend from Hogan to Mustache [2, 3] to bring
them in line with the rest of the platform.

The Mustache library is smaller than Hogan and appears to be better
maintained. It also has a PHP implementation which is used across MediaWiki
inside cores and skins.

Longer term we are reconsidering the use of templates in our part of the
tech stack but if you are developing extensions or skins that operate in an
environment using a separate mobile skin you can safely and are encouraged
to make use of Mustache to share code that needs to run in both PHP and JS.

[1]
https://medium.com/freely-sharing-the-sum-of-all-knowledge/how-we-tackled-technical-debt-at-wikipedia-d52030065e2c
[2] https://gerrit.wikimedia.org/r/#/c/506340/
[3] https://phabricator.wikimedia.org/T220620
_______________________________________________
Wikitech-l mailing list
[hidden email]
https://lists.wikimedia.org/mailman/listinfo/wikitech-l