Fork me on GitHub

DynoSRC

Eliminate HTTP requests for JavaScript files and serve differential updates to your users on the fly.
No, really. Like, seriously.

How It Works Benefits

Test Drive Get Started

How It Works

1

Minimize HTTP Requests - DynoSRC loads JavaScript files inline in your HTML response, then stores them in localStorage. You can even inline the DynoSRC client lib, eliminating all HTTP requests for JavaScript on your site.

2

Differential Updates - Now, if a JS asset on your site changes, your users will have to download it again even though just a fraction of it changed. DynoSRC sends down differentials updates, so changes to large files don't require full downloads.

dynoSRC.v1.js

550 bytes

var longestDynosources = [
  "Argentinosaurus huinculensis",
  "Supersaurus vivianae",
  "Diplodocus hallorum",
  "Sauroposeidon proteles",
  "Futalognkosaurus dukei",
  "Antarctosaurus giganteus",
  "Paralititan stromeri",
  "Turiasaurus riodevensis",
  "Puertasaurus reuili"
];
function isDynoSourceAge(){ var dynosourceAge = -60000000, today = new Date().getUTCFullYear(); return (today < dynosourceAge); } function isLongDynoSource(dyno){ return (longestDynosources.indexOf(dyno) > -1) }

dynoSRC.v2.js

963 bytes

            
var longestDynosources = [ "Argentinosaurus huinculensis", "Supersaurus vivianae", "Diplodocus hallorum", "Sauroposeidon proteles", "Futalognkosaurus dukei", "Antarctosaurus giganteus", "Paralititan stromeri", "Turiasaurus riodevensis", "Puertasaurus reuili"
], heaviestDynosources = [ "Amphicoelias fragillimus", "Argentinosaurus huinculensis", "Puertasaurus reuili", "Futalognkosaurus dukei", "Antarctosaurus giganteus", "Paralititan stromeri", "Sauroposeidon proteles", "Turiasaurus riodevensis", "Diplodocus hallorum" ];
function isDynoSourceAge(){ var dynosourceAge = -60000000, today = new Date().getUTCFullYear(); return (today < dynosourceAge); } function isLongDynoSource(dyno){ return (longestDynosources.indexOf(dyno) > -1) }
function isHeavyDynoSource(dyno){ return (heaviestDynosources.indexOf(dyno) > -1) }

Difference

369 bytes


], heaviestDynosources = [ "Amphicoelias fragillimus", "Argentinosaurus huinculensis", "Puertasaurus reuili", "Futalognkosaurus dukei", "Antarctosaurus giganteus", "Paralititan stromeri", "Sauroposeidon proteles", "Turiasaurus riodevensis", "Diplodocus hallorum"
function isHeavyDynoSource(dyno){ return (heaviestDynosources.indexOf(dyno) > -1) }

Benefits

Why use DynoSRC?
Click on the icons below to find out.

Average JS Requests

Bandwidth

Cache Eviction

DynoSRC

Baseline

Get Started with DynoSRC

Test Drive

See on-the-fly patching in action.

Try It

README

Learn how to use DynoSRC in your NodeJS project.

Learn It