我在以前发布过的 《Fuchsia 是什么?Fuchsia OS 的将来如何?》 中介绍过 Fuchsia
的大致状况,也收到了你们对于 Fuchsia
OS 褒贬不一的评价,好比:编程
也有不看好将来的评论,好比:异步
其实这些评价都很正常,毕竟一个系统的成功,除了实力以外还受到“天时地利”的影响,可是这不影响咱们对它的关注,而 Fuchsia
的 Fuchsia Programming Language Policy 也能够帮助咱们从另外一个角度去认识 Fuchsia
的策略与定位。async
Fuchsia
目前主要支持的语言政策有 C
、C++
、Dart
、Rust
、Go
、Python
,可是实质上主要的只有 C
、C++
、Dart
和 Rust
,其中:异步编程
Fuchsia
中C
库是根据C11
标准编写的(有少许例外,例如unix signal support
,与咱们的C
库ABI
并不特别相关),而且C99
不会是兼容目标。工具
Fuchsia
源码中被普遍使用。
Fuchsia
中C
的头文件应该和 C ++ 11,C ++ 14 和C ++ 17 标准兼容,而且 C 和 C ++ 接口不该混在一个头文件中。开发工具
Dart 主要是面向非驱动的开发人员,主要用于界面和非永久运行的程序上,而目前 Fuchsia 的大多数用户界面都是使用 Flutter 构建的。google
Rust 并非面向终端开发人员,虽然 Rust 在 Fuchsia
源码中被普遍使用(除了 zircon
内核),可是目前 Rust 没有开放出来,猜想多是 Rust 在 Fuchsia
上还不够稳定,而且目前的终端开发者不须要直接使用到 Rust。unix
Go 目前看来是后续不会被继续在 Fuchsia
中使用,有点被抛弃的味道,目前仅仅还被用于 netstack
相关的代码中,可是官方表示后续可能会迁移到其余语言。code
Go 的资源占用比 C++ 和 Rust 更多,并且编译成本相对较高,运行时环境庞大,理念上不大符合
Fuchsia
轻量级的概念。cdn
总结看来 Fuchsia
上主要的开发语言是 C / C++ 和 Dart ,Google 是尽量地使用本身的亲生“孩子”。
Google 表示选择 Rust
/ Dart
的理由是其 async / await
上对异步编程的强大支持, C / C++
则是常年必备的高效语言,而从目前 Google 对于 Go 的态度上也能够猜想 Fuchsia
的定位是更轻量级的系统 ,很大可能不会像现阶段 Android 那么“重”,至少不会是为了替换 Android 而被推出。
最后,从目前已知信息可知,大概有 21 个合做伙伴出如今 Fuchsia 的 Gerrit 中,它们主要来自 13 家不一样的公司,其中 6 家目前是 Android 的制造商:
固然这也只能说明了企业对 Fuchsia
感兴趣,实际投入使用仍是受各类外部制约,不过做为开源的系统,Fuchsia
也存在被定制 cv 的可能, 做为 Flutter 开发者仍是但愿 Fuchsia
之后能有一席之地,毕竟新的系统也表明着新的机会。