JSFoo 2015

The future of JavaScript

Bala Dutt


JavaScript Plugin Architecture for Single Page Applications

Submitted Sep 11, 2015

Learn architecture of a third party integration capability in QBO and implementation aspects like same origin policy limitations handling with easyXDM.


Web Applications have become increasingly complex – and it is very common to have applications that require interaction with third-party applications. On the other hand, our end users like to have a single place for all these interactions. This suggests the need for composing a webpage from multiple independent applications while at the same providing a unified user interaction model. Our team has developed a JavaScript based Plugin Architecture for Intuit’s QuickBooks Online (QBO) that enables this. We will share our experiences and learnings in building this. We talk about different approaches to integration, architectural/design principles underlying our implementation and user facing (and experience related) aspects of a good integration. We discuss design details such as access, attach points etc., usage of easyXDM to circumvent same origin policy limitations, sandboxing plugins and experimentation framework.

Speaker bio

Bala Dutt works as Principal Engineer at Intuit on their flagship product QuickBooks online. In his 17yrs in industry, he has been architect for Intuit’s ecommerce site intuitmarket.com, high scale websites, machine learning product and new products built for India. He loves web application development, especially large scale problems, software architecture and intelligent software. He has created software for desktop, web and mobile. He holds many patents in multiple areas. After Intuit, Sun Microsystems is the company he has worked for longest. He has worked on general purpose engineering simulators, application servers/webservers, tiny mobile database and large platform efforts, in addition to application development.


https://www.dropbox.com/s/o093e7eit2nwxlz/JavaScript Plugin Architecture for Single Page Applications - 0.2 - ext.pptx?dl=0


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