这些天我听到很多关于Sharepoint的讨论,但是我在通过所有企业和营销术语掌握它究竟是什么时遇到了问题。试一试动手似乎太麻烦了(几个重型软件包你不能免费下载)。
有人可以给出一个好的开发人员对开发人员描述Sharepoint的内容吗?我特别想知道Sharepoint开发人员通常会做些什么。
答案 0 :(得分:31)
==编辑2017 ==
这是一篇相当古老的帖子,SharePoint在过去几年中发生了很大的变化。原始帖子的大多数部分仍然有效,但有些部分仅适用于在SharePoint的未来似乎倾向于SharePoint Online的内部部署安装。话虽如此,大多数功能仍有一些改进。
==原帖==
SharePoint是一个非常复杂的CMS(内容管理系统),具有许多不错的BSS(业务支持系统)功能。它有很多优点,很难限制提到什么。然而,一些显而易见的事情是你可以在同一台服务器上混合这么多的“环境”,这些环境被分开作为站点。
环境是什么意思?
假设您经营一家物流公司,并且厌倦了拥有这么多不同的系统,只是为了保持您的业务正常运转。许多系统也有不同的提供商,因此公司周围的生态系统同样也很复杂,因为它是一个实际上可以托管所有必需环境的系统,因此SharePoint可以解决这个问题。例如。
这些环境中的每一个都可以从SharePoints内置功能(如工作流和自定义内容类型)中受益。
我认为选择SharePoint的首要原因是存储不同类型数据的多功能性。如果您每秒计划一百万个事务,即使可以使用服务器场中的多个服务器大大提升性能,也不是一个选择的系统。
我作为开发人员的观点是,SharePoint几乎都是关于列表,库和元数据存储的,因为它是保存大部分数据的地方。这是您需要学习和了解如何构建数据以及如何实现信息模型的内容。
我的世界中最常见的任务是将SharePoint与外部CMS(如EPIServer或Joomla)集成,以建立集成,访问者可以将消息从Web直接发送到SharePoint。然后,这些分配将创建一个工作流程,当客户支持/销售人员或其他任何人收到此消息时,该消息将发生,直到差事可以关闭。完成此操作后,我可以使用mschart显示一些销售数据或支持差事统计信息,在自定义Web部件中构建一些图形。目前,我正在使用SharePoint作为网上商店来规划数据结构。你再去,多功能!
如果您要进行集成,那么SharePoint中还有一个非常强大的API。我自己参与了ADO.NET Connector for SharePoint的制作,它将SharePoint变成了一个SQL服务器,使开发人员可以跳过使用CAML。而且,还有很多其他很酷的工具。
让我们不要忘记使用SharePoint的第二大优势。你可以专注于前瞻性发展,后端已经存在。
答案 1 :(得分:10)
这是一个从最终用户/业务角度描述SharePoint的简短视频 http://www.youtube.com/watch?v=s12Jb5Z2xaE
从开发人员的角度来看,SharePoint是一个位于ASP.NET之上的平台,它提供视频中描述的服务(以及更多)。开发人员的工作是在仅仅开箱即用的功能无法解决业务问题时扩展平台。
虽然SharePoint位于ASP.NET之上,但SharePoint的开发在许多方面与ASP.NET开发不同。 SharePoint使用列表作为其主要存储机制,它有自己的组件模型(功能),它有自己的打包和部署模型(解决方案),等等。成为SharePoint开发人员需要一些时间,即使对于熟悉ASP.NET开发的人员也是如此。
答案 2 :(得分:1)
SharePoint附带了许多可扩展的部件,您可以构建它们。您不必编写自己的身份验证,工作流,负载平衡,站点主题,文档版本控制等。
这使您可以快速构建高级解决方案。
事实上,作为开发人员,您应该问的第一个问题是,如果没有编码就可以解决问题。商业用户&管理员可以在浏览器中或使用SharePoint Designer组合解决方案。开发人员应该尝试熟悉这些角色所具有的工作以及他们使用的工具。通常,您将成为自己的开发服务器的管理员,这将使您了解AD,PowerShell以及安装和配置任务。
如果需要Visual Studio,您开发的代码必须符合SharePoint的框架,并且除了html,JavaScript和C#之外,还要使用服务器或客户端对象模型,各种Xml架构等。例如,SharePoint解决方案可能要求您将html / j包装在WebPart中,而不是创建一个简单的页面(可能是ASP.NET开发人员),而WebPart可以由业务用户在不同的页面中重复使用和配置。
SharePoint的托管版本(特别是2013)为SharePoint开发添加了另一个维度:除了html / js之外,您可能还想使用Azure。