Abstract
Because of the success of the Internet technologies, traditional standalone applications like Spreadsheet and Drawing are now provided as Web Applications. These adopt asynchronous programming that provides high responsive user interactions. At the same time these applications can grow and make their maintenance harder, turning Modular Programming an attractive practice because of its concept of dividing concerns in separated modules. However, it’s difficult to combine asynchronous methods and modular programming because the first requires uncoupling a module into two sub-modules, which are non-intuitively connected by a callback method. It can spawn the creation of other two issues: callback spaghetti and callback hell. Some proposals have been developed to reduce the issues about modular programming. In this paper, we compare and evaluate them applying them to a non-trivial open source application, the FlickrSphere. Then, we will discuss our experience.
Highlights
Due the growth of high speed networks, traditional standalone applications such as drawing and spreadsheet software are provided using web technologies, namely Web Applications
The basic idea of asynchronous programming is to decompose a blocking operation that awaits for its completion into a nonblocking operation that immediately returns the control by a callback method
The combination of Asynchronous Programming and Modular Programming can lead to structural problems that conflicts the concept of each one, because modules will need to be divided in two sub-modules that will be nonintuitively connected by a callback method called after the asynchronous function ends its execution and in a large scale application, the execution flow will be really trick to be tracked
Summary
Due the growth of high speed networks, traditional standalone applications such as drawing and spreadsheet software are provided using web technologies, namely Web Applications. The basic idea of asynchronous programming is to decompose a blocking operation that awaits for its completion into a nonblocking operation that immediately returns the control by a callback method. This practice can reveal two issues: callback spaghetti[6] and callback hell[7]. It’s important to denote that the async/await constructs work in a Web Application project too This paper evaluates these proposals applying them to a non-trivial open source application called FlickrSphere[9], originally implemented in ActionScript, using nested and iterative asynchronous functions which will bring some drawbacks such as Callback spaghetti and Callback hell.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have