views:

294

answers:

3

What would be the normal way to decide which way to go?

In my case, what if

  • user-base was under 10 persons
  • you have no control over CAS but can install the framework
  • needed to import/export let say excel file/pdf
  • would be intranet
  • security is really important
  • business logic is somehow complex
A: 

Winforms is probably slightly "richer" in that you can do more on the client (since you're running a full fledged application vs. just a browser), e.g. it's a "Rich Client"; on the other hand, the Webforms app doesn't need to be installed on each and every machine since it's a "Thin Client", so that's a bonus.

As for the business logic, I would separate that out into its own layer/tier anyway, which could be used from either Winforms or Webforms - no deciding factor here, I think.

So really - which ever you feel more comfortable with is probably fine. You don't really give much really good reasons to choose one over the other....

Marc

marc_s
A: 

Your "cases" either do not distinguish between Webforms and Winforms, or are too vague to be used to make a decision.

A typical Webforms application connects to a server somewhere on the internet, all data and logic is stored remotely and sent to clients. A typical Winforms application has all data and logic performed on the user's machine. This should be the basis for which you use.

Will a bunch of people be contributing to your data, with no one user owning it? Is the data not useful unless all contributions are available? Are the contributions unreliable, or should individual users be protected from possibly dangerous contributions? Webforms are the way to go.

Or is the data the sole responsibility of one person? Does the data need to interoperate with other files, applications, or hardware used by that person? Will each user act separately from everyone else who uses the data, and do you want to isolate each user's data from others? You should use Winforms.

Yes, you can run a Webforms app locally on one machine, and you can create collaborative internet Winforms apps, but the two technologies were created for different purposes and you will be better off using each for the purpose it was designed for.

Dour High Arch
+1  A: 

This seems to be a bit of a blacksheep of a thread, but lets go for it anyways.

Pretty much in a small distribution, a thick client ( winForms ) is easier to develop for. One of the biggest flaws is the difficult in deployment. CAS will be more of a factor with a thick client app ( as its basically a non-factor on a webform app ), but in the end, with the basics you have described, it shouldn't really become a factor. Then again, this may be a product of not having enough information.

Where WebForms thrive is the ease of maintenance and the lack of deployment. Additionally, it is much easier to deploy a WebForm app on the Internet should that ever become a priority.

Your actual task described, could easily be accomplished by either technology, it really all comes down to the specifics. Need a highly or easily distributed app? Go with WebForms. Need to provide easy upgrades? Again, WebForms. Need to provide a rich client experience, then go with WinForms.

It really all comes down to many specifics you have provided and your particular skillsets, which also arent mentioned. What you have requested ( as far as we know ), can be provided using either technology.

Serapth