Monday November 2, 2015
As tends to happens with one-day conferences, speakers drop out due to scheduling conflicts, or due to having to meet client deadlines in their day jobs (unless you're a paid evangelist, which is another story entirely).
As my 2014 talk had been "thrown" together, and had zero reference material (except the live code that I'd published to Github, which was now several versions behind the current Umbraco releases), I thought it better to not present about that until I had had an opportunity to update the material (and write some slides for reference!).
Instead, I talked about RomanSPA, my micro-framework that I have been discussing at conferences and user groups for the past 2-and-a-bit years.
RomanSPA is a "hybrid" approach that allows the use of server-side views (generated by ASP.NET) in single-page applications (SPAs).
This hybrid approach allows companies to migrate code bases over to more modern technologies (such as HTML5, AngularJS and so on) whilst still being able to use server-side components and business logic until it is ready to be ported or rewritten to a different architecture.
It also allows developers to create a "core" site - one that can serve up full web pages, including content, that can be indexed by search engines (although Google now feels confident enough that this is no longer necessary), and then allows the developer to "upgrade" the experience to that of an SPA.
This provides many benefits, including:
- Support for legacy browsers (IE9 or below, and other older browsers);
- Support for existing code bases (such as existing ASP.NET "web forms" components and business logic);
- Meeting legal accessibility requirements by delivering content on the first request;
- Enabling bandwidth reduction on future requests (one of the major selling points of SPAs).
Please feel free to watch my talk in its entirety below, and the slides are available to download.
RomanSPA is available on Github, and Nuget packages will be available soon to integrate it into your existing projects.