Creating offline web applications using HTML5 : a thesis presented in partial fulfillment of the requirements for the degree of Master of Information Sciences in Computer Science, [Massey University, Albany, New Zealand]
With the proliferation in the use of mobile devices, browser based applications are
becoming the ideal information system for both individuals and organization. Web
applications are platform independent and easy to deploy so can be accessed
from any device that has a browser. A large number of businesses are now offering
cloud services to deliver their software, which are on-demand and pay-as-you-go
solutions. The increase in this trend is adding a huge economic and bandwidth
challenge to both the network provider and consumer.
While traditional web applications work when they are online, it is however essential
for these applications to be available both online and offline modes. With
this explosion in the use of mobile devices, the ability of these applications to work
offline is especially important in situations where there is intermittent or no network
In this thesis we discuss ways of developing offline web applications. We also
propose a method of implementing a wrapper that simplifies the currently proposed
W3C’s HTML5 client-side database API, IndexedDB, by providing a fluent
interface with a Language Integrated Query (LINQ) feel. In cases where synchronization
of the client-side data with the server database is a requirement, conflict
resolution becomes a bit challenging. We discuss techniques for synchronizing the
data that is stored at the client during offline mode with the server database.
Keywords: Web applications, HTML5, Client side storage, Browser databases,
IndexedDB, Database replication/synchronization.