Exploiting Annotations for the Rapid Development of Collaborative Web Applications
Franz Josef Grüneberger
Proceedings of the 22nd International Conference on World Wide Web
Web application frameworks are a proven means to accelerate the development of interactive web applications. However, implementing collaborative real-time applications like Google Docs requires specific concurrency control services (i.e. document synchronization and conflict resolution) that are not included in prevalent general-purpose frameworks like jQuery or Knockout. Hence, developers have to get familiar with specific collaboration frameworks (e.g. ShareJS) which substantially increases the development effort. To ease the development of collaborative web applications, we propose a set of source code annotations representing a lightweight mechanism to introduce concurrency control services into mature web frameworks. Those annotations are interpreted at runtime by a dedicated collaboration engine to sync documents and resolve conflicts. We enhanced the general-purpose framework Knockout with a collaboration engine and conducted a developer study comparing our approach to a traditional concurrency control library. The evaluation results show that the effort to incorporate collaboration capabilities into a web application can be reduced by up to 40 percent using the annotation-based solution.
Heinrich, Matthias; Grüneberger, Franz J.; Springer, Thomas; Gaedke, Martin: Exploiting Annotations for the Rapid Development of Collaborative Web Applications. Proceedings of the 22nd International Conference on World Wide Web, pp. 551-560, 2013.