News on Monday
more>>
SharePoint Tech Report
more>>


   

 
 
Download Current Issue
ISSUE 2/1/2010 PDF

Need Back Issues?
DOWNLOAD HERE

Receive the print Edition?


 
blogs tab
Visual Studio 2010 Release Candidate Available Today
A Visual Studio 2010 release candidate is available on MSDN.
02/09/2010 09:45 AM EST

Is Microsoft eyeing Office subscription pricing?
Microsoft may be preparing to offer a new Office pricing option called "union," which charges the same for cloud as on-premises.
02/01/2010 09:38 AM EST

Facebook rewrites PHP runtime
Facebook is about to open source its own PHP runtime, written from scratch for speed.
01/30/2010 08:53 PM EST

 

Events calendar tab
2/9/2010 to 2/13/2010
San Francisco
IDG World Expo

2/10/2010 to 2/12/2010
San Francisco
BZ Media

2/17/2010 to 2/25/2010
Atlanta
Python Software Foundation

2/19/2010 to 2/20/2010
Los Angeles
SCALE

2/21/2010 to 2/24/2010
Las Vegas
IBM


 
Most Read Latest News Blog Resources

Guest View: MVC is dead




April 15, 2008 — 
The time for server-side Model-View-Controller Web frameworks has expired. I realize that the majority of deployed Web applications are based on some flavor of MVC, but those applications represent the past, not the future. For those reluctant to let go of MVC, remember that it did not become dominant because it was the best Web architecture; it succeeded because it was the best option given the limitations of Web technologies.

The rise of the Internet led to an odd juxtaposition within the application development landscape. On the one hand, we made a quantum leap forward in the types of applications that could be developed. But, on the other hand, we took a giant step backward from an architectural perspective.

If you recall, the early 1990s were about client/server. Computers had become powerful enough to support distributed processing, so client/server evolved from the mainframe model of dumb client and fat server. Client/server also provided a clean separation of concerns, and it enabled applications to be created that could run in offline mode. Life was good.

But the rise of the Internet forced us to put client/server on the shelf and to turn the clocks back to the time of dumb clients and fat servers. This reverse time travel was necessary because Web technologies could not support a client/server architecture. The result was what we have today: the widespread adoption of MVC-based Web frameworks (dumb client and fat server).

In recent years, AJAX (Asynchronous JavaScript and XML) has become popular. For some, it is simply an add-on capability to existing Web applications. Viewed in that light, AJAX can provide value, but its full potential is not realized. The reality is that AJAX has delivered a Bruce Lee-like deathblow to MVC.

Some believe that MVC and AJAX are complementary and not mutually exclusive. I agree that they can coexist, but the result is akin to adding a spoiler to a Ford Pinto. Sure, my Pinto would don a new sporty exterior, but it would look awkward and inadequate when parked next to a Porsche.

Indeed, AJAX has enabled much more than demos that exclaim, “Look, ma, no page refresh.” It has enabled the creation of an entirely new Web architecture that is based on our old friend: client/server. The Pinto-to-Porsche comparison may seem exaggerated or inaccurate, but it’s not. The comparison reflects the tremendous gulf between MVC + AJAX and a new client/server-based Web architecture designed from the ground up to fully leverage the power of AJAX. We call this architecture RIA + SOA.

In RIA + SOA, the RIA represents the rich client application and SOA the services that it consumes. RIA + SOA is client/server for the Web.

To illustrate the earlier point about the gulf between MVC + AJAX and RIA + SOA, let’s explore the defining characteristics of an RIA + SOA architecture and see how MVC + AJAX compares. Specifically, here are places where RIA + SOA excels and MVC + AJAX does not:

•    RIA + SOA can create services in your programming language of choice without affecting the user interface or its developer. MVC + AJAX cannot.

•    RIA + SOA can create fully functional user interface prototypes that are 100 percent reusable and do not require a server or any service code to run. MVC + AJAX cannot.

•    RIA + SOA clients can consume services regardless of the service location. MVC + AJAX cannot.

•    RIA + SOA services can be stateless. MVC + AJAX services cannot.

•    RIA + SOA services have zero presentation logic or configuration files with presentation logic. The client controls all aspects of the user interface. MVC + AJAX does not.

•    RIA + SOA clients and services exchange only business data, no presentation data. MVC + AJAX does not.

•    RIA + SOA applications can be built to run in offline mode (such as with Google Gears). MVC + AJAX cannot.

RIA + SOA can offer the capabilities described above because it recognizes that the core value of AJAX is that it enables a complete decoupling of the client from the server. Server-side MVC Web frameworks, on the other hand, couple the client and the server by design. This coupling effectively ties the hands of AJAX, relegating it to “neat feature” status or what I’ve described as a “spoiler on a Pinto.”

I’ve been building RIA + SOA-based applications for almost two years. During that time, it has become clear that server-side MVC Web frameworks are obsolete. RIA + SOA represents a quantum leap forward for application development, just as client/server did back in the early 1990s. If you’re ready to restore the sense of childlike wonder to your application development, kick your MVC framework to the curb and start developing applications the RIA + SOA way.

Nolan Wright is vice president of product development at Appcelerator Inc., Atlanta, which sells products and services for RIA + SOA development.



Related Search Term(s): MVCRIASOA


Share this link: http://www.sdtimes.com/link/31916
 

Add comment


Name*
Email*  
Country     


  • Comment
  • Preview
Loading