Please use this identifier to cite or link to this item: https://www.um.edu.mt/library/oar/handle/123456789/13782
Title: Towards offline usage of JavaScript web applications
Authors: Degiorgio, Leon
Keywords: Web applications
JavaScript (Computer program language)
HTML (Document markup language)
Issue Date: 2016
Abstract: The lack of features provided by traditional desktop applications has led to an increase in popularity for web applications. These features are comprised of high accessibility, uncomplicated updating and bug fixing, platform independence and the advantage of being installation-free for the end-users. However, situations often arise whereby Internet connectivity is limited or unavailable and access to the cloud is still required. Consequently, stakeholders have reviewed the possibility of manually developing an offline infrastructure for their web applications, yet this resulted to be time-consuming and required excessive effort. The main challenge of developing an offline web application is to provide a higher level of availability without the exclusion of any properties that are currently present in the web application. However, the CAP theorem states that consistency, availability and partition tolerance may never be achieved simultaneously. Nevertheless, any of the two properties may be provided simultaneously to the exclusion of the third property. The purpose of this Final Year Project is to develop a framework that facilitates the process by which developers incorporate offline capabilities into their web applications, since manual implementation of offline functionality tends to be both time-consuming and complex. Due to the restriction inferred from the CAP theorem, it has been decided that strong consistency should be replaced by eventual consistency in order to achieve higher availability. Additionally, the implemented system provides an “offline-first” working model. This was achieved by utilising client-side storage, where client changes are carried out on the local storage and later pushed to the server with the aim of achieving eventual consistency. The proposed framework was evaluated by the execution of a test suite that involved timing a set of operations that could be carried out on the framework. These timings were used to verify that operations were taking a reasonable amount of time to execute, and that none of them scaled exponentially. Moreover, a simpler offline version of the use case utilised throughout the project was implemented twice: once using the framework, and once without. The framework dependent implementation resulted in a significant reduction in lines of code, and hence, facilitating inclusion of offline capabilities into a web application.
Description: B.SC.(HONS)COMP.SCI.
URI: https://www.um.edu.mt/library/oar//handle/123456789/13782
Appears in Collections:Dissertations - FacICT - 2016
Dissertations - FacICTCS - 2016

Files in This Item:
File Description SizeFormat 
16BCS007.pdf
  Restricted Access
2.31 MBAdobe PDFView/Open Request a copy


Items in OAR@UM are protected by copyright, with all rights reserved, unless otherwise indicated.