Thursday 17th May, 2012
2:30pm to 3:15pm
As web applications evolve and the use of widget toolkits proliferate, the problems of designing and building scalable front ends has become more and more involved. Web and UI developers spend significant amounts of time authoring and maintaining many thousands of lines of HTML and JS code embedded in one or more web pages. This code is a heady cocktail containing - among other things - the layout of a page, images and CSS, embedded content as well as JS functions, widgets and events. This complex blend of scaffolding, business logic and embedded content can be a challenge (some might say a nightmare), to develop, debug and evolve - even in the best of times. In fact most complex web applications - once built - are fairly immutable and change averse.
This declarative approach and layered architecture is based - at its core - on the principles and practices of Domain Driven Design which Eric Evans, Martin Fowler and Neal Ford et al, are promoting. This approach enables developers and designers to author / generate complex layouts in a matter of minutes. These layouts can then be customized to include themes, business logic and data which can be added to, and removed from, any panel in the layout. These complex layouts can be saved, loaded and shared on demand. They can also be continuously re-factored until they are ready for release.
Another feature of the platform is it's service and event model. Based on SOA this plug-able architecture allows services to be added, as needed, into the application. These services communicate with each other as well as their server side counterparts to provide the business logic and rich functionality required for a business application.
This presentation will demonstrate the RIA (Rich Internet Application) platform using its UI and service backend, including an example of a B-to-B interaction with Etsy - an ecommerce application. The takeaways from this presentation are:
* A LayeredArchitecture for the Front End including:
Handlers, Modelers, Builders,
Managers, Services, Events;
* Continuous Refactoring using DSLs;
* A Domain Model for a Web Page / Layout;
* JSON as an internal DSL;
* JS Modules and Asynchronous Module Definition - benefits and consequences.
Sign in to add slides, notes or videos to this session