Reputation: 560
I have been debating whether or not to use ASP.Net WinForms to manage content on a website.
Some of the content on this website is already managed through a web application and has thousands of users worldwide managing their own content.
The addition of WinForms would be for specific content that would be managed by Staff, mostly in a central office location but sometimes out of office.
A click once application would allow the application to be run on windows machines anywhere (I assume.)
What would the pros and cons be with this sort of approach?
Being a web designer it seems ludicrous to me that a content management application for web content could be built as a Windows desktop Application. (And it doesnt help that I wont be able to use it on my Mac unless I install Windows...)
But again, I am no expert, thats why I am asking.
Upvotes: 2
Views: 464
Reputation: 2499
You seem skeptical, so lets ask from the other direction: Why would you want to write such an application in Winforms to begin with? What are you trying to achieve which can't be done via a web app?
Several possibilities come to mind:
Richer editing canvas /w features such as image manipulation and spell-check. These are typically easier to implement in desktop applications.
performance intensive algorithms which aren't feasible in JS
Integration /w existing desktop applications such as MS Office or Powerpoint.
Integration /w hardware devices (tablets, touch devices, etc)
Offline support (doable via browser but involves much more pain)
So, assuming you need one or more of the above, the next question would be - why Winforms? .Net provides newer, better alternatives such as WPF and Silverlight, both of which are much closer to the web design paradigm and will likely be easier for a web developer to pick up. Not to mention that Silverlight can also be hosted in a browser for a hybrid experience.
This is just the tip of the iceberg, if you can provide additional info we can continue the discussion in more depth...
Upvotes: 2
Reputation: 1064204
What is the functionality that you want to use winforms for? There are some things where winforms (via ClickOnce) might be useful - for example, interacting with hardware like a scanner (although this can also be done via OCX if you are using IE, which still doesn't mean that OCX is a good idea ;-p).
If it is just a moderately complex screen - perhaps it can be done on the web with some tricks like jQuery UI.
If doing it all on a web page is going to be hard, perhaps look at Silverlight (v3). This gives you winforms-like levels of control, but in a cross-browser/cross-platform way. It can also run out-of-browser for that "installed application" feel.
If you do go the winforms route, then at least make it a "smart client" - i.e. do the data access via a web service such as WCF. Then you have the ability to use it remotely through firewalls etc. Don't talk directly to the database etc (from the winform exe) unless you have no other choice.
Upvotes: 1
Reputation: 24535
If you can achieve the user interface you require on a web page you should consider not using winforms. Winforms will have added deployment and connectivity issues. Yes and you have the MAC issue unless you build a thin client that can be run on Mono (I beleive Mono runs on a MAC?)
There are some really good WYSIWYG editors availble for .net, we use the editor from http://cutesoft.net/ which works really well across MAC and PC.
If its "specific content" then a dedicated web form might be better than a fully blown editor?
If you really need a rich user interface and there is a limited number of editors, Adobe Contribute could be a solution?
There should be some obvious advantages, that would lead you to making such a change? But only you would know that.
HTH
Upvotes: 1