JavaScript Architecture

No, that isn’t meant to be an oxymoron. But something I’ve noticed recently is that people’s approach to JavaScript seems to be diverging down two common paths. This blog post is designed to encourage you to adopt the one you probably aren’t planning to adopt right now! The approaches I’m describing are depicted below; Keep…

0

Comparing Architectural Options

Often when I speak with people that are planning a new solution they have a few different products or platforms in mind. To compare these options, most try something like a “capability matrix” (which goes by many names). Roughly these end up looking like this; Feature Product One Product Two Supports .NET X X Supports…

0

jQuery + MVC = Progressive Enhancement

If you write a lot of JavaScript, you really should consider adopting Progressive Enhancement as the standard way that you work. This is basically whereby you write a web site without script, and then enhance it with script. The result is a site that does not rely on JavaScript (and hence works with accessibility tooling…

0

Boundary Analysis

This week I hosted an interactive session at the Architect Insight Conference with my colleague Josh Twist… if you were there thanks for being so interactive! We really enjoyed it and found it useful so I hope you did too. One concept that I mentioned during the session was an approach I use to help…

0

A JavaScript Event Bus

I was working on a Proof of Concept recently that needed to support loosely coupled Ajax components. The idea is a common one – components need to be able to hook into an existing page without detailed knowledge of how the page works, and immediately start responding appropriately. This is basically using loosely coupled events…

0

Packaging UI Components in MVC

Something I get asked by most customers starting out with ASP.NET MVC is how they should package, group, factor, and reuse their UI components. We’re all used to thinking about User Controls, Custom Controls, and other Web Forms approaches. But rest assured, MVC provides a wealth of options. The thoughts below describe how I see…

0

Enforcing Unobtrusive JavaScript

Unobtrusive JavaScript is a concept that’s been around for quite a while, but it’s now finally starting to make its way into the mainstream. The basic idea is that you should separate your JavaScript from your HTML – so instead of; <a href=”Default.aspx” onclick=”alert(‘Sorry, that is unavailable’); return false;” >Click Here</a> You should have something…

2

Monitor your ASP.NET Cache API Behaviour

Recently I was working on diagnosing a performance issue with a customer’s web site with a colleague (this is one of our favourite engagement types so if you need some help let me know J), and we found that items were being trimmed very regularly from the ASP.NET Cache, causing excessive back-end work, and in…

0

Performance, Scalability, and Stability

I spend quite a lot of time nowadays advising on architecting applications to be scalable, recommending performance testing approaches and processes, and being called in to help an organisation remediate problems with an existing application. It’s one of my favourite sides to the job. But in spite of spending so much time on this, I…

0

Auditing Data Changes in the Entity Framework: Part 2

In my previous post I described the basic concept behind my auditing approach using the Entity Framework, and covered some of the problems I encountered. This post focuses on the solution I went with; do feel free to comment if you have any thoughts. Audit Lifecycle To get to the root of my requirements I…

0