一文看尽 Build 2019 与 I/O 2019

  

上周微软 Build 2019 大会与谷歌 I/O 2019 大会相继举办,两场开发者大会让人热血沸腾,期间两位巨头宣布了各种劲爆的消息,OSCHINA 对其中一些与开发者特别相关的内容进行了报导。

两场会议都已经落幕,这里汇总一下我们报导过的内容,让你一文了解微软与谷歌开发生态的最新消息。可以点击每篇文章的标题跳转原文阅读更多内容

新推出的 WSL 2 使用一个全新的体系结构,使用真正的 Linux 内核,可以在 Windows 上运行 ELF64 Linux 二进制文件,新的架构改变了这些 Linux 二进制文件与 Windows 和计算机硬件的交互方式,但仍提供与 WSL 1 相同的用户体验。单个 Linux 发行版既可以作为 WSL 1 发行版运行,也可以作为 WSL 2 发行版运行,可以随时升级或降级,并且可以并行运行 WSL 1 和 WSL 2 发行版。

在很长一段时间里,Flutter 团队的使命是为开发 iOS 和 Android 移动应用程序提供最优秀的框架。不过在去年发布 Flutter 1.0 时,谷歌就已尝试将 Flutter 扩展到其他平台,并在内部启动了一个代号为“Hummingbird”的探索性项目 —— 使用 Dart 构建 Web 框架,以评估通过移植 Flutter 引擎支持基于标准 Web 技术的优势。

“我们宣布,我们正在采取的下一个重大步骤是 Kotlin-first,Android 开发将越来越多地以 Kotlin 为主”,Chet 表示:“许多新的 Jetpack API 和功能将首先在 Kotlin 中提供。如果你要开始一个新项目,你应该使用 Kotlin 编写,用 Kotlin 可以大量减少代码量,同时也减轻了测试和维护的负担。”

今天的 JavaScript 已经无处不在了,以传统的方式使用 JavaScript,开发者可以在各种 Web 浏览器中创建 Web 应用;通过 Node.js,可以开发命令行工具与服务器等应用;而在桌面领域,通过基于 JavaScript 与 HTML、CSS 等 Web 技术的 Electron 框架可以构建跨平台桌面应用;React Native 则可以用来开发跨平台移动应用;此外,JavaScript 甚至可以在 IoT 设备上运行。

在 Chromebook 上的 Linux 并非以传统的双系统模式执行,用户可同时执行 Chrome OS 及 Linux 两个平台,系统间切换很方便。例如,用户可以通过 Chrome OS 文件管理器选择文档文件,使用 LibreOffice 打开它 —— 这个过程甚至无需启动 Linux 会话。事实上,最新版的 canary Chrome OS 已经支持用文件管理器在 Chrome OS、Google Drive、Linux 和 Android 上对文件进行管理和迁移。

这里有人可能会问,反正 Linux 内核是开源的,既然微软自己做得不好,为什么不直接把现成的拿过来用呢?微软当然不傻,之所以选择自研正是为了避免使用 Linux 内核的代码,因为 Linux 内核使用的 GPLv2 许可证具有“传染性”,这可能会迫使微软开源 WSL,甚至 Windows 系统的部分代码。虽然微软爱开源,但也怕爱过了头。

Java 与 Kotlin 具有极高的互操作性,所以两者完全可以共存于同一个项目中。“看看 Android Studio,它有几十万行代码,其中大约有 10% 的 Kotlin 代码。我们所做的只是使用 Kotlin 编写新功能。Kotlin 与 Java 具有很好的互操作性,可以在 Kotlin 中编写单个类,其余部分使用 Java 编写,或者使用 Kotlin 编写 99% 的代码,而剩下的一点点用 Java 来写。”

对于这个神秘的操作系统,大家最好奇的还是:Fuchsia OS 是否将取代 Android 或 Chrome OS?因为外媒彭博社就曾报道过,谷歌悄然开发的操作系统 Fuchsia 可能会在 5 年内取代 Android 和 Chrome OS。虽然后来有谷歌发言人出来辟谣并声明 Fuchsia 只是谷歌众多实验性的开源项目之一,但拒绝进一步置评。

PowerToys 是微软开发者开发的免费实用工具集,可以用于高级用户调整和简化 Windows 操作,以提高效率。其最早出现在 Windows 95 中,但并不受微软官方支持,对其测试也不够彻底。到了 Windows XP 时代,所有进入 Windows 的应用都需要进行安全审查,于是 PowerToys 便消失了。

正值 Chrome 诞生第 10 年、谷歌诞生 20 周年,同时也是万维网 30 周岁,演讲就在这样宏大的背景下展开。“万维网的诞生拉近了人们的距离,我们可以自由地联系,一切只需要一个链接。而 Web 的未来需要不断改进,以满足我们不断变化的需求。这就是我们开源 Chromium 项目的原因。”分享者以 Chrome 出现的意义开场, 全场分享了当前谷歌通过 Chrome 改善 Web 平台的三大目标。

Jetpack Compose 是一个非捆绑 UI 工具包,它结合了反应式编程模型和 Kotlin 编程语言的简洁性和易用性,旨在简化 UI 开发。Jetpack Compose 包含两个主要组件:

- Compose UI 库,其中包含核心 UI 工具包,包括布局、输入、文本、动画、样式、小部件与图形。

- Compose 编译器,一个自定义的 Kotlin 编译器插件,它采用可组合功能,并自动更新 UI 层次结构。

首先,Fluid Framework 以目前业内无法企及的速度和规模支持 Web 和文档内容多人共同创作。

其次,它提供了一个组件化的文档模型,允许作者将内容解构为协作构建块,跨应用程序使用它们,并将它们整合到新的、更灵活的文档中。

此外,Fluid Framework 支持 Cortana 这样的智能工具与人类协作,可以利用其智能化翻译文本、从 Web 上网罗内容、给出编辑建议、执行合规性检查等。

此次微软开源的 React Native for Windows 在 React Native 的基础上添加了对 Windows 10 SDK 的支持,允许开发者为 Windows 10 支持的所有设备构建应用,包括 PC、平板电脑、PC 平板二合一设备、Xbox 与混合现实设备等。

与 ML.NET 1.0 同时而来的还有新添加的几项预览功能,如自动机器学习 AutoML 的强大功能与 ML.NET CLI、ML.NET Model Builder 等新工具,这意味着现在只需点击右键就可以为应用添加机器学习模型。

Visual Studio Online 基于 Visual Studio Code,所以你能在浏览器中体验到许多在 VS Code 中的强大功能,包括各类的 VS Code 插件。同时,Visual Studio Online 支持打开 VS Code 和 VS IDE 的项目。此外,Visual Studio Online 还内置了 Visual Studio IntelliCode 和 Live Share,使得开发如虎添翼。

.NET Core 3.0 之后的下一个版本将是 .NET 5,整合 .NET Core 与 .NET Framework,未来只有一个 .NET 5,可以开发 Windows、Linux、macOS、iOS、Android、tvOS、watchOS 与 WebAssembly 等平台应用。

猜你喜欢

转载自www.oschina.net/news/106728/what-s-new-in-build19-and-io19