博客地址: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. Codeforces Round #505 (rated, Div. 1 + Div. 2, based on VK Cup 2018 Final)

    A : A. Doggo Recoloring time limit per test 1 second memory limit per test 256 megabytes input stand ...

  2. PyQt5学习笔记

    setMouseTracking bool mouseTracking这个属性保存的是窗口部件跟踪鼠标是否生效.如果鼠标跟踪失效(默认),当鼠标被移动的时候只有在至少一个鼠标按键被按下时,这个窗口部件 ...

  3. Linux 配置SSH 无密钥登陆

    根据SSH 协议,每次登陆必须输入密码,比较麻烦,SSH还提供了公钥登陆,可以省去输入密码的步骤. 公钥登陆:用户将自己的公钥存储在远程主机上,登陆的时候,远程主机会向用户发送一串随机字符串,用户用自 ...

  4. Poj1258 Agri-Net (最小生成树 Prim算法 模板题)

    题目链接:http://poj.org/problem?id=1258 Description Farmer John has been elected mayor of his town! One ...

  5. springboot之jar包部署步骤

    eclipse中: 1.单击整个项目 run as - maven clean - maven install 2.找到项目所在的路径 找到所有的jar包 3.把jar包放到linux对应的文件夹 l ...

  6. web前端开发常用组件

    web前端开发常用组件 1. 对话框(dialog):jbox(适合对话框等其它功能).colorbox(也很强大,可以弥补jbox图片轮播的落点),      这二者基本能搞定所有对话框的情况 2. ...

  7. Docker Kubernetes 容器重启策略

    Docker Kubernetes 容器重启策略 当容器被创建时,容器会根据重启策略来进行容器重启. 支持三种策略: Always:当容器终止退出后,总是重启容器,默认策略. OnFailure:当容 ...

  8. Python 缓存服务

    缓存服务:mongodb.redis.memcache mongodb:早期的缓存系统,直接持久话,数据即存内存也同步到硬盘. redis:主流缓存系统,半持久化,默认存在内存,需要手动调用存在硬盘, ...

  9. go 编译:交叉编译&编译执行过程

    1. 交叉编译 编译Windows程序和mac程序 GOOS=windows GOARCH-amd64 go build main.go 转自:https://www.cnblogs.com/mafe ...

  10. Vim Tricks

    Vim Tricks operations replace :$s/from/to/g 全文替换 :10,20s/from/to/g 从第10行开始,替换至第20行 :10,20s/from/to/g ...