06.14 微软辟谣:Office 365 要用 JavaScript 重写是假的!

点击上方“CSDN”,选择关注

关键时刻,第一时间送达!

这两天闹得挺大的微软重写 Office 365 事件惨遭打脸了。

6 月 13 日,微软技术项目经理(Technical Program Manager ,TPM)、Webpack 核心团队成员 Sean Thomas Larkin 发了条 Twitter,透露了 Office 365 正在用 JavaScript 重写的消息,并引起了技术圈的广泛讨论。

微软辟谣:Office 365 要用 JavaScript 重写是假的!

Office 365 是微软在 2011 年 6 月 28 日正式发布,并于 2013 年 1 月 29 日推出个人版本的 Office 365。Office 365 是一种订阅式的跨平台办公服务,基于云平台提供多种服务,并包括最新版的 Office 套件,支持在多个设备上安装 Office 应用。在今年的微软Build 2018大会上,微软还宣布未来版本的 Excel 上将支持自定义的 JavaScript。

而这条关于“Office 365 重写”的 Twitter 则源于一次简短的编程语言口水之争。

此前,一个标注为 C++ 语言全国委员会主席的人 J. Daniel Garcia 在 Twitter 中发文指责脚本语言,他说脚本语言作为使用量最大的 CS 编程语言是一种错误,它无法编写操作系统、数据库管理系统,甚至 Office 套件

Scripting languages as first programming language for CS bachelors are WRONG. You are not able to write an OS, a DBMS, or even an Office suite with an>

但是此言论发布后不久,作为开发者布道师、同时也是 JavaScript 拥趸的 Sean 直接“怼”了回去。

Sean 回复 Twitter 表示,Office 365 套件的所有应用都被重写了,并且工作已进入尾声,而完成这项工作使用的正是那个弱小的脚本语言 JavaScript。

微软辟谣:Office 365 要用 JavaScript 重写是假的!

不过 Sean 没有公布过多细节。他表示这些 Office 应用不是基于 Electron 开发的,而是使用一整套编译工具将同一份 JavaScript 代码编译成适用于不同平台的原生代码,包括 Web、Android、iOS、macOS、UWP 和 WIN32,其中只有 WIN32 是 Electron 应用。

网友根据上边透露的相关技术栈,询问 Sean 是如何编译到 macOS 的,并且也有人问那为什么不连 Linux 平台一起做了?Sean 回复说不确定,但是他希望能出个 Linux 桌面 MS Office 套装。

但是 Sean 的此番言论却在业界引起了轩然大波。很多人,尤其是 C++ 工程师们质疑,难道微软要弃 C++/C# 全面转向 JS?Skype 的工程师们也对此十分不满,在看到 Sean 居然放言用 React Native 把 JS 编译成本地代码后,狠狠地把 Sean 这家伙批了一顿,后者也不得不在 Reddit 上开贴澄清。

今天早上,Sean 在 Reddit 上发帖相对完整地介绍了一番,郑重表示“所有代码重写”是有歧义的:

微软辟谣:Office 365 要用 JavaScript 重写是假的!

他澄清到,Office 365 的 UI 很多,但绝对不是全部都使用了 React Native (Windows)进行构建,API 和服务仍使用 C++ 或者 C#,并没有完全切换成 JavaScript/TypeScript。

Microsoft Teams 和 Visual Studio Code 应用都是由 TypeScript 开发,编译成 JavaScript,并且基于 Electron 实现跨平台应用。

微软并没有抛弃 C++、C# 等优秀语言、API 和工具。EdgeHTML 基本是由 C++ 开发,但 DevTools 是由 JavaScript 写成,利用比如 React 和 Webpack 来开发 UI。

Office 365 大量 UI(但不是全部)是基于 React Native(Windows),API 和服务仍会由 C++、C# 等语言来开发,并不是所有都是 JavaScript/TypeScript 开发。

React Native 编译 JavaScript 至原生代码这个说法是错的。大部分原生的是 API 交互和原生模块,这些可以通过 JavaScript 通讯。WebViews 驱动了 UI 渲染(React)。

事实上,Office 365 作为微软的订阅服务,包括了全平台的 Office 应用、Office Online、OneDrive、SharePoint、Teams 等其他服务,每个产品的技术栈其实都有相同和不同的地方。但是换言之,虽然 Word 不可能完全用 JS 来写,不过在未来开放的跨平台世界中,很多新的程序或许都需要从头再来,似乎倒戈 JS 阵营也不是不可能。

总而言之,Sean 引起的这次风波最终还是尴尬收场了。作为项目经理,大概是要被拉去“祭天”了吧?

此外,你觉得脚本语言弱小吗?未来会不会逆袭呢?


分享到:


相關文章: