博客地址:http://blog.csdn.net/FoxDave

SharePoint Framework是新的用来构建SharePoint自定制的开发模型,它专注于客户端开发并用热门的开源工具gulp、webpack等进行编译。这带来的最大优势是任何开发平台的开发者都可以参与SharePoint自定制的开发。

SharePoint Framework由一些不同的包组成,这些包有各自的版本。例如GA版的SPFx由以下包组成:

  • @microsoft/sp-client-base v1.0.0
  • @microsoft/sp-core-library v1.0.0
  • @microsoft/sp-webpart-base v1.0.0
  • @microsoft/sp-build-web v1.0.0
  • @microsoft/sp-module-interfaces v1.0.0
  • @microsoft/sp-webpart-workbench v1.0.0
所以在项目开发中我们需要注意这些包是否引用到了我们要使用的正确的版本。在搭建新项目时,Yeoman生成器会从当前SPFx发布版本中自动向包添加必要的引用,主要需要注意的是在更新时,每个包的版本是否有变化。
准备开发环境
关于开发环境的搭建部分,前面的文章已经介绍了,在此不再赘述。
构建SPFx开发环境
这里所说的环境不包含之前提到的安装组件部分,而是从整体上阐述开发环境应该是什么样子的,可以在哪些地方进行开发。
在过去,SharePoint开发者经常使用虚拟机作为他们的开发环境,他们在上面进行开发调试工作,以确保解决方案可以为特定的组织使用。开发者们会在他们的虚拟机上搭建SharePoint环境,安装SharePoint和补丁以保持和生产环境的一致。有些时候他们也会安装额外的软件来尽可能地匹配目标环境。
转到开发云解决方案之后,开发者不再需要在他们的开发机上运行SharePoint场环境,只需要云环境的账号并了解如何跟SharePoint交互就可以了。
SPFx专注于客户端开发,再也不需要在开发机上安装SharePoint环境了。项目需要的依赖框架和包都包含在了项目文件夹中,由项目指定。需要说明的是,SPFx更新很快,开发者必须确保使用的工具链和SPFx的版本是相一致的,上一篇也强调过这个问题。
共享的或个人的开发环境
SharePoint自定制范围从直接向页面添加简单的脚本到复杂的解决方案包。SPFx是专注于结构化和可复用的SharePoint自定制开发模型。在构建SPFx解决方案时,团队里的每名开发者使用他们自己的环境,通过源码控制系统进行代码共享以协同开发互不影响。
同时,进行SPFx开发降低了成本,可开发者可以使用市场标准的开发机器来构建SharePoint自定制解决方案;而不像传统的方式可能需要有跟生产环境一样消耗的开发机。
在宿主机器上开发
可能最简单的选项就是在宿主机器上配置SPFx开发环境,即直接在宿主机器上安装所有的工具和组件。如果你的团队只开发SPFx相关的项目,他们可以在自己的机器上安装Node.js;如果他们也开发其他的Node.js项目,那么他们可以使用第三方解决方案如nvm来运行多版本的Node.js。
在进行SPFx开发时,开发者会安装Yeoman和SharePoint Framework Yeoman generator,通常这两个工具是全局安装的,且随着SPFx的更新而更新。这样在更新SPFx时,他们不得不卸载当前版本去安装新的版本。更可行的方法是全局安装Yeoman,但是在本地既定的项目上安装generator。
在宿主机器上开发的好处是软件直接在上面运行,可以直接访问CPU、内存和磁盘I/O,得到了更好的性能。
在虚拟机中开发
在过去最常见的SharePoint开发者开发SharePoint相关解决方案的方式就是使用虚拟机,开发SPFx解决方案时也可以采用这种方式。但是使用虚拟机并不是没有弊端。虚拟机一般都很大,且需要使用强大的机器进行承载以达到期望的性能。而且,维护的成本也很高,开发者必须对自己的虚拟机进行持续的系统更新,安装不要的补丁。在一个团队中,很难保证团队所有成员的所有虚拟机是一致的。从这个角度考虑的话,使用虚拟机来开发SPFx解决方案很昂贵,开销大且时间长。
使用Docker开发
介于在宿主机器开发和在虚拟机开发的中间地带,我们也可以使用Docker进行开发。这里笔者不会过多地对Docker进行解释,它是一个跟虚拟机类似的软件虚拟化技术,但是有一些区别。使用Docker镜像最大的优势是它比虚拟机更容易创建、维护和分发,它们更加轻量级(一般只有几百M),并且开发者可以在Docker中使用宿主机器中安装的工具。
Docker容器运行了一个操作系统的虚拟实例(基于Linux)。用镜像创建的容器中的所有软件都是在容器中独立运行的,只能够访问宿主机器共享给容器的文件系统。在容器关闭时,所有在容器内对文件系统的更改都会被丢弃。
更多信息可以戳这里

