Hey folks, I am doing some preliminary research for a fairly large forms/data-driven business application I am due to develop. There are 4 basic requirements for this application:
1. Can install/run app on local PC
or as a hosted application (access via Web Browser to our hosted server). This includes the Database.
2. The local version may be a Windows-only application.
3. The hosted version must run cross-browser (IE and Firefox minimum).
4. The local version must have a simple installer (via Web or CD) and can Auto-Update.
I have a modest amount c#, ASP.NET and SQL experience but am overwhelmed by the choice of .NET technologies available and would like some opinions. Ideally I would like just one codebase but the more I look at it, the less feasible that seems. Maintaining 2 apps doesn't sound so much fun.
My first thought was an ASP.NET app that could be packaged with UltiDev Cassini and deployed locally but I'm not sure it's robust/secure enough (thoughts?) Other choices seem to be:
Local- WinForms
- WPF or XBAP
- ASP with Cassini or Web Deployment tool.
Remote/hosted- XBAP
- ASP.NET/MVC/Ajax
- Silverlight
I've noted that you can potentially deploy a WPF app natively
and as a XBAP using
Prism, like to hear thoughts on that.
Then there's the data access strategy, which I'm not sure about either! [laugh]