The Curious Case of Dust Javascript and Performance

Veena Basavaraj (Salesforce)
Web Performance, Mission City Ballroom B1
Average rating: ***..
(3.52, 23 ratings)

Today at LinkedIn, javascript/client rendered templates are one of the key components of our building web-apps: they inherently enable bandwidth gains with browser/CDN template caching, they dictate cleaner separation of presentation tier concerns with little or no logic, and at the same time enable greater unification and reuse across our fragmented web-app stacks that used Java/Grails/Jruby/Node and made it extremely hard to share common UI code for rapid iteration and innovation in our web products. The road to building this infrastructure has not been easy. In this talk we list the roadblocks/challenges, solutions we explored, lessons learnt and our current approach to leverage the best of both client and server-side solutions for optimal web-performance with javascript templates.

What LinkedIn is doing with javascript templates to unify the stack:

  • using dust.js,
  • open source more
  • extending to build real world, large scale web-apps with complex UI requirements, localization needs
  • testing early, iterate faster with dust and mock JSON

What LinkedIn is doing to measure performance of client-rendered apps using javascript templates

  • across browsers
  • across regions
  • tracking client errors
  • tracking engagement
  • graceful degradation for slower browsers

What LinkedIn is doing with javascript templates to optimize for performance

  • client rendering !== client mvc
  • deferred /delayed below the fold, use case based rendering
  • not everything on the client /browser, minimize js execution, keep the UI designs simple
  • leverage dust.js both on browser and server-side JS engine such as V8
  • server-side render for slower browsers and slower geo regions since server-side JS perf is consistent

Finally end with sharing perf / dev productivity and business engagement metrics for LinkedIn apps using javascript templates

Presentation

Photo of Veena Basavaraj

Veena Basavaraj

Salesforce

Veena serves as a Senior Frontend Systems Engineer at LinkedIn, where they have been making heavy use of HTML5 for their native and web mobile apps. While at LinkedIn, Veena helped drive the adoption of Dust, a powerful templating language for JavaScript, and has been advocating the use of client-side templating for quicker iteration and productivity. She is likewise further developing client-side templating solutions to improve the performance and maintainability of webapps

http://www.linkedin.com/in/veebs

Sponsors

Sponsorship Opportunities

For information on exhibition and sponsorship opportunities at the conference, contact Gloria Lombardo at (203) 381-9245 or glombardo@oreilly.com

Media Partner Opportunities

For media partnerships, contact mediapartners@ oreilly.com

Press and Media

For media-related inquiries, contact Maureen Jennings at maureen@oreilly.com

Contact Us

View a complete list of Velocity contacts