Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have had the question posed at my work that, since we are planning to eventually move to Sharepoint 2010 for most of our Development, and since Sharepoint 2010 supports web parts, should we start moving all of our new development to be exclusively web parts?

It was also asked how prism factors into all of this. (not sure what that is)

We are now a mostly client/server based location but are moving to an SOA framework (slowly though).

Is this a good idea? Is it better to have some apps in WPF and Winforms hitting the services or should we just go to web parts solely? What are we going to miss out on if we make this move?

share|improve this question
up vote 2 down vote accepted

If you write the web parts and your service-architecture well, you'll end up with a very good solution that will have many of the upsides of a desktop application with all the benefits of integrating with your SharePoint. Instead of using the traditional MVC I'd recommend a service-oriented approach with most of the work being done in Services and front end jQuery (or extjs if that's your thing).

The problem is going to be integrating with your existing client/server architecture as a stopgap during SOA coding and deployment. You lose very little, especially because your Winforms applications are going to require access to the service layer anyway to be functional (I'm making an assumption here, but from your description it sounds like it), so you can guarantee access to SharePoint (again, making some assumptions about your network configuration).

All in all, having a one-stop shop in Sharepoint with all your functionality seamlessly integrated and in one place seems like a best-case scenario to the end users. It is, admittedly, a little more difficult to code your front end in JS, especially if you're new to this kind of development. The effort to learn and do it right pays off in spades, at least IME.

Disclaimer: That's all based on a lot of assumptions about your app and your environment based on your post and my knowledge of people in similar situations. Your situation may be radically different in ways I just don't know about. Good luck!

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.