I’ve been searching for some time for a single resource that I could go to check a variety of best-practices and methods of improving the performance of my sites and applications and I can now mark that off of my list.
Mads Kristensen and the .NET Development team released the Web Development Checklist last month as a late Christmas present and I have torn into it like a kid opening a present on Christmas morning.The Checklist features a wide assortment of categories and tools within each of them to help make your site or your web application the best that it can be!
Overview of Categories
It features tools and resources that can help you analyze several aspects of your site including :
- Best Practices (ensuring that your markup is in good condition and features like spell-checking)
- Mobile Analysis (checking that your site works well on Mobile devices)
- Analytics Checking (tools for uptime monitoring and traffic analysis)
- Performance (including Google PageSpeed Insights, Yahoo’s YSlow and tips to optimize your sites Headers and Images)
- Usability (tools to check HTML5 compliance , Search-friendly URLs and more)
- Accessibility (ensuring your site can be accessed using screen readers and has appropriate contrast levels)
- SEO (tools to analyze how accessible and readable your site is for Search Engine crawlers and more)
- Code Quality (CSS, Javascript and HTML validation tools)
- Semantics (checking for additional data within your site)
- Security (checks for best practices for securing your site and preventing nasty things like XSS)
- Social Media (checks if your site is properly connected up with social media sites like Twitter and Facebook)
But what about my specific technology?
If the list above wasn’t enough to get you to actually go check out the Checklist itself, then I doubt that the next paragraph will persuade you at all. In addition to the enormous list above, the checklist also features several areas specific to certain technologies (currently only ASP.NET is available , however NodeJS, PHP, Python and Rails are planned). Update : The Play framework has recently been added.
Tell me more about the ASP.Net Stuff.
The current ASP.NET area features all of the above categories, but this time it provides tools specific to the .NET environment that might not otherwise be available on traditional HTML pages. Visual Studio extensions and .NET components can be found in many of the categories and can range from a spell-checker for Visual Studio to .NET Libraries to Prevent XSS Attacks and more.
This checklist isn’t specific to any particular .NET area and can be used with both MVC or WebForms (and I am sure many of the practices can even carry over into other .NET technologies as well).
But I want to go fast!
In addition to the generic ASP.NET goodies, the checklist has a section strictly dedicated to improving performance (and who doesn’t love improved perceived load times). This is a great area to tackle if you want to see those PageSpeed and YSlow numbers climb up and also save a few bytes here and there to cut down on bandwidth usage.
The categories within the Performance Section include :
- Best Practices (covers setting up Output Caching, setting up compression in IIS, and application tracing and more)
- Bundling (covers techniques and tools that can be used to compress, optimize and combine the Javascript and CSS within your applications)
- Minification (although slightly redundant to the previous category, it has a few additional tools specifically for shrinking down your HTML content)
- Performance (including Google PageSpeed Insights, Yahoo’s YSlow and tips to optimize your sites Headers and Images)
- Expiration (setting up the appropriate expiration headers within your web.config to ensure that caching works properly)
- Optimize Responses (similar to the above category, this category explains setting up mechanisms to only get resources based on certain conditions, such as if they have been modified)
- Images (tools to optimize and shrink down the images throughout your site and application and how to implement sprite-sheets to speed things up)
- Removing Headers (a bit self explanatory but removing some of the HTTP Headers that are passed through each of the Requests in your application)
Following even half of the above suggestions should create some pretty big improvements within the performance of your site that both your users will notice and you will appreciate.
So go check it out.
Go visit the Web Developer Checklist today and see what kind of differences it can make within your site. The site is updated fairly regularly with new categories and other improvements and I’m sure that the team is hard at work getting those other areas ready (the Play Framework, NodeJS, PHP, Rails and Python) but until the the generic list itself should provide a great start.
If you would like to contribute to the project, you can check it out on github here.