Analyzing best practices on Web development frameworks: The lift approach

作者:del Pilar Salas Zarate Maria; Alor Hernandez Giner*; Valencia Garcia Rafael; Rodriguez Mazahua Li**eth; Rodriguez Gonzalez Alejandro; Lopez Cuadrado Jose Luis
来源:Science of Computer Programming, 2015, 102: 1-19.
DOI:10.1016/j.scico.2014.12.004

摘要

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(C) and IBM (R), as well as social networks such as Twitter and Foursquare (R), 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 Liftbased 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.

  • 出版日期2015-5-1