views:

230

answers:

5

What is difference in developing applications using .Net Framework, Asp.net and developing application in Sharepoint (MOSS or WSS)?

+3  A: 

Sharepoint is a collaboration tool built on top of .NET and ASP.NET. To develop applications for Sharepoint means you still need familiarity with ASP.NET and the .NET Framework, but also familiarity with the Sharepoint infrastructure/API's.

Kev
A: 

Deploying your solution. SharePoint uses WSP files while ASP.Net supports copy/paste.

Think of SharePoint as a framework that sits on top of ASP.Net. There are rules to use this framework, try your best to abide by the rules.

JD
-1: Nope, you can copy/paste with SharePoint. It depends on what you are developing (which you don't state).
Robert MacLean
A: 

SharePoint is working with canned but modifiable website templates (WSPs) inside a of an system with a really long feature list-- including an abstraction over the data store (lists), the templating engine, work flow features, etc, etc.

The other is custom development of websites from scratch.

You can have it both ways. SharePoint itself was build with ASP.NET 2.0, so you can host aspx and with some effort ascx pages inside of SharePoint. Once inside SharePoint, any custom written .NET code can take advantage of the SharePoint object model. This works best if a custom application from the start is planned to be hosted in SharePoint.

MatthewMartin
+1  A: 

I highly recommend checking out this thread for various pain points:

http://stackoverflow.com/questions/256407

Since SharePoint is built on ASP.NET, the argument can be made that anything you can do with ASP.NET you can do with SharePoint but the reality is developing applications for SharePoint is not for the faint-hearted and you should expect a much longer development cycle, particularly if you are new to the platform. I suggest becoming very familiar with Google, StackOverflow, and .NET Reflector because a lot of what you need to know is not in the documentation or hard to find.

It's not all bad though. You get a lot of infrastructure out of the box like authentication, versioning of data (if you are storing your data in lists), and incoming/outgoing email connectivity to name a few.

Josh Einstein
+1 to @Kev also for to-the-point answer, but I'm choosing this one for the link to the other thread which contains loads of information.
TheVillageIdiot
A: 

Depends on what sort of stuff you want to do really. There are many points in SharePoint that are exposed for you to build on. For simple requirements one of these points of development will suffice but for typical business applications on SharePoint you use a combination of features such as workflow, event receivers, timer jobs, web parts, sites and lists. C# code can run in a workflow, an event reciever, the code-behind library attached to an infopath form.

Essencially SharePoint gives you a collaboration platform to develop on to enable all sorts of things. Be warned thou, it certainly isn't as painless as straight C# development and requires lots of technologies and thus lots of new learning. However it's a been a very rewarding experience for me.

Dan Revell