-
AJAX Architectures Condensed
-
One thing is using AJAX to dynamically refresh a small piece of a single page; all another thing is designing a whole presentation layer to be partially refreshed in every possible operation against the server. An individual feature can be happily and nicely coded using a smart piece of JavaScript; a whole Web presentation layer will cost you a lot more if done entirely in JavaScript. And from scratch.
Sure, new productivity tools are created every day (from the popular jQuery library to the upcoming ASP.NET AJAX 4.0 framework), but the most effective way of adding AJAX to applications continues to be the subject of research and begins to look like the Holy Grail of Web software.
I just published an article on DotNetSlackers, that summarizes the options you have when it comes to AJAX architectures. It is an excerpt from Chapter 3 of my latest Web architecture book mentioned in this recent post of mine.
-
A lovely couple (of architecture books)
-
It was brought to my attention that there's no way to have a (free) look at the TOC of Microsoft .NET: Architecting Applications for the Enterprise other than holding the book in hands and flip through pages. Sorry about that, this post is to make up for the omission. There's no reason and no intention to keep it secret :) Here it is:
-
Architect and Architecture Today
-
UML Essentials
-
Design Principles and Patterns
-
The Business Layer
-
The Service Layer
-
The Data Access Layer
-
The Presentation Layer
The book develops its content more in terms of general patterns than concrete technologies. It is, however, concretely bound to the MS platform and it is not hard to recognize products and technologies behind the scenes. At the same time, it discusses other mostly open-source alternatives that fit nicely in the .NET stack.
Mid April 2009 is also the release date of the Web counterpart of the architecture book. I'm talking about Microsoft ASP.NET and AJAX: Architecting Web Applications, always from MS Press. Below, you find the TOC. I particularly recommend chapter 3 where I generalize most common approaches to AJAX today coining two (new?) terms: AJAX Server Pages and AJAX Service Layer.
-
Under the Umbrella of AJAX
-
The Easy Way to AJAX
-
AJAX Architectures
-
A Better and Richer JavaScript
-
JavaScript Libraries
-
AJAX patterns
-
Client-side Data Binding
-
Rich Internet Applications
Chapter 6 and chapter 7 contain concrete stuff about AJAX patterns with a lot of references to existing frameworks. Chapter 5 doesn't miss some jQuery coverage. Finally, Chapter 8 is about programming the Silverlight 2 model. Nothing on animation and graphics but everything a .NET developer/architect needs to know.
-
Web Forms vs. ASP.NET MVC
-
Probably I'm a bit late to the party, but as I gain confidence with ASP.NET MVC I feel I have my cents to share :-)
ASP.NET MVC is not the anti-Web Forms and Web Forms is not the anti-pattern of ASP.NET development. ASP.NET was created 10+ years ago and in the late 1990s the MS platform was VB-oriented. So it was a natural choice to design ASP.NET as a stateful framework over a stateless medium--the Web. Many of the hot features in ASP.NET (postback, viewstate, forms authentication/authorization, server controls and abstraction over HTML) were eagerly welcomed by the community because they were time-saving facilities just implementing common features that everybody would have aboard.
Over years, MS probably failed drawing Web people attention on architecture and software design. There was an interesting attempt made with the Web Client Software Factory to implement MVP and workflow-based page navigation in Web Forms pages, but that turned out to be too far complex. At least, in my opinion. So in some way instead of driving Web Forms towards a better design it seemed preferable to introduce a new framework on the wave of the success gained by RoR and MonoRail. To many people, ASP.NET MVC looks like the new way to go and the only way to achieve SoC, testability, better design.
For sure, ASP.NET MVC is a "new" ASP.NET designed ten years later looking at the current state of the industry and evolution. Comments on Web Forms vs. ASP.NET MVC are often biased and stuffed with pieces of personal experience that is elevated to the rank of absolute, objectives facts.
The table below lists my top-ten undisputable facts about ASP.NET MVC and Web Forms. These are facts--everything else, I believe, are opinions. And like all opinions they are fully respectable. At the end of the day, Web Forms and ASP.NET MVC is like car or motorcycle and ... it's up to you, your skills, your education, your attitude, and your project requirements.
-
Web Forms is hard to test
-
ASP.NET MVC requires you to specify every little bit of HTML
-
ASP.NET MVC is not the only way to get SoC in ASP.NET
-
Web Forms allows you to learn as you go
-
Viewstate is not the evil and can be controlled/disabled
-
Web Forms was designed to abstract the Web machinery
-
ASP.NET MVC was designed with testability and DI in mind
-
ASP.NET MVC takes you towards a better design of the code
-
ASP.NET MVC is young and lacks today a component model
-
ASP.NET MVC is not the anti-Web Forms
On this topic, an article on MSDN Magazine is coming out in the July 2009 issue. A Web architecture book is being published these days and I'll start soon on the MS Press big book guide on ASP.NET MVC to be available towards end of the year.
-
iBrii is gaining ground
-
IBrii is a Web application that I've been working on in the past weeks. It's not my baby, and I'm not one of parents, but I can definitely be called as an hooked-on uncle of the baby :-)
So I'm even more proud of the work we did when I read what's on in the Wired How-to Wiki. IBrii is recommended as the best tool to replace and extend the just retired Google Notebook. IBrii is even more, tough.
It is a virtual notepad through which you to write your personal notes, organize and share them with your friends. Your personal notes can contain just everything you can find in the Web. And you can clip-and-share as you browse the net. IBrii is still a beta but is going to support documents (PDF, Office documents) and RSS feeds meaning that you can publish your notes of choice to your blog.
First read this, then rush to get your account today! You'll love it.
PS: Technically speaking, IBrii is a relatively simple ASP.NET application with a lot of jQuery to shape up the UI and calling into an AJAX Service Layer for server-side logic.