一个SharePoint开发者是否具备进行自定义应用程序开发的技术能力,反之亦然?

5

这可能是一个基于观点的问题,但我想问一下(即使它最终被关闭或删除)。

我做自定义应用程序开发(asp.net/aspMVC),对SharePoint一无所知,想知道:

如果你有一个“坚如磐石”的自定义应用程序开发,asp.net/aspMVC Web开发人员,他能轻松地转向SharePoint开发吗?反过来呢?经验丰富的SharePoint开发人员是否有能力使用asp.net/aspMVC进行自定义应用程序开发?

我绝不想冒犯任何SharePoint开发人员或任何自定义应用程序开发人员。我只是想看看从一种开发类型到另一种开发类型需要带多少知识。


1
SharePoint是ASP.NET WebForms,所以了解ASP.NET MVC对其没有帮助。事实上,这可能会给你的开发人员带来困扰,因为他们渴望MVC的简洁性。 - Alex Angas
4个回答

8
我最近让我的团队中一个非常擅长.NET的人学习SharePoint,让我告诉你,这可不是一项小任务。问题不在于熟悉SharePoint对象模型或产品架构(他对后者非常熟悉),而在于理解“SharePoint方式”做事的概念。
让我稍微扩展一下:主要问题在于在本地主机系统上工作的概念被抛弃了,所以您需要在VPC(您可能需要从头开始构建)或安装有适当开发工具的服务器上进行工作。有些人甚至直接在主机计算机上运行Windows服务器产品,但这也意味着您需要非常专注,因为这还涉及在PC上运行SQL Server和SharePoint。
接下来的问题不仅仅是打开SharePoint网站并编写代码,而是构建单个Web部件和功能,然后进行部署。这还涉及对XML文件进行一些非常晦涩的配置,如果配置不正确,可能会对整个环境产生非常负面的影响(即停止工作)。最后,部署过程完全不同。与正常的ASP.NET环境不同,没有简单的“发布”选项,而是一种复杂的部署和激活过程。
SharePoint在许多方面表现得非常出色,但是当涉及编写自定义应用程序时,它有一种神奇的本领,使通常非常简单的事情变得极为复杂。你会遇到很多十字路口,要么按照SharePoint的方式去做,要么就放弃,如果你事先不知道这些,你就会面临着巨大的风险。别误会,这是一款很棒的产品,我只是说不要以“这只是.NET开发”的态度来对待它,并期望事情顺利进行。
在我看来,这对于.NET开发人员来说是一个非常大的跨越,除非你真的想转向SharePoint开发,否则不应该接近它。在我的环境中,我非常明确地表示,除非有人有开发SharePoint的实际经验,否则他们不应该跳进来“边干边学”;风险太高了。
顺便说一下,有一个很好的问题,标题为你对Sharepoint最大的抱怨是什么,你应该阅读一下。

精彩的回答。那么反过来呢?如果一个SharePoint开发者想要转向自定义应用程序开发,会怎样呢?我可以想象,“SharePoint方式”做事情可能不太适合自定义应用程序开发者。 - Amir
1
说实话,如果我看到有人参与开发SharePoint(即了解对象模型、基于Web的编程概念、应用程序生命周期和显然的C#语法),但还不熟练掌握独立的ASP.NET,我会非常惊讶。我可以理解某些人从更注重最终用户的工具(如SharePoint Designer)熟悉SharePoint并朝这个方向发展,但对于一个“真正”的程序员来说,这是非常不寻常的。 - Troy Hunt
谢谢你,再次感谢。非常感谢你的回答。 - Amir
我自己在过去的一年中完成了这个转变,这是对问题的一个很好的回答。这绝对是一个困难的转变。 - Chris Stewart

1

我对SharePoint有一些了解,如果你是一个.Net程序员,你可以在SharePoint中编写代码。

然而,你需要熟悉很多细节。

  • 例如WebParts。虽然它们在WebForms中也可用,但在SP中具有全新的意义。
  • 页面存储的位置和方式。如果你对标准页面进行更改,SP会将更改后的页面存储在数据库中,并从那里引用它。因此,如果你在文件系统中查找文件,你会找到它,但它可能是错误的。
  • 我认为页面生命周期可能略有不同,但请不要引用我的话。

这只是其中的一部分。

总之,我认为你不能直接开始编码。最好的选择是找一个SP开发人员来教你或者参加课程。

我参加过一个SP课程,但老实说,我仍然觉得自己不能直接开始编码。

如果你不按照SP的方式做事,SP会严厉惩罚你。


我参加了一个SP课程,说实话,我仍然认为我不能立即跳进去就做对。 - 同样。 - GurdeepS
我对SharePoint有一些了解,如果你是一个.Net程序员,你基本上可以在SharePoint中编写代码。我参加了一个SP课程,但老实说,我仍然认为我不能立即投入并做得正确。那么这到底是怎么回事呢? - Chris Stewart

0

我目前从事这个职位,正在接触 MOSS(已获得配置认证),但是由于开发 MOSS 时有新的概念(比如 WebPart 生产),所以理解起来并不容易。不过这只是一个新的流程,需要了解关于 MOSS 的很多内容和它的工作原理。

我的限制是在工作中没有足够的 SharePoint 2007 经验,因此我显然会在 WebPart 创建等方面落后。但这就是为什么我要在家安装软件的原因。

另一方面,SharePoint 开发是 C# 和 ASP.NET,所以在代码后台 / 前端呈现方面,你有一个坚实的基础。

如果你编写 SharePoint,我认为 Winforms 更容易,因此你可以切换到那个。ASP.NET 和 SharePoint 2007 共享很多概念,因为 SharePoint 实际上是一个非常先进的 ASP.NET web 应用程序,所以你可以从 MOSS 转向 ASP.NET。


0

我自2002年开始开发Sharepoint应用程序,并成功运行了数十个基于它的项目,范围从...

从WSS 3.0/MOSS 2007开始,大多数Sharepoint特定技术(也称为Web部件)都被整合到了.net中;因此,应用程序开发发生了很大变化:你不需要在早餐时吃SPWeb,而是成为一个常规的ASP.NET开发人员,并采取实用主义方法学习内容管理就足够了。

底线:Sharepoint开发并不是什么高深莫测的东西;不要害怕,拿起VS2005/8,一个VPC,快乐编码吧!


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