Using Vue - internetarchive/openlibrary GitHub Wiki
Vue is best suited for developing non-essential enhancements whose primary purpose is to provide a rich user experience using JavaScript. Examples of such enhancements include the Read Stats feature. Additionally, Vue is ideal for developing components or widgets that cater to specific audiences, such as the librarian tools, which provide advanced functionality that is more easily achieved using Vue.
The Open Library website aims to provide a robust and functional experience that works for the majority of users, without relying on JavaScript or modern browser enhancements. This is because we want to ensure that our website is accessible to as many people as possible, regardless of their browser or device. By focusing on a non-JS experience by default, we can ensure that our website works for everyone, while also providing a solid foundation for building more advanced features using JavaScript. As a result, except for a few self-contained features such as the Library Explorer and the librarian merge UI, we do not typically build core pages in Vue. Instead, Vue is used as a progressive enhancement, which means that it is added on top of the existing HTML structure to provide additional features and functionality. This approach allows us to ensure that our website works well for all users, regardless of whether they have JavaScript enabled or not.