Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Business web-app in .NET - which technology to pick?

Working on porting a Winforms application to the web. This is a business application, but control over end-user's browser is not available. Mostly, everyone will be using either IE, Chrome, FireFox on desktops and Safari on IPads.

Application is making heavy use of ListViews, TreeViews, grids, charts, and has an overall "dock-style" interface (Navigation bar on the left, detail pages open up on the right and are tabbed - similar to Visual Studio UI). Have no need for any SEO/HTML-friendly framework, as the app is hidden from search engines.

Looking for recommendations on web-technology. Need either native or 3rd party support for ListViews, TreeViews, grids, charts, and docking UI. Speed to market and simplicity are very important. /Hate/ screwing around with Javascript or non-server technologies.

Silverlight? MVC with HTML5? Plain MVC? Webforms with HTML5? Plan Webforms? 3rd party controls? (Have license to Telerik's and would prefer to stick to them unless there are free/opensource packages)

I think a year ago Silverlight would have been an easy answer, but now I am no longer sure about it due to the ultimate rise of Android devices that lack Silverlight support... and it seems that Microsoft is switching its focus from Silverlight to HTML5

So, what is there left instead of Silverlight for business apps?

Thank you!

like image 961
Igorek Avatar asked Sep 12 '11 04:09

Igorek


People also ask

Which technology is used in web application?

The main language of the web is JavaScript, presented on most web pages and web apps on the client-side. This means that the web technologies are mostly based on JavaScript, while server-side technologies are varied (. NET, Java, PHP, Ruby, or even server-side JavaScript Node.


2 Answers

Although I'm about where you are in my quest for UI nirvana, I'll pipe in with what I am thinking about.

I personally think that if you want to stick with Microsoft but need your app running on non-windows platforms, theres only two games in town. Silverlight and MVC with a good set of client side UI widgets.

My thought process so far can be distilled down to:

Silverlight, by a good margin, is ahead of MVC in terms of ease of development (via true MVVM/fantastic data binding) and "richness" of UI. But, unfortunately for developers, how easy it is for us really doesnt matter to a user.

The downside to SL, as pointed out by others, is that it doesnt run everywhere you want it to. Most specifically, Android and iOS is difficult (although you should evaluate MonoDroid and Monotouch).

MVC, which I feel is the best server side webapp technology, is VERY nice to develop with, but simply doesnt have the stateful client side niceties that SL does, and you have to deal with HTML, javascript, and a stateless client.

Mitigating those comments is that there are quite a few nice frameworks that make javascript almost bearable (im using JQueryUI & wijmo), and provide a half-rich client UI.

It really comes down to reach versus richness. I also see that MS is putting a lot of emphasis onto MVC. Who knows, maybe we will see some nice tools for data binding etc in the future?

like image 111
Joe Avatar answered Sep 27 '22 16:09

Joe


if you're planning to support iphone/android/non-win, then say goodbye to silverlight. then again if you're planning to support smartphones, you'd need to do separate designs for small vs large form factor devices. dockable interfaces are too cluttered for small devices.

Technology? HTML5 would be nice but only recent browsers support it, and even then only support bits & pieces of the standard.

MVC vs webforms? doesn't really matter. both just a way of spitting out HTML.

You'll need to do some "screwing around with Javascript or non-server technologies". Telerik offer a lot of the components you mentioned for webforms, though they do tend to bloat.

Based lightly on what your requirements are:

  • list views: native in webforms/mvc
  • tree views: telerik, or a jQuery plugin
  • grids: native html tables work best IMO, or you can do do a databound something in asp.net or telerik
  • charts: free plugin, telerik, dundas, or something like SSRS if you have something of a reporting nature
  • docking ui: reconsider your need for this. If you're still keen asp.net has webparts built in or you can get a package from jQuery UI

overall you may be looking for a "quick" way to web-enable your app, but they are two different beasts and will perform as such. if you do a straight conversion using every plugin available, it will take you a lot of time to learn each component, a lot of page bloat, a lot of bugs, and it will never feel right. my suggestion is to invest the same time learning how to create a proper site. will cost you less in the long run.

like image 42
Andrew dh Avatar answered Sep 27 '22 16:09

Andrew dh