微软辟谣: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 scripting language.

但是此言论发布后不久,作为开发者布道师、同时也是 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 引起的这次风波最终还是尴尬收场了。作为项目经理,大概是要被拉去“祭天”了吧?此外,你觉得脚本语言弱小吗?未来会不会逆袭呢?

本文经授权转自 OSC

相关推荐