Apr 2015
13 Mon
14 Tue
15 Wed
16 Thu 09:30 AM – 12:15 AM IST
17 Fri 09:30 AM – 12:00 AM IST
18 Sat 12:00 AM – 12:15 AM IST
19 Sun
Dheeraj Kumar
I’ll attempt to help you speed up your app by rendering your client-side JS app on the server with Node.js/IO.js, hence improving your page’s first render time.
In a recent analysis by Filament Group, using a framework increases a page’s first render time by several seconds. The larger the framework is, like Angular and Ember, the more performance penalties they incur (4 and 5 seconds).
Isomorphic Javascript is a technique to minimize the perceived performance penalties for the end user, by rendering your page on the server using Node/IO, and serving the static HTML generated. This significantly decreases the time to first render, which effectively speeds up the site drastically for the end user. The framework will then be loaded asynchronously, and will take over once loaded to provide the interactivity.
Advantages
Considering this is MetaRefresh and not JSFoo, I’ll be talking about this technique in general, talking about the various advantages in detail, along with the tradeoffs required to build this into your app. However, as for implementation details, I’ll be talking from the context of Ember & Fastboot, Backbone & React, and Prerender.io.
Note that the Meteor Framework is one of the most famous examples of Isomorphic Javascript. I haven’t used it personally, but will try to learn & include it in the talk :)
Curiosity, and an open mind.
Hi, I’m Dheeraj.
I write Ruby & JS at Bang The Table, Bangalore. I’ve recently started learning Scala and being constantly amazed by its expressiveness.
I’m a member of & presented talks in several meetups including Bangalore Ruby User Group, Chennai.rb and Bangalore Ember.js Meetup Group. I’ve also helped organize India’s first regional Ruby conference - Garden City Ruby Conference
I love software design patterns, reverse engineering, cycling and Kaju Katli
I’m a proud opinionated Ember.js enthusiast. Go Hamster!
Hosted by
{{ gettext('Login to leave a comment') }}
{{ gettext('Post a comment…') }}{{ errorMsg }}
{{ gettext('No comments posted yet') }}