These days it's easy to get started building a Single Page Application (SPA). Dozens of frameworks are clamouring to pitch their trivial "hello world" and "todo list" examples. But the moment you step outside the predefined path and begin actually crafting something for a real business, you face an explosion of choices.
This talk is about experiences of building large SPAs and maintaining them over time. In part, I'll demonstrate pros and cons of various technology choices, such as TypeScript, Grunt, and AMD module optimisers. In part, I'll demonstrate some Knockout.js-specific techniques, such as the new and powerful "components" feature that improves maintenance, testability, and runtime performance.
Continuous Delivery and architecture intersect in interesting ways, ranging from operational concerns for deployment pipelines to the ability to evolve your architecture over time.
Continuous Delivery is a process for automating the production readiness of your application every time a change occurs – to code, infrastructure, or configuration. It turns out that some architectures and practices yield code that works better in this environment. This session takes a deep dive into the intersection of the architect role and the engineering practices in Continuous Delivery. In the Continuous Delivery world, rather than hone skills at predicting the future via Big Design Up Front, the emphasis lies with techniques for understand and changing code with less cost during the process. I discuss the role of metrics to understand code, how Domain Driven Design’s Bounded Context reifies in architecture, how to reduce intra-component/service coupling, and microservices architectures, and other engineering techniques.
Neal Ford is Director, Software Architect, and Meme Wrangler at ThoughtWorks, a global IT consultancy with an exclusive focus on end-to-end software development and delivery. He is also the designer and developer of applications, magazine articles, video/DVD presentations, and author and/or editor of eight books spanning a variety of subjects and technologies, including the most recent Presentation Patterns. He focuses on designing and building of large-scale enterprise applications. He is also an internationally acclaimed speaker, speaking at over 300 developer conferences worldwide, delivering more than 2000 presentations. Check out his web site at nealford.com. He welcomes feedback and can be reached at email@example.com.