SharePoint Framework 基于团队的开发(一)的更多相关文章

  1. SharePoint Framework 基于团队的开发(二)

    博客地址:http://blog.csdn.net/FoxDave 本篇介绍SPFx项目的一般开发流程.SharePoint Framework基于开源的工具链,也遵循开源技术栈中其他项目的开发流程. ...

  2. SharePoint Framework 基于团队的开发(四)

    博客地址:http://blog.csdn.net/FoxDave 确保代码一致性和质量 软件开发团队常常同项目的一致性和高质量做斗争.不同的开发者有不同的编码风格和偏好.在每个团队都有技术优秀的独立 ...

  3. SharePoint Framework 基于团队的开发(五)

    博客地址:http://blog.csdn.net/FoxDave 升级SharePoint Framework项目 部署SharePoint自定制解决方案到生产环境并不意味着生命周期的结束,因为还有 ...

  4. SharePoint Framework 基于团队的开发(三)

    博客地址:http://blog.csdn.net/FoxDave 用内部包进行开发 由于你的团队在开发客户端解决方案,你很可能构建通用代码库来在项目中重用.在很多情况下这种库包含的代码是内部所有的不 ...

  5. SharePoint Framework 开发工具和库

    博客地址:http://blog.csdn.net/FoxDave SharePoint Framework包含一些客户端JavaScript库,你可以用来构建自己的解决方案.本文提供了你可以用来 ...

  6. Wizard Framework:一个自己开发的基于Windows Forms的向导开发框架

    最近因项目需要,我自己设计开发了一个基于Windows Forms的向导开发框架,目前我已经将其开源,并发布了一个NuGet安装包.比较囧的一件事是,当我发布了NuGet安装包以后,发现原来已经有一个 ...

  7. BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第3章节--SharePoint 2013 开发者工具 SharePoint中基于Web开发

    BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第3章节--SharePoint 2013 开发者工具 SharePoint中基于Web开发         之前提到过, ...

  8. SharePoint Framework (SPFx)安装配置以及开发-基础篇

    前言 SharePoint Framework(SPFx),是页面 和Webpart的模型,完全支持本地开发(即完全可以脱离SharPoint环境在本地进行开发),SPFx包含了一系列的client- ...

  9. “多团队大规模”开发模式 - 基于SAP HANA平台的多团队产品研发

    应用SAP HANA “官方”开发模式的伙伴们在转到“多团队大规模”开发模式时会遇到各式各样的心理不适应的状况,各种纠结.比如GIT Repository和HANA Repository冲突什么的. ...

随机推荐

  1. 最详细的 paypal 支付接口开发--Java版

    做全球性的支付,选用paypal!为什么选择paypal? 因为paypal是目前全球最大的在线支付工具,就像国内的支付宝一样,是一个基于买卖双方的第三方平台.买家只需知道你的paypal账号,即可在 ...

  2. 第三篇——Struts2的动态方法调用

    Struts2动态方法调用 默认方式:默认执行方法中的execute方法,若指定类中没有该方法,默认返回success: method方式:执行method属性中定义的方法,没有该方法,页面报错: 通 ...

  3. python 使用函数参数注解

    使用函数参数注解是一个很好的办法,它能提示程序员应该怎样正确使用这个函数. 函数注解只存储在函数的annotations 属性中

  4. pageUtil分页工具

    分页工具: https://www.cnblogs.com/ggq-insist-qiang/articles/10095603.html

  5. 剑指offer(42)和为S的字符串

    题目描述 输入一个递增排序的数组和一个数字S,在数组中查找两个数,是的他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的. 输出描述: 对应每个测试案例,输出两个数,小的先输出. 题目 ...

  6. Guitar Pro里自动化编辑器有什么用?如何使用?

    我们在使用操作Guitar Pro来进行吉他学习创作时,会遇到下面几个问题.当我们想要改变全部小节或者某一特定小节的拍速时,就会在想,有没有什么简便工具来实现我们的想法呢?告诉大家,Guitar Pr ...

  7. ssm回顾笔记(一)

    这两天来到了农银,这边即将进行的一个项目是将ssh框架的电商项目迁移到springboot+ssm框架上,所以我基本上是三门技术在同时进行学习,当然以前学过ssm,现在只是回顾. spring 注解 ...

  8. js parseInt

    语法: parseInt(string, radix); string 要被解析的值.如果参数不是一个字符串,则将其转换为字符串(使用  ToString 抽象操作).字符串开头的空白符将会被忽略. ...

  9. ubuntun 18.04 安装google浏览器

    ---恢复内容开始--- 一:下载谷歌浏览器镜像源 sudo wget http://www.linuxidc.com/files/repo/google-chrome.list -P /etc/ap ...

  10. get UI URL

    DATA:LV_APPL_MODEL TYPE REF TO IF_BSP_WD_APPL_MODEL.    DATA:RV_URL TYPE STRING.     cl_bsp_wd_appl_ ...