如何开发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. ...
随机推荐
- HDU 1081 To The Max - 最大字段和
传送门 题目大意: 求一个矩阵的最大子矩阵和. 题目分析: 刚开始考虑了一下dp方程的递推,但是不好转.简便的方法是预处理sum[i][j]表示第i行的前j个元素之和,之后\(n^3\)枚举子矩阵就可 ...
- 如何在CSDN博客自定义栏目中添加“给我写信”
在"自定义栏目"中添加"连接"(将自己的微博,QQ空间和CSDN博客关联起来)很多人都做过.但是添加"给我写信"这个功能,用的好像不太多.此 ...
- 【u235】背单词
Time Limit: 1 second Memory Limit: 128 MB [问题描述] 英语四级考试临近了,小Y却发现他已经把以前学的单词几乎忘光了.好在现在离考试还有一段时间,小Y决定从现 ...
- 【codeforces 785B】Anton and Classes
[题目链接]:http://codeforces.com/contest/785/problem/B [题意] 给你两个时间各自能够在哪些时间段去完成; 让你选择两个时间段来完成这两件事情; 要求两段 ...
- 配置cordova的android开发环境(无android studio)
原文:配置cordova的android开发环境(无android studio) 趁元旦放假想试一下cordova,不想安装庞大的android studio,所以想最小化安装,居然花了一整天的时间 ...
- Cordova之打包签名apk
首先是关于apk签名,Android程序的安装是以包名(package name)进行区分的,就是同样的包名会被认作是同一个程序.这样就可以进行升级.替换.但是包名是一个可以被查看的字符串,这样就可能 ...
- 解决android模拟器无法上网问题
1. 将 android的tool增加到,windows 环境变量 path中, D:\Android\android-sdk_r3-windows\android-sdk-windows\tool ...
- java多线程模拟生产者消费者问题,公司面试常常问的题。。。
package com.cn.test3; //java多线程模拟生产者消费者问题 //ProducerConsumer是主类,Producer生产者,Consumer消费者,Product产品 // ...
- 如何获得 Qt窗口部件在主窗口中的位置--确定鼠标是否在某一控件上与在控件上的位置
用Qt Creator 设计程序时,最方便的就是ui设计器,可以很容易的得到想要的布局. 但是这样自动布局带来的后果是很难知道窗口中某一部件在主窗口中的相对位置. 在处理子窗口鼠标事件时变的很麻烦.主 ...
- boost::bind应用示例
// testBind.cpp : Defines the entry point for the console application. // #include "stdafx.h&qu ...