什么是从开发者的angular度来看Sharepoint的发展?

这些天我听到很多关于Sharepoint的话题,但是我在通过所有的企业和营销术语来准确把握它的问题方面存在一些问题。 实际操作似乎太麻烦(几个重要的软件包,你不能只是免费下载)。

有人能给出一个很好的开发人员到开发人员的描述什么Sharepoint是什么? 我特别想知道Sharepoint开发人员通常做什么。

==编辑2017 ==

这是一个相当古老的职位,SharePoint在过去几年中发生了很大的变化。 原始文章的大部分内容仍然有效,但有些仅适用于SharePoint未来似乎偏向SharePoint Online的前提安装。 这就是说,大多数function仍然有一些改进。

==原始文章==

SharePoint是一个非常复杂的CMS(内容pipe理系统),具有很多很好的BSS(业务支持系统)function。 有这么多的优点,很难限制提到的东西。 但是,一些显而易见的东西就是你可以在同一台服务器上混合使用这么多的“环境”,这些环境被分离成网站。

环境是什么意思?

假设你经营一家物stream公司,为了让你的业务保持正常运转而烦恼有这么多不同的系统。 许多系统也有不同的提供商,所以公司周围的生态系统也同样复杂,SharePoint的救援工作也是如此,因为它是一个实际上可以托pipe所有必需环境的系统。 在例子中。

  • 外部网页,由SharePoint或通过集成的网页托pipe
  • 订单pipe理
  • 客户支持和票务
  • 货物处理
  • 内部网站与文件pipe理

这些环境中的每一个都可以受益于SharePoint内置的function,如工作stream和自定义内容types。

我想说selectSharePoint的最重要的原因是存储不同types的数据的多function性。 即使性能可以通过服务器场中的多个服务器进行大幅升级,如果您计划每秒钟处理一百万次事务,也不是一个系统。

作为一名开发人员,我的观点是SharePoint几乎都是关于列表,库和元数据存储的,因为大部分数据都保存在那里。 这是您需要学习的东西,并了解如何构build数据以及如何实现您的信息模型。

在我的世界中最常见的任务是将SharePoint与外部CMS(如EPIServer或Joomla)集成,以build立一个集成,访问者可以将来自Web的消息直接发送到SharePoint。 然后,这些任务就会创build一个工作stream程,当客户支持/销售人员收到这个消息时,这个消息会一直发生,直到这个差事可以被closures。 完成这个工作后,我可能会使用mschart显示一些销售数据或支持差事的统计数据,在自定义Web部件中创build一些图表。 目前正在使用SharePoint作为网上商店来规划数据结构。 而且你又去了,多function!

如果您正在进行集成,那么SharePoint中也有非常强大的API。 我自己也参与了SharePoint的ADO.NET连接器的生产,将SharePoint转换为SQL服务器,使开发人员可以跳过使用CAML。 而且,还有很多其他很酷的工具。

我们不要忘记使用SharePoint的第二大优势。 你可以专注于前进的发展,后端已经在那里。

以下是从最终用户/商业angular度描述SharePoint的简短videohttp://www.youtube.com/watch?v=s12Jb5Z2xaE

从开发人员的angular度来看,SharePoint是一个位于ASP.NET之上的平台,可以提供video中描述的服务(以及更多)。 开发人员的工作就是扩展平台,而仅仅是开箱即用的function无法解决业务问题。

当SharePoint位于ASP.NET之上时,SharePoint的开发在许多方面与ASP.NET开发不同。 SharePoint使用列表作为其主要存储机制,它具有自己的组件模型(特性),它具有自己的打包和部署模型(解决scheme)等等。 成为SharePoint开发人员需要一些时间,即使是熟练掌握ASP.NET开发的人也是如此。

SharePoint附带了很多可扩展的部分,您可以使用它们。 您不必编写自己的身份validation,工作stream,负载平衡,站点主题化,文档版本控制等。

这可以让您快速构build高级解决scheme。

实际上,作为开发人员应该问的第一个问题是如果没有编码就可以解决问题。 业务用户和pipe理员可以在浏览器中或使用SharePoint Designer撰写解决scheme。 开发人员应该尽量熟悉这些angular色所拥有的工作和使用的工具。 通常,您将成为您自己的开发服务器的pipe理员,这将使您了解AD,PowerShell以及安装和configuration任务。

如果需要Visual Studio,您开发的代码将不得不符合SharePoint的框架,除了HTML,JavaScript和C#之外,还要使用诸如服务器或客户端对象模型,各种Xml架构等。 例如,不是创build一个简单的页面(作为一个ASP.NET开发人员可能),SharePoint解决scheme可能会要求您将您的html / js包装在WebPart中,而不是由业务用户在不同的页面中重用和configuration。

托pipe的SharePoint版本(特别是2013)为SharePoint开发添加了另一个维度:除了html / js之外,您可能还想使用Azure。