ASP.NET和SharePoint哪个更适合Web开发者?

20

我对SharePoint的信息很少(只有基本信息)。 Microsoft发布了面向Web开发人员的SharePoint。Microsoft还表示,SharePoint与其他.NET技术(如Workflow Foundation、WCF等)兼容,是开发网站和Web应用程序的简便方式。

据我所知,ASP.NET与.NET技术和C#兼容,并且对于至少使用过C#或VB.NET的每个人来说都很容易。

因此,有了这些SharePoint的优势:

  1. 为什么我们必须使用ASP.NET而不是SharePoint?
  2. 为什么Microsoft开发了ASP.NET(新版本4)?
  3. 选择其中一个的主要原因是什么?
  4. 真的是基于SharePoint进行开发比ASP.NET更快、更容易吗?

伙计们,来吧。最终,SP对于一切(网站开发)是好还是不好? - Rev
3
不是所有类型的Web开发都适合使用SharePoint。在我看来,只有当你计划广泛使用其内置功能且不需要添加大量自定义功能时,才应考虑使用SharePoint。 - Marek Grzenkowicz
7个回答

36

SharePoint是一款基于ASP.net应用程序的框架(当前的SharePoint 2010版本使用ASP.net 3.5 SP1,不支持ASP.net 4.0)。它覆盖了许多ASP.net内置功能(例如自己的.aspx解析器和虚拟路径提供程序)。

与ASP.net相比,您拥有一个文档完善、经过实战验证、成熟且稳定的平台,并具备良好的API。

使用SharePoint,您可以获得一个文档不完善、存在缺陷、非常有限的应用程序,该应用程序处理了许多特性,否则您需要自己编写代码来实现(例如用户资料管理、文档组织和版本控制以及社交功能,如评论和标记)。但是,至关重要的是,对于大多数功能,SharePoint的处理都很差,而且并不允许您进行替换,这意味着您仍需要花费大量时间来重写它们,并尝试将它们集成回去。

作为一名自2006年以来的SharePoint开发人员,我的建议是:只有在必须使用时才使用它,尽可能避免使用并始终使用ASP.net。

SharePoint对于简单的文档管理和轻量级社交系统非常有用。您可以快速自定义其较小的部分并为公司增加很多价值。但是,一旦您需要实现即使只稍有不同于Microsoft设想的功能,您就会遇到无法继续前进的障碍。它适合于它所做的事情,没有多余的,也没有少了的。


5
因为我的帖子听起来像一个真正的喷子帖子,所以这里有一个非常简单的挑战:显示来自社交评论系统的评论列表。如果您是某个SPGroup的成员,请在每条评论旁边显示一个“删除”按钮,以允许您删除评论。 - Michael Stum

20

我是一名Sharepoint开发者...让我说,我希望它只是ASP.NET!那将是很好的...它带来了自己的范例,这些范例相当复杂。

ASP.NET和Sharepoint是2种'不同'的技术。Sharepoint主要是用ASP.NET构建的,并向用户提供ASP.NET页面。

您可以在Sharepoint中使用VB.NET或C#。

在我看来,如果您打算使用其内置的列表、用户管理等功能,则Sharepoint开发仅在这些方面更快。虽然这些需要时间学习,但Sharepoint的酷炫之处在于,您可以开发Web部件,并在安装的多个页面上重复使用这些Web部件。

微软继续开发ASP.NET和Sharepoint,因为它们是两个不同的东西,ASP.NET页面可以通过Sharepoint交付。

至于哪种最适合您,您必须做出决定。您需要Sharepoint吗?还是使用DotNetNuke等预先构建的CMS更好?或者创建自己的站点,具有Windows凭据管理,以便您可以使用SSO(单点登录)。

这实际上取决于您想从安装中获得什么。Sharepoint很昂贵,而Sharepoint开发人员也很昂贵,因为他们具有专业知识。

作为一名开发者...(我希望我的老板没有在看!!)我更喜欢从头开始构建东西,而不是使用SP,但这是我的工作...


4

2
你好,欢迎来到 Stack Overflow。请编辑你的回答,包含一个相关的引用来证明为什么用户不应该使用 Sharepoint?我们通常不鼓励仅提供链接的回答。 - Anthony Neace

2
如果您只是想创建一个网站,可以选择ASP.net。
然而,如果您的公司已经安装了SharePoint并且您想要与之集成,那么您应该选择SharePoint。
SharePoint是基于ASP.net构建的,但具有许多扩展功能,可以让数据在公司内共享。
但是,如果您只是要建立一个网站,并且不需要这些功能,ASP.net就是最好的选择。

不,我们要决定使用SP还是ASP?另外,SP适用于Web应用吗? - Rev

1

我会逐点回答:

  1. SharePoint不是ASP.NET的替代品。它是ASP.NET平台的扩展,简化了几个常见用例的实现,这些用例大多与企业网站相关:文档管理、知识保留、协作等等... SharePoint与ASP.NET的关系类似于WordPress与PHP的关系:它是一个专门的扩展而不是替代品。
  2. 与(1)中的解释相同。
  3. 如果您需要开发的内容在SP提供的范围内,那么请使用SP,这主要是各种企业解决方案。这里有一个很好的摘要介绍了SP的功能。
  4. 同样,如果您尝试开发SharePoint所设计的内容,将会更快、更容易。此外,SP的文档资料并不是很充足,所以如果您不熟悉它,可能会起步缓慢。

0

我可以为您进行比较,最终决定权在您手中。

  1. ASP.NET >> 这是微软的一种编程语言,意味着您需要Windows Server + IIS + 像SQL Server这样的数据库服务器 + 服务器上的一些杀毒软件。

假设现在您需要更多的PC来作为服务器,因此您的成本会随着需要新服务器的增加而不断上升。

  1. Sharepoint Server同样来自微软,因此以上所有内容都适用。

0

SP是一个非常强大的平台,但它似乎会带来一些复杂性,这些复杂性在简单的ASP.net中可能不存在。此外,当您使用SP进行“OOTB”移动时,会在RTM等方面变得有点具有挑战性。我经常在博客中看到发生“奇怪”事情。虽然我不是一个完全成熟的SP开发人员,但我已经使用它工作了7年以上,我发现构建解决方案,这些解决方案可以在SP内部工作,但并不一定是由SP内部构建的,通常更容易维护和控制。这只是我的观点!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接