QCon 演讲火热征集中,快来分享技术实践与洞见! 了解详情
写点什么

取代 Android?Fuchsia 要的是统一操作系统平台

  • 2019-05-15
  • 本文字数:3125 字

    阅读完需:约 10 分钟

取代Android?Fuchsia要的是统一操作系统平台

Fuchsia——犹抱琵琶半遮面

Android 和 Chrome OS 可能是谷歌最知名的 OS 项目,但实际上这两年曝光量逐渐增大的是谷歌正在开发的第三个操作系统——Fuchsia。


我们对 Fuchsia 的了解是:它是一个开源项目,类似于 AOSP(Android 开放源代码项目),但 Fuchsia 可以运行各种设备,从智能家居设备到笔记本电脑和手机等等。它也被认为是建立在一个谷歌构建的名为“zircon”的全新内核之上,而不是构成 Android 和 Chrome 操作系统基础的 Linux 内核。


除此之外,我们对 Fuchsia 的所知甚少,只在两年前看到过 Fuchsia 的 UI 界面。



Fuchsia 与我们见过的其他操作系统完全不同,包括 Android。从诞生之日起,Fuchsia 就笼罩在一团疑云之中,我们不知道它的用途是什么,是否为了取代 Android 而生,亦或只是谷歌的一次玩票实验。


彭博社曾报导称:谷歌新研发的 Fuchsia OS 可能会在 5 年内取代 Android 和 Chrome OS。报道指出,这两年谷歌一直在加大投入研发名为“Fuchsia”的项目,目前参与研发的工程师已超 100 名。


Fuchsia 团队在讨论一个野心的计划:打造一个统一的操作系统,让其既可以适用于 Google 内部的所有设备如 Pixel 手机和智能音响,也能用在搭载 Android 或 Chrome OS 的第三方设备上。对此,Google 内部的工程师的计划是:在 3 年内,让 Fuchsia OS 应用在音响等智能家具设备中,然后扩展到 PC 或更大的设备上,并计划在未来 5 年内取代 Android。


此报导一出,谷歌发言人火速辟谣:他表示:“Fuchsia 是谷歌众多实验性开源项目之一,我们目前还没有提供该项目的其他详细信息,2015 年,Lockheimer(Android/Chrome 负责人)曾说过公司未计划让 Android 取代 Chrome,现在这个立场仍然适用”,但他拒绝进一步置评。


但搜索巨人的这一辟谣并未消除坊间关于 Fuchsia 的疑云,各种不着边际的猜测依旧层出不穷。有人甚至认为,Fuchsia 项目可能是谷歌的一个“保住高级工程师”的项目,目的是想让谷歌的人才保持忙碌的状态,避免他们跳槽。


在 Windows、iOS、Linux 等成熟操作系统瓜分完市场的今天,为什么谷歌要大费周章地去开发一个全新的操作系统?仅仅只是因为这是你没有玩过的全新版本?

操作系统以外的故事

在聊谷歌开发 Fuchsia 系统的故事以前,我们先来回顾一下两个具有强关联性的事件。


2010 年,谷歌惹上了一桩官司,这场官司旷日持久地打了将近十年,现在已经上诉到了美国联邦最高法院做最终裁决,结局未知。是的,你没有猜错,这场官司就是版权史上赫赫有名的“谷歌Java侵权案”


事件起因发生在 2010 年,作为 Java 拥有者的 Oracle 认为,谷歌在 Android 系统上无偿使用了 37 个 Java APIs,这侵犯了他们的专利,而在 Android 中还有 9 行代码抄袭了 Java,这侵犯了他们的版权。


那 9 行代码造成抄袭的缘由据说是因为当时 Google 的一位工程师在为 Android 项目工作的同时,又为 Sun 公司的 OpenJDK 效力,后来,该工程师直接从 OpenJDK 中复制了 9 行代码到 Android 中,由于 Google 没有得到 Sun 公司的授权,所以 Oracle 收购 Sun 之后,Java 易主,这就相当于侵犯了 Oracle 的版权。


这一场官司从 2010 年打到了 2019 年,期间判决结果数次反复,既有谷歌胜诉的时候,也有 Oracle 胜诉的时候。最近一场裁决结果是认定谷歌侵权,需要赔偿 Oracle 88 亿美元。今年 1 月份,谷歌不服判决,选择了上诉美国最高法院,其判决结果将为此事件做最终裁决。


