博客地址:http://blog.csdn.net/FoxDave
开发者视角
SharePoint开发者,无论是新手还是有经验的,都可以从SPFx中获取一些东西。当前SPFx的发布版本专注于以一种安全和结构化的方式使开发者能够做用户接口扩展的案例,通过客户端web部件扩展SharePoint用户接口。这些web部件在客户端执行,可以跟SharePoint数据交互,或是在Office 365中通过Graph API,甚至是你使用标准OAuth和REST方法自定义的web api。
一个有经验的开发者对web部件和SharePoint数据模型都是比较熟悉的,但是,对于编译、打包和部署客户端web部件对于他们来说却是新的。开发者需要学习一些web前端的技术,特别是TypeScript(做SharePoint Framework开发主要的语言)。TypeScript基于JavaScript,增加了一些企业开发上的优势,比如强类型对象,对象继承,类和接口等,这种机制对于.NET、Java和C/C++开发者来说是比较熟悉的方式。开发者再也不用将Visual Studio作为唯一的编写SharePoint解决方案的选项了。感谢开源技术和项目如node.js,npm和Gulp,SharePoint Framework开发可以在任何平台上进行,开发者可以使用他们偏爱的代码编辑器或IDE,比如Visual Studio Code,Sublime甚至是Notepad。
对于之前从来没有构建过SharePoint解决方案但是对流行的web技术熟悉的开发者来说,门槛也不是那么高,许多开发者已经转战到了客户端开发上。客户端开发可以使用户有更好的、更有活力和响应性更强的使用体验,也方便了开发者。感谢免费的代码编辑器,开源框架和技术的使用,使许多开发者完全不需要在微软的生态系统中就可以构建SharePoint扩展。
SharePoint Online扩展开发中使用的最常用的方式之一是嵌入JavaScript脚本,也叫做JavaScript脚本注入。举个例子,通过Script Editor web部件来插入JavaScript代码到页面,调用web浏览器的DOM对象的相关操作来注入HTML,CSS和JavaScript来构建解决方案或应用程序。但是由于它对SharePoint构建HTML和CSS的结构方式上有很强的依赖,这种方式有很多的不足,甚至在很多情况下会阻止客户体验SharePoint Online的新功能。SPFx提供了一种更好的方式(尽管还没有完全替代脚本注入的方式),正如之前说的,它使用TypeScript来进行相当容易的从嵌入JavaScript脚本的过渡,到一个标准化的不会过时的方式。OfficeDev PnP上也有很多关于如何过渡的示例项目和指南。