背景
对微软OFFICE开发技术有所了解的群体,想必也略为知道一点其新的WebAddins插件开发的形式。在OFFICE2013开始,有了OFFICE的应用商店,可以在其中下载安装新的插件。
对应的入口有两处,分别为【插入】和【开发工具】先项卡。
这种插件区别于传统的【普通加载项】和【COM加载项】,是用网页JS技术开发的。和当前的WPSJS技术开发类似。
笔者搭建国内WPSJS民间社区,当然是引导大家去学习WPSJS,而非微软的WebAddins,在此简单给大家一些理由,大家自行评估再作选择,纯属个人见解,欢迎发表其他见解,多多讨论。
一、微软WebAddins学习门槛更高
上一篇里提到,微软WebAddins是比WPSJS更早推出的,同时社区里也有了部分的学习资源,为何这里又再一次否定,将其定位为学习门槛更高?
任何东西都是对比出来的,相对WPSJS,确实会更高的门槛,下面简单罗列一下:
1. 当下微软WebAddins国内社区几乎为零
可能是笔者自身的局限,对一些企业级的开发没有关注到,个人市场里,确实没有什么气候,特别是传统OFFICE开发群体中,普遍不看好,没动力去学习。
当然WPSJS,也是一直被开发群体诟病的,不过那可能是过去时,在未来,WPS官方有可能大力增强WPSJS的文档投入和社区支持。毕竟这个技术不依赖于微软,纯自家的,并且JS技术也是开源的,不同于VBA有版权纠纷等问题不敢大手脚去宣传。
笔者有理由相信接地气的WPS,未来社区发展会比微软要强得多。
2.微软WebAddins对旧技术的撇弃度更高,难以复用旧技术
当然,这个也是个人见解,在OFFICE对象模型上,微软和WPS应该都做了大量的兼容工作,让传统的VBA对象模型在新的JS环境下在定义和语法使用习惯上更兼容。
但起码一点,在WPSJS上,其复用了旧的功能区技术Ribbon,而微软是引出另外一套新的技术方案,可能是大同小异,但没有深入研究到,起码笔者当下是不会的。
3. 插件部署层面,微软WebAddins更复杂
曾经笔者是有过一阵热情去学习微软的WebAddins的,但一碰到插件部署分发问题,就再次打退堂鼓。微软的WebAddins,特别是面向个人市场,只能发布到应用商店上(比较恶心的是应用商店目前只有国际版,没有专属的国内版,网速被墙得厉害,而且申请加入应用商店手续非常复杂,要国际信用卡,还要交钱,当下笔者是没申请下来的状态),其他途径都难以有可行性方案。
可能在企业市场上会好一点,可以集中部署。但传统OFFICE开发者相信不买单,想接触企业级定制开发,没那么容易。
相对来说,WPSJS的插件部署,就完善得多,前天发文时,也简单做了一个插件的安装部署程序,后续可以将其作成通用化程序,让部署分发不再难。
当然和WPS官方沟通过,他们手上有更便捷的方式,当下笔者未完全学会,暂时不能作更多分享,总之,WPSJS的分发,必然比微软WebAddins要容易得多。
4.微软WebAddins没有类似VBA那样的录制宏功能辅助生成JS代码
有对比才有差距,这一点WPS反而领先一步了,最新的WPS版本已经支持类似以前的VBA录制宏的效果,通过录制js宏,快速生成js代码(初测不算太彻底,仍然有些操作录制不到如绘制图表,相信会越来越完善,方向上是对的)。
有了录制js宏,在WPS上,有可能就类似VBA学习一样,录制宏为主,辅助自行修改下代码,即可完成自己需要的最终代码,门槛大幅度降底。
二、微软WebAddins部署过于死板,相反WPS就灵活得多
在上述门槛问题第3点,也已经说到一些部署问题,技术层面是比较难掌握,同样地,落地层面也存在很大的短板。微软的WebAddins,可能更佳的场景是在OFFICE365云端环境使用,特别是结合企业级OneDriver、Exchange等服务。
而我们普通开发者,根本不会在意这些,更多的是对个人用户的当下的本地环境进行操作。所以微软WebAddins是不可能做到离线使用这一点,也拦阻了一大群用户使用。
相对来说WPSJS,竟然可以有离线版的方案,就好得多,具体细节暂时也没摸得太通透,看其文档提到可以在内网离线情况下使用的。
在最新的WPS版本中,甚至支持使用js宏来操作OFFICE,类似VBA操作OFFICE那样,最终js宏代码保存到xlsm文件里,即可使用,这个更为彻底的离线方案,无需安装插件,一份js宏代码跟着文件走,属于文档级的宏代码,并且可以跨平台使用,这个真的非常期待,笔者也会持续关注它。
三、微软WebAddins有沉重的历史IE包袱
既然是用前端JS技术开发和展示,微软的WebAddins就有天然的历史最大包袱。久经前端诟病的IE浏览器,竟然是微软OFFICE的展示组件。这一点十分硬伤,试想网页还要运行在IE上,是一种多大的痛苦。
万不得已,绝对是远离IE,越远越好。这一点WPS内置谷歌浏览器内核这一点,压倒性胜过微软WebAddins,笔者就因为这一点,就可以作一个“正确的选择”:拥抱WPSJS。
四、微软WebAddins的巨大OFFICE版本包袱
前面提到,微软WebAddins最理想的环境是OFFICE365,并且是企业应用场景,和其他微软系服务紧密联系。当然这些的代价就是合规化,正版化为前提。
普通开发者所面向的个人庞大市场,上述要素都很难以满足,在正版软件当中,大量的OFFICE2010群体无法享用到WebAddins,就算是OFFICE2013/2016,因为其新版本才支持的特性,在这些旧版本中,永远无法享用。一个正版软件如此高昂,总不能让企业主动不动就升级。
微软OFFICE没有升级一回事,只有重新购买,不用的旧版本,就永远无效,需要花全新的价格购买新版本,对企业主来说,旧版本够用,就没必要花钱买新版本了。
相反WPS是个人免费可用,旧版本不支持,直接下载新版本就完事。个人操作难度极低,无需到处找破解、激活码各种坑,官网下载速度又快又安全,安装包也不大,200M以内。