11.07.2015 Views

Client-Side Storage in Web Applications

Client-Side Storage in Web Applications

Client-Side Storage in Web Applications

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

dardiz<strong>in</strong>g Gears features and APIs <strong>in</strong> HTML5 and associated APIs. The Gears projectstill rema<strong>in</strong>s as open source and is available athttp://code.google.com/p/gears/. In order to use Gears, Gears plug-<strong>in</strong>needs to be <strong>in</strong>stalled to a web browser. However, the plug-<strong>in</strong> works only with old andodd browser/operat<strong>in</strong>g system comb<strong>in</strong>ations, and therefore its use cannot be recommended.Several high-level companies have used Gears as part of their products at somepo<strong>in</strong>t, <strong>in</strong>clud<strong>in</strong>g Google’s GMail and Docs as well as MySpace.2.4 SummaryThis section gave an overview of the three legacy client-side storage mechanisms:HTTP cookie, Flash cookie, and (Google) Gears. In Table 1, the mechanisms arecompared aga<strong>in</strong>st a set evaluation criteria to give a quick understand<strong>in</strong>g and an overviewof their differences.Table 1. Comparison of legacy client-side storage mechanisms.<strong>Client</strong>-sidestorageStandardizationMa<strong>in</strong>featuresSupporteddata types<strong>Storage</strong>spaceBrowsersupportHTTP cookie IETF RFC 6265,StandardsTrack, April2011simple keyvaluepair datastr<strong>in</strong>g(<strong>in</strong>clud<strong>in</strong>g str<strong>in</strong>gserializedJSON)4 kB per cookie,50 cookies perorig<strong>in</strong> (recommendation)all major browsersFlash cookie(Local SharedObject)proprietarybrowser plug-<strong>in</strong>(Adobe)alternative toHTTP cookies,accessible viaJavaScriptmany(Flash datatypes)100 kB perorig<strong>in</strong>(can be <strong>in</strong>creased)all major browsersvia AdobeFlash Player 6+plug-<strong>in</strong>, exclud<strong>in</strong>gmobilebrowsers (Androidand iOSSafari)(Google) Gearsopen-sourcebrowser plug-<strong>in</strong>(BSD License)relational database(SQLite),uses a variant ofSQLmanyunlimited(SQLite limitations)deprecated (oldbrowser versionsvia Gearsplug-<strong>in</strong>)3 Revolution: The HTML5 ApproachThe W3C has specified three different API proposals for stor<strong>in</strong>g and manipulat<strong>in</strong>gpersistent data on the client side: <strong>Web</strong> <strong>Storage</strong> [11], <strong>Web</strong> SQL Database [10], andIndexed Database API [17]. The motivation for creat<strong>in</strong>g the APIs was ma<strong>in</strong>ly fourfold:(1) standardize client-side storage access, (2) promote native browser support,(3) <strong>in</strong>crease storage space, and (4) offer persistent data storage. Each API serves aspecific purpose, and therefore has a different approach and advantages. However, the4

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!