views:

56

answers:

3

Hi guys,

I am being asked to write a desktop application in .net and MSSQL for record keeping. I do have to build forms for keeping records printed in 15 pages or more related to single person. I am fine with seperating data layer and presentation layer.

For future i am planning now. My client is gonna ask to make it live [web based] application in asp.net later after few months or a year. So at that time i again need to re build the whole web interface i.e presentation layer.

So i am wondering is there any idea so at that time the work would be minimised to build the web interface? Or can i directly change the desktop interface to web interface?

A: 

Have you considered WPF and Silverlight?

Peladao
not yet...are WPF application so and so like i thought?
KoolKabin
See Mikko's answer
Peladao
+1  A: 

WPF and XBAPs could work for you. While Silverlight can share code with WPF they are binary incompatible. XBAPs and full desktop WPF client applications can share binaries so you can write your view models in one library and the views, ie. presentation layer in two different libraries. One hosted as WPF client app and another as an XBAP.

This won't give you the HTML based ASP.Net layer but it still allows your client to deploy the XBAP on only one web server and have the users use it through an URL. This gives your client the same benefit of having to maintain only one installation that they'd get by wanting a HTML based ASP.Net application.

The disadvantage in this is that WPF has a bit steeper learning curve than basic WinForms but it has much better support for clean seperation between the presentation and data (Or Model/View/ViewModel) than WinForms.

Also as a personal opinion, once you get to learn WPF, it's much nicer to code in than WinForms with its leaky COM abstractions.

Mikko Rantanen
wll XBAP sounds interesting but wondering what's the differences between xBAP and html
KoolKabin
XBAP is really WPF application that is deployed through browser. When browser navigates to the XBAP url .Net framework opens the application and presents it to the user inside the browser. The main difference is that XBAP allows richer programming model and better code sharing with WPF. You can structure your application so that you got WPF + XBAP host projects, Presentation layer, Data model. This means you can use one presentation layer for both "Web" (XBAP) and thick client (Traditional WPF).
Mikko Rantanen
thnx mikko.. i am lloking forward on it...
KoolKabin
A: 

I think you should consider building your desktop app based on N-Tier Data Applications Overview...

Sandy