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

Abhik Mitra

@abhikmitra89

Moving a huge AngularJS App to React, progressively at Microsoft Scale

Submitted Jun 29, 2018

What do you do when have a huge Javascript app running in Angular and you want to move into React ?
Rewriting the app in a big bang manner is not an option when you have hundreds of developers across 3 continents comitting code that results in a Non Gzip bundle size of almost 20 MB non-vendor Javascript!

This talk is for anyone who wants to know how a large app such as Microsoft Teams is shipped and how we at Microsoft move from one technology to another while still serving millions of customers everyday.

Outline

The talk will mostly will give an insight into how Microsoft works, our design decisions, architecture and the processes that goes into changing technology of an app thats used by millions of users everyday.

  1. Scale of the Microsoft Teams App - The teams app is one of the largest Javascript Apps inside Microsoft with its prescence across both the desktop(Electron) and the web and the sheer amount of Jaavscript code that gets into the bundle everyday.
  2. Our journey with Angular - What worked out well , what didn’t - Angular worked wonders for us when we wanted to ship very quickly. But as the team and the product grew , we stretched Angular too thin.
  3. Breaking up a monolith - The strategies we adopted on how we go about this daunting task of changing the stack of the app while still allowing developers to iterate on existing codebase.
  4. Gradually moving to React - Moving to React while keeping the entire app stable is like changing tires on a moving car
  5. Angular React Bridge - Talk about some of the key technical aspects,and the architecture of laying a communication mechanism between Angular and React while still allowing hundreds of developers to build features without worrying about internals.

What the talk is not about ?

  1. React or any framework/library tutorial
    2.Any Microsoft Technology , though you might hear about Typescript quite a few times in the talk :)
    3.Windows
    4.What Microsoft is gonna do with Github! :P

Requirements

Understanding of software engineering. Talk would have more to do with architecture & engineering than any particular framework. If you have worked/architected a Javascript single page app before , you would be able to appreciate the challenges and the solutions.

Speaker bio

I am Abhik Mitra, Engineering Manager from Microsoft India Development Centre, Bangalore and working on moving ‘Teams’ to React.
In my 7 years of working in the industry I have worked on Web , Backend and mobile. In Microsoft, I have had the privilege of working on iconic products like Outlook Mobile and Microsoft Teams and seeing from close quarters how enterprise software is shipped! Before Microsoft , I was in Flipkart where I saw how a small startup matures to become the ecommerce leader of India.

Of all the pillars of Software Engineering , frontend excites me most!

Slides

https://1drv.ms/p/s!Ak2Qkavt1PeEgZUjsH5su-NOPsdgtw

Comments

{{ 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