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

Read more

Summary

INTRODUCTION

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.

Synchronous Programming
Asynchronous Programming
FLICKRSPHERE IN A NUTSHELL
Qualitative Evaluation
Promise pattern
Quantitative Evaluation
Discussion
CONCLUSIONS
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call