 Marc Bächinger Zühlke Engineering AG, Switzerland
| Architecting non-trivial browser applications Modern browsers allow a great user experience and usability of web applications. More and more user interface logic moves from the server to the browser including managing state and rendering the UI. This comes with the price of increasing complexity on the client side with which web developers have to deal with to not get into problems of maintainability and extensibility.
This talk shows architectural and design concepts to structure an HTML5/JavaScript application to avoid tangling client-side code. Having a well-structured application helps keeping track and control of complex and growing browser applications.
It starts with file organisation of web assets, the importance of having decent build tools for JavaScript applications and bootstrapping an application. The talk then moves to common design patterns used by leading JavaScript frameworks like Backbone.js, Knockout.js and the like. The main concepts of such MVC-look-a-likes of the JavaScript land are covered, explained and illustrated by framework sample code and more lightweight custom code to pinpoint several key features and advantages.
Once having achieved a decent architecture it's not a big deal anymore to connect a MVC-like application to a REST backend of choice by using common libraries like jQuery. This will be examined based on the concepts formerly introduced and exemplified with jQuery and a JAX-RS (Jersey) backend.
After the talk, the audience has a crisp understanding of the key concepts on how to build well-structured non-trivial HTML5/JavaScript applications by using a common framework or roll an own Model-Controller approach. Code samples will use jQuery as base library. However, concepts and techniques are library neutral and can be applied on arbitrary environments.
Level: Intermediate Marc Bächinger started developing Java web applications with the advent of the Java Servlet technology. Back then e-commerce was a hype word and JavaScript was in its infancy. Since then he continuously was involved in many web application projects and experienced web development in all kind of projects from small-scale to big integration web applications for several major swiss telecommunication companies.
Marc Bächinger is lead software architect, trainer and web engineering evangelist at Zühlke Engineering. While being involved in Java projects of various flavours, he has a strong focus on frontend and server technology of the web. He is providing JavaScript trainings at Zühlke technology conferences, the Zühlke Academy and on campus.
|