UIKit 以某种方式移植到其他平台的可能性有多大?

2019-05-08 16:41:56 +08:00
 SunOddman

As you know,Flutter 的这套渲染系统是全平台的。那么苹果会不会将现在成熟的 UIKit 以及背后的 CoreGraphics、CoreAnimation、CoreImage 等等以某种方式移植或者升级到跨平台。 当然从苹果封闭生态的特点来看不太可能,但是从技术难度来说呢?

2838 次点击
所在节点    Apple
10 条回复
linusyang
2019-05-08 17:10:08 +08:00
UIKit 已经移植到 macOS Mojave 了啊,叫 Marzipan,Mojave 的录音和新闻 App 都是 UiKit 写的。其他平台的话,Facebook 有个内部项目 OSMeta 完整移植了 UIKit,下面这篇文章还提到其他移植:
https://pspdfkit.com/blog/2018/porting-ios-apps-to-mac-marzipan-iosmac-uikit-appkit/
chipmuck
2019-05-08 17:33:23 +08:00
@linusyang UIKit 隶属于 Cocoa Touch,而 Cocoa Touch 本身就是基于 Cocoa 的。因此 UIKit 到 macOS 上,并不能叫移植吧。
linusyang
2019-05-08 17:44:07 +08:00
@chipmuck UIKit 和 Cocoa 是两套库,不兼容的。
loginbygoogle
2019-05-08 17:57:50 +08:00
以苹果的尿性,除了自家平台,其他的统统不行。
studyro
2019-05-08 18:24:55 +08:00
https://github.com/flowkey/UIKit-cross-platform

已经有公司在做了,虽然还不成气候,不过毕竟是线上在跑的严肃产品
lizhuoli
2019-05-08 22:07:35 +08:00
@chipmuck 起源是一个,但是自从 iOS fork 出去一个以后整体设计已经完全变样了,团队人员都是两拨人,参考 Blink 和 WebKit,具体到代码,很多概念就是完全反着来的(Window,Coordinate system,Cell),所以这也是为什么 macOS 10.15 又把 UIKit 加回来的原因,目前看是两个 UI Framework 并存,但是显然的,下一代 macOS 的官方 UI Framework 是在 UIKit 团队手里
chipmuck
2019-05-08 23:21:05 +08:00
@lizhuoli 多谢,了解了。
XDDD
2019-05-09 01:27:52 +08:00
@lizhuoli 个人明显感受到 Cocoa 比 UIKit 陈旧很多。但不认为“下一代 macOS 的官方 UI Framework 是在 UIKit 团队手里”。
当初我期待的就是借鉴 UIKit 的 UXKit。但是等到最后只得到了 Marzipan,即 UIKit for mac。Marzipan 应用程序跑在单独的容器中,不能视为系统 UI 库。
SunOddman
2019-05-09 16:11:34 +08:00
@linusyang 这俩项目还是没跑出苹果生态,到安卓平台、web 平台呢,苹果如果真的想做,是不是也是分分钟的事情?
linusyang
2019-05-09 16:45:45 +08:00
@SunOddman 估计悬,苹果连移植 Swift 的 Foundation 库都很费劲,更别说 UIKit 这种了… OSMeta 倒是在 Android 能用,但是不开源。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/562246

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX