EFFICIENT DEVELOPMENT OF PROGRESSIVELY ENHANCED WEB APPLICATIONS BY SHARING PRESENTATION AND BUSINESS LOGIC BETWEEN SERVER AND CLIENT
Keywords:
Development Tools, HTML5 and Beyond, Web Standards and ProtocolsAbstract
A Web application's codebase is typically divided into a server side and a client side with essential functionalities being implemented twice, such as validation or rendering. While developers can choose from a rich set of programming languages to implement a Web application's server side, they are bound to JavaScript for the client side. Recent developments like Node.js allow using JavaScript in a simple and ecient way also on the server side, but lack oering a common codebase for the entire Web application. In this article, we present the SWAC approach that aims at reducing development eorts and minimizing coding errors in order to make creating Web applications more eciently. Based on our approach, we created the SWAC framework. It enables establishing a uniedWeb application codebase that provides both dynamic functionality and progressive enhancement by taking characteristic dierences between server and client into account.
Downloads
References
Belson, D., Leighton, T., Rinklin, B.: The State of the Internet 5(3) (2012)
Berjon, R., Faulkner, S., Leithead, T., Doyle Navara, E., O'Connor, E., Pfei er, S., Hickson, I.:
HTML5 - A Vocabulary and Associated APIs for HTML and XHTML (2013), http://www.w3.
org/TR/html5/, [Online; accessed Mar 23, 2014]
Brehm, S.: Introducing Rendr: Run your Backbone.js Apps on the Client and Server (2013)
Cooney, D., Glazkov, D.: Introduction to Web Components (2013), http://www.w3.org/TR/
components-intro/, [Online; accessed Mar 23, 2014]
David, M.: HTML5: Designing Rich Internet Applications. Focal Press, 2nd edn. (2012)
DeBergalis, M.: Meteor - Search engine optimization (2012), http://www.meteor.com/blog/2012/
/08/search-engine-optimization, [Online; accessed Mar 23, 2014]
Duhl, J.: Rich Internet Applications (2003)
Ecma International: ECMA-262 ECMAScript Language Speci cation 5.1 Edition (2011)
Fowler, M.: Patterns of Enterprise Application Architecture. Addison-Wesley Longman Publishing
Co., Inc. (2002)
Harris, A., Haase, K.: Sinatra: Up and Running. O'Reilly (2011)
Kumar, V.: HTML5 and JavaScript Apps with MVVM and Knockout. In: Beginning Windows 8
Data Development, pp. 13{27. Apress (2013)
Masinter, L., Berners-Lee, T., Fielding, R.T.: Uniform Resource Identi er (URI): Generic Syntax
(2005), http://tools.ietf.org/html/rfc3986, [Online; accessed Mar 23, 2014]
Meeker, M., Wu, L.: 2012 Internet Trends (2012)
Mesbah, A., van Deursen, A.: Migrating Multi-page Web Applications to Single-page AJAX
Interfaces. In: Software Maintenance and Reengineering, 2007. CSMR '07. 11th European Conference
on. pp. 181{190 (March 2007)
Mirgorod, V.: Backbone.js Cookbook. Packt Publishing Ltd (2013)
Nicola, M., John, J.: XML Parsing: A Threat to Database Performance. In: Proceedings of the
th International Conference on Information and Knowledge Management. pp. 175{178. ACM
Press (2003)
Parker, T., Jehl, S., Wachs, M.C., Toland, P.: Designing with Progressive Enhancement: Building
the Web that Works for Everyone. New Riders Publishing (2010)
Prasad, Ganesh Taneja, R.T.V.: Life above the Service Tier (10 2007)
Smith, A.: Cell Internet Use 2012 (2012)
Smith, N., Noguchi, B.: Derby v0.5.0 (2013), http://blog.derbyjs.com/2013/06/04/
derby-v0-dot-5-0/, [Online; accessed Mar 23, 2014]
Stuebeam, D.: Evaluation Models. New directions for evaluation 2001(89), 7{98 (2001)
Webb, D.: Improving performance on twitter.com (2012), https://blog.twitter.com/2012/
improving-performance-twittercom, [Online; accessed Mar 23, 2014]
Wild, S., Ast, M., Gaedke, M.: Towards a Context-Aware WebID Certi cate Creation Taking
Individual Conditions and Trust Needs into Account. In: Weippl, E., Indrawan-Santiago, M.,
Steinbauer, M., Kotsis, G., Khalil, I. (eds.) Proceedings of the 15th International Conference on
Information Integration and Web-based Applications & Services (iiWAS2013). pp. 532{541. ACM
(2013), isbn: 978-1-4503-2113-6
Work, S.: How Loading Time A ects Your Bottom Line (2011), http://blog.kissmetrics.com/
loading-time/, [Online; accessed Mar 23, 2014]
Zaytsev, J.: ECMAScript Compatibility Table (2013), http://kangax.github.com/
es5-compat-table/, [Online; accessed Mar 23, 2014]