views:

169

answers:

3

I am looking out for suggestions regarding development of a data-entry intensive application for an intranet.

What technology would you suggest for the same on the Microsoft Platform? I am not looking at smart client options. This is basically browser based application.

Current stack which I have in mind is

  1. ASP.NET MVC + JQUERY
  2. ASP.NET + Silverlight

Please suggest your experience/suggestion considering the nature of application including benefits, pitfalls, performance etc.

Speed (from data-entry perspective) is of utmost important in this application.

Imagine this to be a Point of Sale (POS) kind application where you need to process the customers entry quickly....else the queue will keep on growing with rumbling customers..

(But again, no smart-client recommendation please as I know this will be best for this kind of scenarios)

NOTE: I am not looking for comparison between asp.net mvc vs. silverlight.

+2  A: 

I would suggest you create a small prototype in both technologies. Seems like you "only" need a few data-entry forms, that's not something that is gonna take a year to develop.

Create a couple of samples with two or three fields and try to identify what things you'd like to do with those "fields". Then see if the default toolset for each tech has any of that, if not, find out how hard is to add those things.

Without know more about the "type of data" and the nature of the application it will be really hard to tell the difference.

At a basic level, I think both technologies will provide more or less the same experience, albeit with a big difference: Silverlight can be made more "flashy", whereas MVC will always be "all you can do with HTML, CSS and Javascript"; whether "all" is enough for you, I guess only you can tell.

If you already know Webforms, why not using webforms?

Martín Marconcini
Thanks for your response. The data entry screens will be quite complex in terms of features like hot key support for lookups, auto-suggest, treeview navigation for cateogory selection etc...For performance reason I am not going with webforms (as then I need to spend time in optimizing it, minimizing viewstate, mixing client side and server side code and many more things)..Though I don't say asp.net webforms is bad (it is pretty good at doing great things quickly) but I do have an option to try out these two new kid on the block.
rajesh pillai
Ok, understood. Despite RailRhoad's suggestion to go for MVC, I'd give Silverlight a try, seems like you need a lot of stuff in those forms, MVC will tie you to a lot of AJAX magic, and AJAX is nice, until it runs out of mana. ;)
Martín Marconcini
+3  A: 

I work for a large financial institution and we just tackled this same idea. For us, it came down to the design pattern we wanted to use the most. For Silverlight, you're dealing with XAML and it's recommended going the MVVM pattern. For MVC, well, it's a bit obvious...

We chose ASP.NET MVC and here's why:

  • Silverlight on client machines was too big of an unknown for us. We understand it's as light as it gets to still run on the client but we were not comfortable with that rolling it to 10's of 1000's of clients. We had that heartache in our Smart Client deployments in the past.

  • We were more comfortable of MVC over MVVM. We felt we could be more agile in development.

As far as queuing up work, that's more backend async stuff to me. It would be similar on any framework you chose. Other than that, you'll bang your head on the tradeoffs.

RailRhoad
+1  A: 

Let’s turn the question round.

  • Can you get Silverlight onto all client machines? -> If not you cannot use Silverlight.

  • Do you have programmers that are skills in HTML, CSS and JSciprt? -> If not then Silverlight will have a quicker learning curve.

  • Do you programmers enjoy writing JScripts etc more then C#?

  • Do you have programmers that know Silverlight (or WPF) or a keen to learn it?

I think the result will mostly comedown to how well motivated your team is to use a given technology stack and what the current skill base is.

Also look at ASP.NET Dynamic Data, if it does the job for you it will save a lot of coding.

Ian Ringrose