在此之后,谷歌开始了对 Kotlin 语言的大力投入,其支持力度之大甚至超过自己的亲儿子 Go 语言。2017 年,Google I/O 大会上宣布 Kotlin 成为 Android 开发的一级语言。今年则更进一步,官宣 Kotlin 成为 Android 开发的首选语言。Java 失宠了。此为其一。


2018 年初,谷歌发布了 Flutter 的第一个 Beta 版本,同年 12 月,Flutter 1.0版本正式发布。Flutter 是谷歌推出的 iOS、Android 平台的高质量原生应用的全新移动开发 SDK,用 Dart 语言编写。Dart 是谷歌开发的脚本语言,现在已经用于 Google 内部的项目中,而 Flutter 是 Dart 中构建跨平台、高性能移动应用程序的工具。


虽然按照谷歌的说法,Flutter 的推出只是为了与 Android 原生技术竞争,没有别的目的。但是有意思的是,Flutter 并没有在底层使用 Java API,这就有种此地无银三百两的感觉了。毕竟,Fuchsia 是支持 Flutter 和 Dart 的。此为其二。


虽然仅从这两个事件并不能得出谷歌开发 Fuchsia 操作系统的目的是为了取代 Android,但不难看出的是,谷歌对于 Android 系统背后的 Java 版权问题做了深切的考量,在新框架、新语言乃至新系统的技术选型上都规避了可能存在的 Java 版权纠纷。


Fuchsia 会取代 Android 吗?未必。就像 Kotlin 虽然正式上位,但 Java 光是凭借其庞大的生态,就不太可能被取而代之。事实上,谷歌要砍掉 Android 并不容易,因为 Android 有数十个硬件合作伙伴,在全世界范围内有数百万个 Android 开发者,谷歌不能指望这个庞大的生态系统能够快速替换成 Fuchsia 生态,再者,谷歌每年在移动广告上的收入就有数十亿美元。所以谷歌对 Android 的改革计划会保持审慎的态度。


但 Fuchsia 的“野心”,其实并不在取代 Android 上。

Fuchsia——单一操作系统的野望

“我们正在研究操作系统的新面貌。所以我知道,人们会非常兴奋地说,‘哦,这是新的安卓系统’,或者‘这是新的 Chrome 操作系统’,”Lockheimer 说。“但 Fuchsia 真的与此无关。Fuchsia 只是致力于推动操作系统的发展,并将我们从 Fuchsia 中学到的东西融入到其他产品中。”


他说,Fuchsia 作为实验性操作系统的目的还在于尝试针对大小迥异的设备进行优化,暗示其可能设计用于智能家居设备,可穿戴设备,甚至可能是增强或虚拟现实设备。 “你知道 Android 在手机上运行得非常好,并且你知道在 Chrome OS 的环境中它是应用程序的运行时。但 Fuchsia 也可能针对某些其他形状因素进行优化。所以我们正在试验。“


Lockheimer 在回答的最后变得有些神秘,他接着说,“想想专用设备……现在,每个人都认为 Fuchsia 代表手机。但如果它能用于其他事情呢?”


在 Google I/O 举行的一次单独的 Android 炉边聊天中,Lockheimer 提供了一些额外的细节,尽管他的细节仍然很神秘。


“(Fuchsia)不仅仅是手机和个人电脑。在【物联网】的世界中,需要操作系统和新运行时等的设备越来越多。我认为这对各有所长及特性的多重操作系统而言是有共存空间的。Fuchsia 就是其中之一,所以请继续关注。”


话说到这里差不多就能猜出一些门道了:Fuchsia 是一个你没有玩过的全新版本,采用了最新的架构,可以运行在一切你所熟知的终端设备上,PC、手机、平板、智能家居、AR/VR 设备等等。它的目的不在于成为另一个 Android 系统,而在于打造一个全平台的操作系统。


事实上,一个操作系统联结多个设备(智能手机、笔记本、物联网设备、可穿戴智能设备)的概念,已经是不可抗拒的潮流了。看看微软,用 Midori(微软开发的模块化操作系统)和 Windows 追逐着单一操作系统的梦想。再看看苹果正在搭建的 macOS 和 iOS 之间的桥梁,如果它推出同时支持 Mac、iPhone、iWatch、Apple TV 的单一操作系统,也不用感到惊讶。这是大势所趋。


