views:

189

answers:

5

The company I work for has an existing product which is a Delphi 32 bit windows application.

The application has a spreadsheet like UI which requires a very fast data grid/table view and advanced charting (plus the usual button/dropdown/menuing/toolbar controls).

We also have a .net 3.5 ASP.NET application which mirrors large parts of the business logic in the windows app.

We want to re-write the delphi application in .net, so we can have one set of business logic code.

We would like one application if possible (which is why we are looking at Silverlight).

What do we lose in going from WPF to Silverlight? Should we use neither, and use WinForms instead? or should we just further enhance the ASP.NET/AJAX application?

A: 

Silverlight is largely a subset of WPF (that's an oversimplification, but the general point remains). Frankly, you don't lose a whole lot by using it over WPF -- in fact, the XAML differences between the two are enough that making one Silverlight solution is going to be easier.

In any case, I'd say that either are better than WinForms, which throws out the web interface altogether. Also, Silverlight/WPF has a generally better rendering engine, and allows for easier separation of display and business logic.

Ari Roth
+1  A: 

If you are not tied to an existing Winform app, and you plan on doing a lot of design work, then WPF or Silverlight should be higher up on your priority list. The main benefit of WinForms today is that they are more mature and have more 3rd party components, but XAML is becoming more popular and opens new doors in terms of application GUI design.

The choice between Silverlight and WPF mainly pivots on your distribution method and application requirements. Silverlight apps are usually accessed via a web page, and while there are methods of accessing them offline they really work best in lightweight situations. WPF apps run in "Full trust" mode and have many features that are not available even in Silverlight Offline applications. If you are talking about a simple data entry or Line of Business application, Silverlight should meet your needs, but if you need access to external resources (Hard Drive, local database, USB device, etc) then you may be stuck with a WPF application. I believe that WPF apps can use Click-Once deployment, which gives you may of the benefits of a web-deployed application while retaining full access to the underlying hardware.

Greg Bray
+1  A: 

WPF vs Silverlight

I would go for WPF, even if you have some fancy control etc. in WinForms you can always host it in WPF.

UI which requires a very fast data grid/table

WPF uses DirectX and Redering is much faster. Also you have one more way - XBAP.

On the other hand, ASP.NET/AJAX is more multiplatform.

WPF = fast rendering, ASP.NET/AJAX = multiplatform.

Silverlight is not that mature.

lukas
+1  A: 

just go througth this reference also

http://stackoverflow.com/questions/2601997/choosing-between-wpf-and-silverlight/2602262#2602262

Kishore Kumar
+1  A: 

WPF is currently more flexible but both WPF and Silverlight are slowly merging. If you want the ability to access the application in a browser go Silverlight, otherwise WPF.

The charting may be a bit of an issue depending on how complex it is. So far there isn't many charting packages available for WPF or silverlight. ChartFX is decent but doesn't support advanced financials such as MACD etc..., which there is a financial pack available in the winforms version.

Another consideration would be if this application is for internal or external use? If it's external I would say stay away from silverlight as the adoption isn't quite there yet. If it's internal and you control the standard then definitely do silverlight vs asp.net MVC.

Kelly