Distributed programming in Argus
Communications of the ACM
AmbientTalk: Object-oriented Event-driven Programming in Mobile Ad hoc Networks
SCCC '07 Proceedings of the XXVI International Conference of the Chilean Society of Computer Science
Comet and Reverse Ajax: The Next-Generation Ajax 2.0
Comet and Reverse Ajax: The Next-Generation Ajax 2.0
Flapjax: a programming language for Ajax applications
Proceedings of the 24th ACM SIGPLAN conference on Object oriented programming systems languages and applications
Web applications: spaghetti code for the 21st century
Web applications: spaghetti code for the 21st century
Embedding dynamic dataflow in a call-by-value language
ESOP'06 Proceedings of the 15th European conference on Programming Languages and Systems
Hi-index | 0.00 |
JavaScript programs are highly event-driven, resulting in 'asynchronous spaghetti' code that is difficult to maintain as the magnitude programs written in the language grows. To reduce the effects of this callback hell, various concepts have been employed by a number of JavaScript libraries and frameworks. In this paper we investigate the expressiveness of two such techniques, namely reactive extensions and promises. We have done this by means of a case study consisting of an online collaborative drawing editor. The editor supports advanced drawing features which we try to model using the aforementioned techniques. We then present a discussion on our overall experience in implementing the application using the two concepts. From this, we propose a roadmap of how to improve support of programming event-driven web applications in JavaScript.