V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
SunOddman
V2EX  ›  Apple

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

  •  
  •   SunOddman · 2019-05-08 16:41:56 +08:00 · 3024 次点击
    这是一个创建于 2025 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    10 条回复    2019-05-09 16:45:45 +08:00
    linusyang
        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/
    chipmuck
        2
    chipmuck  
       2019-05-08 17:33:23 +08:00
    @linusyang UIKit 隶属于 Cocoa Touch,而 Cocoa Touch 本身就是基于 Cocoa 的。因此 UIKit 到 macOS 上,并不能叫移植吧。
    linusyang
        3
    linusyang  
       2019-05-08 17:44:07 +08:00 via iPhone   ❤️ 1
    @chipmuck UIKit 和 Cocoa 是两套库,不兼容的。
    loginbygoogle
        4
    loginbygoogle  
       2019-05-08 17:57:50 +08:00
    以苹果的尿性,除了自家平台,其他的统统不行。
    studyro
        5
    studyro  
       2019-05-08 18:24:55 +08:00 via iPhone
    https://github.com/flowkey/UIKit-cross-platform

    已经有公司在做了,虽然还不成气候,不过毕竟是线上在跑的严肃产品
    lizhuoli
        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 团队手里
    chipmuck
        7
    chipmuck  
       2019-05-08 23:21:05 +08:00
    @lizhuoli 多谢,了解了。
    XDDD
        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 库。
    SunOddman
        9
    SunOddman  
    OP
       2019-05-09 16:11:34 +08:00
    @linusyang 这俩项目还是没跑出苹果生态,到安卓平台、web 平台呢,苹果如果真的想做,是不是也是分分钟的事情?
    linusyang
        10
    linusyang  
       2019-05-09 16:45:45 +08:00 via iPhone
    @SunOddman 估计悬,苹果连移植 Swift 的 Foundation 库都很费劲,更别说 UIKit 这种了… OSMeta 倒是在 Android 能用,但是不开源。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2884 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 06:57 · PVG 14:57 · LAX 22:57 · JFK 01:57
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.