如何开发Office平台上的扩展应用(又称为Office 2013 App,Office 2013 Add-Ins,Apps for Office,Office 应用)
Office 扩展应用(Office Apps,Office 2013 AddIns,Apps for Office)开发 —— 中文文档
继 VBA 和 VSTO 之后, 微软为 Office 平台开发者提供了新的扩展应用模型(App Model),基于此平台实现的 Office 扩展应用,官方称之为 Office Apps,也称为 Apps for Office 或 Office 2013 Add-Ins。相对于 VBA 和 VSTO 两种开发方式,新的 App Model 有如下几点不同:
- [传播与分享]VBA 和 VSTO 的开发者大多是为了提高工作效率,在 Office 中定制部门或公司内部的特定功能,开发出的脚本或者Assembly多在本部门或者公司内传播使用。App Model 允许开发者将应用发布在 Office 商店,使全球的 Office 用户可以使用它,并且允许开发者根据需求定义应用是否收费。这将大大地减少不同公司不同部门之间的重复投资,使“共享同一个应用完成同一类事情”变成可能。
- [学习门槛与技术延续性]VBA 和 VSTO 的开发者需要学习较多的入门知识,才能弄清两种开发模型与 Office 程序的交互流程,有较高的学习门槛。比如需要弄清 VBA 有哪些语法,可以做什么程度的事情。App Model 的开发更多地像是 Web 应用程序的开发,开发者可以将 Web 应用的开发体验无缝地迁移到 Office 扩展应用开发中。开发中唯一需要额外了解的是如何利用 App Model 提供的 JSOM API 与文档进行交互。
- [扩展程序的更新]基于 VBA 和 VSTO 的 Office 扩展应用程序(或者脚本),一般时通过本地拷贝的方式进行传播,它们运行在本地的 Office 软件并依赖于相应的平台支持(如 VSTO 依赖于 Office 软件提供的主互操作程序集,诸如Microsoft.Office.Interop.Excel.dll)。 然而当 Office 软件或一些平台支持不一致时,会出现同一个脚本或应用在不同的机器上表现不同,甚至是不支持。新的 App Model下开发的 Office App, 由于本质上是运行在 Office 平台(包括2013及以后的富客户端,Web 版, RT版,甚至是 Mac版 详情请点击此处)上嵌入的的 iframe 中,而 App 本身是被开发者 host 在远端的 Web 服务器上。 App 开发者可以根据情况快速的更新 App 的功能或者修正 bug。
- [开放的模型提供更多的可能性]新的 App Model 使得 Office 软件变的更加开放,开发者可以将 Office 平台强大的文档功能与开放的互联网技术连接在一起,开发者可以在 App 中做到 VBA 脚本,基于 VSTO 的程序做不到的事情。比如,越来越多的数据源提供给开发者 REST API, 其中 Office 365 REST API 就允许开发者通过一组 URL的方式访问用户的邮件,日历,SharePoint Online 和 OneDrive for Business 上的目录及文件等等,开发者可以在应用中利用灵活的 Web 开发技术简单高效的访问不同的数据源,达到自己的目的。
新 App 的名称
这里我们讲在新的 App Model 下开发的 App 翻译为“Office 扩展应用”,而在这之前,它还先后被称为 Office 2013 Apps,Apps for Office,Office 2013 Add-Ins(区别与使用 VSTO 构建的 Office Add-ins)。
在线文档地址
我在 GitHub 上创建了中文文档项目(https://github.com/mspwang/office-ex ),内容包括两部分:
- 通过 XML 文件生成 HTML 网页的 C# 程序;
- 由上述程序生成的 HTML 文档。 这些 HTML 文档将 host 在 http://simpeng.net/oai ,如有变动,将会在此更新。
文档的主题目录结构如下所示:
- Office Apps 简介
- 创建第一个 Office App —— "Hello World" 应用
- Office Apps 类型及平台支持
- Office Apps与VBA、VSTO的区别
- Office Apps的数据源
- 访问 Exchange Online 的邮件、日历、联系人
- 访问 SharePoint Online 和 OneDrive 商业版的目录和文件
- 访问 Azure AD 用户和用户组
- Office graph
【原创】文章地址:http://www.cnblogs.com/simpeng/p/4591765.html, 转载请注明出处,谢谢。
如何开发Office平台上的扩展应用(又称为Office 2013 App,Office 2013 Add-Ins,Apps for Office,Office 应用)的更多相关文章
- 使用Vitamio开发iOS平台上的万能播放器
迅速了解 Vitamio是干什么的?看官方怎么说: "Vitamio SDK for iOS是Yixia Ltd官方推出的 iOS 平台上使用的软件开发工具包(SDK),为iOS开发人员提供 ...
- VS2017开发Linux平台上的程序
重装系统后安装VS2015时卡住了,于是试试看VS2017怎样,听说还支持调Linux.发现VS2017跟12/13/15又有了新的飞跃,竟然支持模块化下载,对于我这种主要写C++简直是个福音,勾了L ...
- 开发快平台(M302I小e开发板系列教程)
开发快平台(M302I小e开发板系列教程) 开发块平台ESP8266模块相关理解 一. M302I小e开发板源码注释,源码基于:v1.4.0.8-u34.zip 1. user_main.c /*** ...
- JVM 平台上的各种语言的开发指南
JVM 平台上的各种语言的开发指南 为什么我们需要如此多的JVM语言? 在2013年你可以有50中JVM语言的选择来用于你的下一个项目.尽管你可以说出一大打的名字,你会准备为你的下一个项目选择一种新的 ...
- 如何用Baas快速在腾讯云上开发小程序-系列2:搭建Phabricator开发管理平台
版权声明:本文由贺嘉 原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/905333001487424158 来源:腾云阁 h ...
- 如何在微软Windows平台上打造出你的Linux开发环境(转载)
如何在微软Windows平台上打造出你的Linux开发环境 投递人 itwriter 发布于 2013-12-10 11:18 评论(1) 有348人阅读 原文链接 [收藏] « » 英文原文: ...
- 关于使用jqmobi前端框架在phonegap平台上开发时的日期时间选择控件
jqmobi(appframework)作为Intel的一款html5移动前端框架,以其自身轻量级和容易上手获得了很多移动HTML5开发者的喜爱,相对于jquerymobile,它可以说将jQuery ...
- phongap开发中安卓平台上如何调用第三方播放器来播放HLS视频
前文曾经讲了关于在安卓平台上利用phonegap开发播放HLS的解决方案,其实最好的方案就是自己针对HLS视频开发自己的播放器,但是开发播放器是一个浩大的工程,必须对原生安卓开发非常熟悉,并且对视频播 ...
- Linux平台上常用到的c语言开发程序
Linux操作系统上大部分应用程序都是基于C语言开发的.小编将简单介绍Linux平台上常用的C语言开发程序. 一.C程序的结构1.函数 必须有一个且只能有一个主函数main(),主函数的名为main. ...
随机推荐
- 【BZOJ 1012】 [JSOI2008]最大数maxnumber(线段树做法)
[题目链接]:http://www.lydsy.com/JudgeOnline/problem.php?id=1012 [题意] [题解] 预开一个20W长度的线段树; 这里a[1..20W]={0} ...
- Linux下新手怎样将VIM配置成C++编程环境(能够STL自己主动补全)
~ 弄拉老半天,最终弄的几乎相同啦,果然程序猿还是须要有点折腾精神啊. 首先你要安装vim,命令:sudo apt-get install vim vim它仅仅是一个编辑器,它不是IDE(比方code ...
- 几种tab切换尝试 原生js
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- 【t096】树的序号
Time Limit: 1 second Memory Limit: 128 MB [问题描述] 我们可以用下面的方案给二叉树标号: 空树的序号为0. 只有一个根结点的树序号为1. 所有包含m个结点的 ...
- 深入Lazy<T>——.NET Framework 4.0
.NET Framework 4 在一次次跳票中终于发布了,在一次偶然的机会,我看到了 Anytao 的 [你必须知道的.NET]第三十三回,深入.NET 4.0之,Lazy<T>点滴 . ...
- 报错:Unsupported major.minor version 52.0 (jar包对不同JDK版本的兼容性问题:)
Unsupported major.minor version 52.0 这类错误是因为Java版本不一致造成的,在高版本的JDK(1.8)环境中编译JAR包,然后JAR在低版本的JVM(1.6)中运 ...
- sql 连接查询
什么是连接查询呢 概念:根据两个表或多个表的列之间的关系,从这些表中查询数据. 目的:实现多个表查询操作. 分类 首先划分一下,连接分为三种:内连接.外连接.交叉连接 内连接(INNER JOIN): ...
- jQuery插件实现的页面功能介绍引导页效果
新产品上线或是改版升级,我们会在用户第一次使用产品时建立一个使用向导,引导用户如何使用产品,如使用演示的方式逐一介绍界面上的功能模块,从而提升了用户体验和产品的亲和力. Helloweba.com之前 ...
- ubuntu grub 操作
系统开机时,按住 shift 进入 grub 1. 什么是 Grub GNU GRUB(GRand Unified Bootloader 简称"GRUB")是一个来自GNU项目的多 ...
- 回归(regression)的理解(regressor,回归子)
1. 基本概念 回归(regression)是监督学习(given {(xi,yi)})的一个重要分类.回归用于预测输入变量(自变量,Xi)与输出变量(因变量,Yi) 之间的关系,特定是当输入变量的值 ...