views:

129

answers:

2

After reading a couple articles about web MVC architecture, I'm conflicted about how to go about creating an modern web application nowadays.

The previous web paradigm consisted of:

Model: Business logic server

View: Dummy browser client that showed whatever the controller told it to show.

Controller: Web server tier that maintained the state and communicated between the Model and View and updated the view accordingly.

Given that browsers are more powerful than before and can use javascript to run entire "desktop" applications (think Google docs), is it necessary to maintain this same paradigm? Currently I'm entertaining a different paradigm, and I wanted the professional community's input:

  • Every component of the MVC triad should reside on the client, not distributed between the client and a server.
  • The client interacts with services whenever the client needs data.

In the three-tier architecture, this removes the web-tier. Once the program client is downloaded, there's no need to communicate with the web server again for the program logic.

My question is two-fold:

  1. What is the validity of using web frameworks (like Spring MVC, Stripes, etc.) for this kind of application?

  2. What is the drawback of throwing away the proven technology of the previous web development approach?

A: 

What you are saying is depending entirely on Js to handle the UI. Some will disagree, but that has limitations in what screen readers & search engines see of your site.

If you are going all the way to something that disregards html on the way, why wouldn't you go all the way to something more powerful for the UI like flash / silverlight?

eglasius
there are also MVC frameworks for flash as well. You could check out PureMVC: http://puremvc.org/
GSto
You're right - we would be depending entirely on Js to handle the UI, but this is an intranet web application, so we're not interested in search engines or screen readers.To your second point, we'd like to stay away from flash/silverlight applications because we don't want to force the users to have those plugins installed.
bkritzer
A: 

You're talking much more about MVP (Model-View-Presenter) when you refer to things like Google Docs.

http://en.wikipedia.org/wiki/Model-view-presenter

Answers: 1. Spring MVC, Stripes, CakePHP, ASP.NET MVC, etc. are all valid web application frameworks. There are pros and cons to each. Which one suits you best will depend on your skills and comfort level with different underlying technologies 2. With older approaches your ability to leverage newer tools and techniques is diminished.

Nissan Fan