Silverlight, WPF or Windows Forms?

I need to create a desktop application for Windows, and I doubt which technology to choose. The fact is that the application must interact with local resources:

  • Communication with SQL (SQLite and MSSQL support are needed - local and remote, and I would really like to use NHibernate, possibly even with Castle ActiveRecord)
  • Interaction with equipment connected via Bluetooth, Ethernet, USB and serial port (COM). I need to read a stream of bytes from sensors that connect via different protocols.

It is advisable that I go to Silverlight 4 and allow the application to run on the desktop using Full Trust. But I foresee problems with these two requirements. Is there a solution for SL4, and if not, which alternative should I choose? I'm not limited to WPF or WinForms, but since it should work on .NET, I'm more or less limited to these three options (or am I?)

+4
source share
3 answers

In the Silverlight application, you cannot connect to the SQL source without creating the + service; it is not easy for you (or even) to access local resources, such as the COM port. If your application is based on an intranet, I would go to WPF immediately after deployment.

+5
source

Once you understand how to use WPF / Sliverlight controls, templates, and data binding, you never want to touch WinForms again - it's not only that WPF / SL gives you richer user interface capabilities, they just simplify and reduce the likelihood of errors creating applications (especially data bindings).

And it looks like you need relatively low-level access to hardware, even if it's possible with SL, it will be easier with full .net

So, I would choose WPF

Just remember that WPF / SL has a learning curve if you have never built a budget for a WPF project for a while to learn the platform.

+3
source

WPF is your weapon of choice.

The API, WPF is basically a superset of Silverlight. In addition, you are in full control and have full access to local resources.

If you are using .NET 4.0, you will most likely enjoy Entity Framework as an alternative to NHibernate. Not that it outperformed NHibernate in any way, but it blends in perfectly and comes with the package.

But, as Nir said, there is a learning curve for WPF.

+3
source

All Articles