Checklist for Web Applications
As the first post in this new category of web development, I’ve decided to keep it simple and post the different components and architecture considerations a developer must consider when making a new application, especially in today’s world of in-page dynamic interaction and the complications that has put on the problems that were considered solved in yesterday’s page level world. Mostly this is a place to collect my thoughts on this subject.
- Browser History Management: Will your application support the back button, especially with the increased usage of AJAX interactions on a full page application. Don’t use XMLHTTPRequest’s to fetch the entire content of a page. Just redirect them to a new page when you are only saving the header and the footer.
- Graded Browser Support: support of the web browsers with a large percentage of market share using the ideas put forth by Nate Koechley in his Graded Browser Support descriptions.
- Efficient Caching Mechanisms: server side caching of data is necessary for high volume traffic.
- Internationalization (i18n): will your application be viewed in other countries by non-English speakers? Are your dates in an international format? How about 24 hour time formats? Time zones? Do they observe Daylight Saving Time?
Recommended Luxury Items
- Support mobile devices: How will your application look on a Blackberry? How does it render in Opera Mini?
- Offline Mode: Add and modify data offline, with the ability to automatically synchronize changes when an internet connection becomes available.
Enterprise Client Side Widgets
- Data Grid: businesses just love data grids. Nothing like a nice standard set of cookie cutter constraints to force upon your data.
There are many facets that a developer must consider when designing a new application. I hope this list will at least make you think about some things that you may not have considered before. Thanks for reading.