TY - GEN
T1 - Proposals for modular asynchronous web programming
T2 - 15th International Conference on Current Trends in Web Engineering, ICWE 2015 Workshops NLPIT, PEWET, SoWEMine
AU - Fukuda, Hiroaki
AU - Leger, Paul
N1 - Publisher Copyright:
© Springer International Publishing Switzerland 2015.
PY - 2015
Y1 - 2015
N2 - Because of the success in the Internet technologies, traditional applications such as drawing and spreadsheet software are now provided as web applications. These modern web applications adopt asynchronous programming that provides high responsive user interactions even if an application works without multi-threading. At the same time, as the scale of these applications becomes large, modular programming becomes important because it allows developers to separate concerns, meaning that the evolution of one module does not affect other modules. However, applying asynchronous and modular programming is difficult because asynchronous programming requires uncoupling of a module into two sub-modules, which are non-intuitively connected by a callback method. The separation of the module spurs the birth of other two issues: callback spaghetti and callback hell. Some proposals have been proposed without the lack of issues about modular programming. In this paper, we compare and evaluate these proposals applying them to a non-trivial open source application development. We then present a discussion on our experience in implementing the application using these proposals. Finally, we point out challenges that this kind of proposal should overcome toward a modular programming.
AB - Because of the success in the Internet technologies, traditional applications such as drawing and spreadsheet software are now provided as web applications. These modern web applications adopt asynchronous programming that provides high responsive user interactions even if an application works without multi-threading. At the same time, as the scale of these applications becomes large, modular programming becomes important because it allows developers to separate concerns, meaning that the evolution of one module does not affect other modules. However, applying asynchronous and modular programming is difficult because asynchronous programming requires uncoupling of a module into two sub-modules, which are non-intuitively connected by a callback method. The separation of the module spurs the birth of other two issues: callback spaghetti and callback hell. Some proposals have been proposed without the lack of issues about modular programming. In this paper, we compare and evaluate these proposals applying them to a non-trivial open source application development. We then present a discussion on our experience in implementing the application using these proposals. Finally, we point out challenges that this kind of proposal should overcome toward a modular programming.
KW - Aspect-oriented programming
KW - Asynchronous programming
KW - Virtual block
UR - http://www.scopus.com/inward/record.url?scp=84951043317&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=84951043317&partnerID=8YFLogxK
U2 - 10.1007/978-3-319-24800-4_8
DO - 10.1007/978-3-319-24800-4_8
M3 - Conference contribution
AN - SCOPUS:84951043317
SN - 9783319247991
T3 - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
SP - 91
EP - 102
BT - Current Trends in Web Engineering - 15th International Conference, ICWE 2015 Workshops NLPIT, PEWET, SoWEMine, Revised Selected Papers
A2 - Diaz, Oscar
A2 - Daniel, Florian
PB - Springer Verlag
Y2 - 23 June 2015 through 26 June 2015
ER -