彭博社报导称谷歌的宏伟计划是用 5 年时间来推出一个统治其生态系统的操作系统。这或许是 Fuchsia 的野心所在,却也面临着重重困难。作为一个目前由工程师主导,高管参与度不高的项目,似乎无法断言其成败与否。


万物基于 Fuchsia?或者,谷歌:我们就是做着玩玩。

番外:诛心之论

Linux 创始人 Linus 有一次曾在 Linux 内核的邮件组里痛骂谷歌的工程师不守规矩,称自己不会接受他们的 patch。事实上 Android 受限于 GPL 协议的 Linux,谷歌自己无法完全掌控,也许,这也是他们需要一个自己能完全掌握的操作系统内核的原因?


2019-05-15 17:0713687
用户头像
小智 让所有人认同的文字称不上表达

发布了 408 篇内容, 共 392.4 次阅读, 收获喜欢 1983 次。

关注

评论 1 条评论

发布
用户头像
又要用Linux内核,又嫌GPL碍事,当初怎么不学苹果用BSD呢
2019-05-16 19:08
回复
没有更多了
发现更多内容

翟佳:从技术工程师到「网红」开源创业者

腾源会

开源 开源公司

【OH干货】如何向OpenHarmony社区提交代码

拓维信息

OpenHarmony

java培训:JVM 锁的优化和逃逸分析

@零度

JVM JAVA开发

启发式智能任务调度的探索

鲸品堂

算法 函数 任务调度

HTTP缓存协议实战

vivo互联网技术

缓存 浏览器 服务器 HTTP

mark: centos 镜像下载地址

webrtc developer

Linux centos

如何通过测试用例保障交付质量

阿里云云效

阿里云 云原生 开发测试 测试用例 研发

开源demo| 你画我猜——让你的生活更有趣

anyRTC开发者

音视频 互动白板 开源demo 你画我猜 社交娱乐

2022 年值得关注的 十大 DevOps 最佳实践

飞算JavaAI开发助手

3种基于深度学习的有监督关系抽取方法

华为云开发者联盟

文本检测 区域重组 文本检测算法 PixelLink TextSnake

微服务从代码到k8s部署应有尽有系列(二、网关)

万俊峰Kevin

微服务 RPC web开发 go-zero Go 语言

大数据培训:Flink全链路延迟的测量方式及原理

@零度

flink 大数据开发

前端技术分享:页面性能优化问题复盘

有道技术团队

前端

与Karmada一起航行:海量节点的多集群管理

华为云原生团队

容器 云原生 k8s k8s多集群管理 多云管理

移动开发平台WorkPlus | 快速实现企业移动应用集成化

BeeWorks

X6在数栈指标管理中的应用

袋鼠云数栈

Java 大数据 前端

网络编程懒人入门(十四):到底什么是Socket?一文即懂!

JackJiang

TCP 网络编程 socket IM 即时通讯IM

文本检测算法新思路:基于区域重组的文本检测

华为云开发者联盟

文本检测 区域重组 文本检测算法 PixelLink TextSnake

运维安全是指什么?如何做好运维安全?

行云管家

运维 网络安全 IT运维 运维安全

云原生微服务技术趋势解读

阿里巴巴中间件

阿里云 微服务 云原生 中间件

Java&Go高性能队列之channel性能测试

FunTester

Go 性能测试 队列 channel FunTester

CRM重构项目

Mars

如何选择充血模型和贫血模型

蜜糖的代码注释

DDD 领域建模 2月月更

web前端培训: Vue3面试考点分享

@零度

前端开发 Vue3

Android 12 “致命”崩溃解决之路

阿里巴巴终端技术

android 崩溃分析 客户端 UC内核

后端新手如何从 0 到 1 打造一款 Apache APISIX 插件

API7.ai 技术团队

后端 插件 Apache APISIX APISIX 网关

【C语言】一篇速通常量变量

謓泽

编程语言 C语言 2月月更 常量变量

第十二节:Springboot多环境配置

入门小站

spring-boot

【高并发】深入解析Callable接口

冰河

Java 并发编程 多线程 高并发 异步编程

国内首款! 亚信科技数据库AntDB亮相中国信通院性能测试工具发布会

亚信AntDB数据库

在线YAML转JSON工具

入门小站

工具

取代Android?Fuchsia要的是统一操作系统平台_语言 & 开发_小智_InfoQ精选文章