如何开发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. ...
随机推荐
- MySQL实现类似Oracle中的nextval和currval
CREATE TABLE `sequence` ( `seq_name` varchar(50) NOT NULL, `current_val` int(11) NOT NULL, `incremen ...
- Linux常用 bash
学会Linux常用 bash命令 目录 基本操作1.1. 文件操作1.2. 文本操作1.3. 目录操作1.4. SSH, 系统信息 & 网络操作 基本 Shell 编程2.1. 变量2.2. ...
- Android开发入门——Andoird Studio的安装与配置
Android的开发离不开Java,仍然需要对Java进行安装与配置,所以我写了上一篇文章,Java的安装与配置. 开始进行Android Studio的安装与配置. 一.进行配置Java,如果电脑里 ...
- Parallel.For
Parallel.For 你可能忽视的一个非常实用的重载方法 说起Parallel.For大家都不会陌生,很简单,不就是一个提供并行功能的for循环吗? 或许大家平时使用到的差不多就是其中最简单 ...
- [Scikit-Learn] - 数据预处理 - 缺失值(Missing Value)处理
reference : http://www.cnblogs.com/chaosimple/p/4153158.html 关于缺失值(missing value)的处理 在sklearn的prepro ...
- Delphi 禁用x64位系统文件重定向功能
在X64系统里面,一些特殊的目录和特殊的注册表键被分为2个独立的部分.对于文件系统来说, %systemroot%\system32 目录被保留给64位文件使用,而32位文件会被重定向到%s ...
- Git学习笔记(两)
删除文件 假设需要从Git删除文件,我们必须从删除列表中的跟踪文件(从临时区域中删除).然后提交.可以使用git rm工作订单完成.联合司令部从工作区删除指定的文件.以后就不会出如今未跟踪文件清单中. ...
- Ubuntu 14.04 64位字体美化(使用黑文泉驿)
Ubuntu 14.04安装和升级后,,斜体字体变得很难看,昨天,我得到一个晚上,最终,管理一个线索,这里整洁. 在线调研后,.一致的观点是,,使用开源字体库文泉驿理想的黑色字体效果,效果甚至没有丢失 ...
- 关于hibernate组件配置
建立关系数据模型的一个重要原则是在不会导致数据冗余的前提下,尽可能减少数据库表的数目及表之间的外键参照关系.以员工信息为例,员工信息中有员工的家庭地址信息,如果把地址信息单独放在一张表中,然后建立员工 ...
- opengl实现直线扫描算法和区域填充算法
总体介绍 1. 使用线性扫描算法画一条线,线性离散点 2. 利用区域填充算法画多边形区域,区域离散的点 开发环境VS2012+OpenGL 开发平台 Intel core i5,Intel H ...