Analyzing best practices on Web development frameworks: The lift approach

https://doi.org/10.1016/j.scico.2014.12.004Get rights and content
Under an Elsevier user license
open archive

Highlights

  • We present a set of best practices for developing Web applications.

  • We present a comparative analysis of the most well-known Web frameworks (JSF, Struts, CakePHP, Grails, Ruby on Rails, Django, Catalyst and Lift).

  • This analysis impacts in the software engineering community decreasing the number of errors in the implementation phase.

  • We have developed a set of Web applications applying best practices as proof-of-concept.

Abstract

Choosing the Web framework that best fits the requirements is not an easy task for developers. Several frameworks now exist to develop Web applications, such as Struts, JSF, Ruby on Rails, Grails, CakePHP, Django, and Catalyst. However, Lift is a relatively new framework that emerged in 2007 for the Scala programming language and which promises a great number of advantages and additional features. Companies such as Siemens© and IBM®, as well as social networks such as Twitter® and Foursquare®, have now begun to develop their applications by using Scala and Lift. Best practices are activities, technical or important issues identified by users in a specific context, and which have rendered excellent service and are expected to achieve similar results in similar situations. Each framework has its own best practices whose aim is to facilitate the development of Web applications. However, there is no current comparative analysis that identifies the best practices for Web frameworks. Thus, as its salient contribution, this paper identifies a set of best practices for Web frameworks. Afterwards, these best practices were analyzed and discussed in terms of developing Lift-based Web applications. The identification of these best practices would allow developers to construct more interactive and efficient Lift-based Web applications, integrating features of Web 2.0 technologies with less effort and exploiting the frameworks' benefits. In addition, this paper contains a comparative analysis with Web frameworks such as JSF, Struts, CakePHP, Ruby on Rails, Lift, Django, and Catalyst. Finally, as proof of concept, a set of Lift-based Web applications were developed for this paper by applying best practices such as actors, lazy loading, Comet support, SiteMap, Wiring, HyperText Markup Language, version 5 (HTML5) support, and parallel rendering.

Keywords

Best practices
Lift
Scala
Web frameworks

Cited by (0)