JSFoo 2019

JSFoo 2019

On component architecture, front-end engineering and Developer Experience (DX)



Bharat Kashyap


Backbone => Vue: Adding modern frameworks to legacy codebases

Submitted Aug 30, 2019

All large projects of our time began life as small codebases written in frameworks that are now almost obsolete. How should organisations go about introducing modern frameworks into these “legacy” codebases; and is doing this effort worth taking at all?


The web development world looked a lot different at the beginning of this decade. Full stack development was seeing its origins, with a number of JavaScript frameworks being developed for both front and back end use. A number of the large software companies around us today - AirBnb, Uber, Hulu - built the first versions of their products on such frameworks. These frameworks – one of which was Backbone.js – look very different from the frameworks most of us are used to. Built during a time of an extremely limited JavaScript, these frameworks did not evolve at the same rate over this past decade as JavaScript. Cut to 2019, even though they retain their place in very large codebases, there are very few developers comfortable writing code in them; they slow down parts of the application, feature building and debugging – just because it is difficult to introduce newer, modern frameworks into such legacy codebases. We performed a similar experiment in our own application – of introducing Vue to a very large application writtin in Backbone.js – and learned a lot in the experience. The aim will be to lightly outline how we implemented this mixed migration, and what specific benefits we observed in the process.

Speaker bio

I’m a frontend engineer at Atlan, a data democratisation startup operating out of Delhi. I have frontend experience with SocialCops, where I worked on large projects undertaken by the Government of India and the United Nations, among others.




{{ gettext('Login to leave a comment') }}

{{ gettext('Post a comment…') }}
{{ gettext('New comment') }}
{{ formTitle }}

{{ errorMsg }}

{{ gettext('No comments posted yet') }}

Hybrid access (members only)

Hosted by

JSFoo is a forum for discussing UI engineering; fullstack development; web applications engineering, performance, security and design; accessibility; and latest developments in #JavaScript. Follow JSFoo on Twitter more