SharePoint 的开发工具在 2010 版本中得到了很大改进。如果您了解 ASP.NET MVC 但不了解 SharePoint,您可能会在 MVC 中更快地完成您的应用程序,但问题是之后会发生什么。SharePoint 可以轻松地制作非开发人员以后可以通过某种方式修改的应用程序。
例如,您可以:
- 将应用程序的某些部分作为 Web 部件提供,用户和管理员可以将其放置在他们想要的位置
- 将您的应用程序作为 SharePoint 解决方案交付,允许管理员将其部署在其他环境中,例如 Intranet 站点
- 允许高级用户使用 SharePoint Designer 或 InfoPath 编辑表单
- 与 SharePoint 中的协作功能集成,例如文档工作区
另一方面,SharePoint 为您提供了许多可能会妨碍您的东西(有大量的数据库、IIS 站点、服务等),您可能需要更加努力地实现相同水平的视觉和像在 MVC 中一样对应用程序进行功能控制。而且单元测试非常困难。
所以基本上这是一个你希望应用程序有多灵活以及在什么级别上的问题。我不会对所有事情都使用 SharePoint 2010。这个网站 - Stack Overflow - 是一个应用程序的示例,其中 SharePoint 会成为障碍。
但是,要回答您的另一个问题,如果您的客户想要的话,我没有任何强烈的理由不使用它(除此之外,它需要更长的时间,因为您必须学习 SharePoint)。考虑到使用 SharePoint 2010 非常有趣,我会找个借口去了解它。这样你将来就可以更好地支持和反对它。