As you know,Flutter 的这套渲染系统是全平台的。那么苹果会不会将现在成熟的 UIKit 以及背后的 CoreGraphics、CoreAnimation、CoreImage 等等以某种方式移植或者升级到跨平台。 当然从苹果封闭生态的特点来看不太可能,但是从技术难度来说呢?
1
linusyang 2019-05-08 17:10:08 +08:00 via iPhone 1
UIKit 已经移植到 macOS Mojave 了啊,叫 Marzipan,Mojave 的录音和新闻 App 都是 UiKit 写的。其他平台的话,Facebook 有个内部项目 OSMeta 完整移植了 UIKit,下面这篇文章还提到其他移植:
https://pspdfkit.com/blog/2018/porting-ios-apps-to-mac-marzipan-iosmac-uikit-appkit/ |
2
chipmuck 2019-05-08 17:33:23 +08:00
@linusyang UIKit 隶属于 Cocoa Touch,而 Cocoa Touch 本身就是基于 Cocoa 的。因此 UIKit 到 macOS 上,并不能叫移植吧。
|
4
loginbygoogle 2019-05-08 17:57:50 +08:00
以苹果的尿性,除了自家平台,其他的统统不行。
|
5
studyro 2019-05-08 18:24:55 +08:00 via iPhone
|
6
lizhuoli 2019-05-08 22:07:35 +08:00 via iPhone 1
@chipmuck 起源是一个,但是自从 iOS fork 出去一个以后整体设计已经完全变样了,团队人员都是两拨人,参考 Blink 和 WebKit,具体到代码,很多概念就是完全反着来的(Window,Coordinate system,Cell),所以这也是为什么 macOS 10.15 又把 UIKit 加回来的原因,目前看是两个 UI Framework 并存,但是显然的,下一代 macOS 的官方 UI Framework 是在 UIKit 团队手里
|
8
XDDD 2019-05-09 01:27:52 +08:00 via iPhone
@lizhuoli 个人明显感受到 Cocoa 比 UIKit 陈旧很多。但不认为“下一代 macOS 的官方 UI Framework 是在 UIKit 团队手里”。
当初我期待的就是借鉴 UIKit 的 UXKit。但是等到最后只得到了 Marzipan,即 UIKit for mac。Marzipan 应用程序跑在单独的容器中,不能视为系统 UI 库。 |