JSFoo Pune 2019

JSFoo Pune 2019

JSFoo is a JavaScript conference hosted by HasGeek.

JSFoo is the annual JavaScript conference hosted by HasGeek. The Pune edition is the second edition (JSFoo in Pune in 2012, and ReactFoo in January 2018).

HasGeek launched JSFoo in 2011 as India’s first JavaScript conference. The JS community in India has grown phenomenally since then. JavaScript now prevades every aspect of web development - browsers, apps, front-end, back-end, mobile and IoT, and there’s always scope to understand new ideas and solutions. The conference explores new ideas, implementing innovative solutions, and learning from experiences, especially negative ones.

Want to see the talks from last year’s conference? Watch the JSFoo 2018 videos or the related ReactFoo 2018 videos.

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

Hemant Rai


The vuetiful journey from AngularJS to Vue - Migration of a SaaS product suite in phases

Submitted Oct 4, 2018

Migrating the front-end for an existing SaaS product is a challenge in itself but migrating all the front-ends of an enterprise SaaS suite is another beast altogether.

At Cloudnaut Technologies while building the tech for EasyWeb Group, one of UK’s leading HR and Recruitment solutions provider, this was exactly the challenge we ended up tackling. After close to 3 years in production, we decided to move all of our AngularJS powered front-end apps and front-facing plugins to Vue.js in an existing complex, microservices architecture.

This talk is intended for people who are interested in knowing how such tectonic shifts are undertaken and delivered in an enterprise SaaS suite ecosystem while ensuring seamless transitions for end users.


This talk would mostly focus on how a rewrite spanning across several systems of the product suite was planned and executed. How the fact that most of these front-facing systems use common microservices makes the task even more complex when the rewrite has to be done in a phased manner.

1. Introductions

  • Cloudnaut Technologies - who we are, what we do
  • EasyWeb Suite - A brief description of the product suite, the architecture & apps that were rewritten.

2. Legacy

  • AngularJS era - How AngularJS helped us build large scale apps rapidly
  • Evolution of the ecosystem - How the apps evolved and grew, pushing AngularJS to limits
  • Need for rewrite - Performance, enhancements and being ready for the future

3. Plan

  • Picking the framework - Angular, React or Vue (We love Vue)
  • Hello Vue - How we rewrote a core front-facing plugin in Vue.js to test drive Vue.js before making the final call
  • The blueprint - How we planned for a phased rewrite of all front-end apps & plugins, simultaneous updates to the existing apps and ensuring all microservices play nicely with both the old and the new systems

4. Execution

  • End of an era - Letting go of AngularJS, learning the Vue way
  • By the power of Vue - How Vue.js helped us in building apps bigger, better and a lot simpler than before
  • Legacy updates - Its a mess
  • Rolling them out - Powering the entire product suite with Vue, one app at a time

5. Lessons learned

  • Think forward - Requirements evolve, sometimes mutate
  • Estimating for a new framework - Here be dragons
  • Evolving ecosystem - Catching up with dependencies
  • Fruits of the labour - Better code, easier maintenance, rapid development & happy developers

6. Conclusion

  • Review - How the rewrite was received
  • Vuetiful Vue - Why we love it
  • Fin

Speaker bio

I am Hemant Rai, Front end lead at Cloudnaut Technologies. During my 7 years as a developer I’ve worked across the dev stack and have been focusing on the front-end for more than 3 years now. I started as a PHP developer working mostly on the back-end but switched to the JS stack around 4 years ago. On the front-end, I started with angularJS and have been building Vue.js apps for almost 2 years now.





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

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

{{ errorMsg }}

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

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