views:

104

answers:

3

I need to create a desktop application for Windows and I'm in doubt about which technology to choose. Fact is that the application must do interaction with local resources:

  • Communication with SQL (need support for SQLite and MSSQL - local and remote, and would love to use NHibernate; maybe even with Castle's ActiveRecord)
  • Interaction with equipment connected via Bluetooth, Ethernet, USB and Serial (COM) port. I need to read a byte stream from sensors that connect via different protocols.

Preferably I'd go for Silverlight 4, and allow the application to run on the desktop with Full Trust. But I foresee problems with regards to these two requirements. Is there any solution for SL4, and if not, what alternative should I choose? I'm not limited to WPF or WinForms, but since it should run on .NET, I'm more or less limited to these 3 options (or am I?)

+5  A: 

With a Silverlight app, you won't be able to connect to a SQL source without creating a service + you won't easily (or at all?) have access to the local resources such as COM port. If your app is intranet based, I'd go for WPF and click once deployment.

vc 74
+3  A: 

After you understand how to use WPF/Sliverlight controls, templates and data binding you will never want to touch WinForms again - it's not only that WPF/SL gives you a richer UI possibilities they just make it easier and less error prone to create applications (especially data-binding).

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

So, I would choose WPF

Just remember WPF/SL have a learning curve, if you never built a WPF project budget some time to learn the platform.

Nir
+3  A: 

WPF would be your weapon of choice.

API-wise, WPF basically is a superset of Silverlight. Moreover you are in full control and have complete access to local resources.

If you are into .NET 4.0, you would probably enjoy Entity Framework, as an alternative to NHibernate. Not that it exceeds NHibernate in any way, but it integrates beautifully and comes with the package.

But, as Nir also stated, there's a learning curve for WPF.

Rob Vermeulen