V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
iOS 开发实用技术导航
NSHipster 中文版
http://nshipster.cn/
cocos2d 开源 2D 游戏引擎
http://www.cocos2d-iphone.org/
CocoaPods
http://cocoapods.org/
Google Analytics for Mobile 统计解决方案
http://code.google.com/mobile/analytics/
WWDC
https://developer.apple.com/wwdc/
Design Guides and Resources
https://developer.apple.com/design/
Transcripts of WWDC sessions
http://asciiwwdc.com
Cocoa with Love
http://cocoawithlove.com/
Cocoa Dev Central
http://cocoadevcentral.com/
NSHipster
http://nshipster.com/
Style Guides
Google Objective-C Style Guide
NYTimes Objective-C Style Guide
Useful Tools and Services
Charles Web Debugging Proxy
Smore
luoxiu
V2EX  ›  iDev

Apple Combine 的开源实现 CombineX 的第一个 beta 发布啦!

  •  
  •   luoxiu · 2019-08-05 12:26:42 +08:00 · 6592 次点击
    这是一个创建于 1939 天前的主题,其中的信息可能已经有所发展或是发生改变。

    CombineX 是 Apple Combine 的开源实现,它现在包括三个项目:

    • CombineX,提供所有 Combine 类型与操作符实现。
    • CombineX.Foundation,提供所有 Foundation 扩展实现,基于 CombineX,比如 URLSession,NotificationCenter,Timer 等。
    • CombineX.Compatible,提供 CombineX 的 API Shims。

    为什么要写这个库呢?

    • Combine 有较高的版本限制:macOS 10.15+,iOS 13+。也就是说,如果你的 App 即使只需要往前兼容两个版本,也需要两三年后才能用得上它。
    • Combine 是闭源的,它与 UIKit,MapKit 等一样,随 xcode 的更新而更新。当你遇到 bug 时,你应该遇到过系统库的 bug 吧,调试很烦人,然而更烦人的是缓慢的官&方反应,通常你只能等待下一次 xcode 的常规更新。
    • Combine 是 Apple 平台&独占的,不能在 Linux 上运行。

    因为时间问题,CombineX 还有不少没考虑成熟的地方,「事实上 Combine 也还在 beta 啦。」 所以欢迎反馈,更欢迎参与和我一起开发!

    6 条回复    2019-08-05 23:47:39 +08:00
    luoxiu
        1
    luoxiu  
    OP
       2019-08-05 12:28:51 +08:00
    早上在地铁上写的一些已知问题:

    <img src=" " width="360" />
    liuyx7894
        2
    liuyx7894  
       2019-08-05 13:36:14 +08:00
    CSwater
        3
    CSwater  
       2019-08-05 13:56:41 +08:00 via iPhone
    主流 APP 一般都要维护三四个系统版本,再等三年,连同 SwiftUI 就能普及开来啦! (狗头

    看着语法和概念跟其它响应式的很接近,继续围观,等正式版。
    luoxiu
        4
    luoxiu  
    OP
       2019-08-05 14:07:44 +08:00
    @liuyx7894 😄,我知道它。
    我刚又看了一下,我的第一个提交比它的还要早一天。就完成度来说,我已经实现完了全部操作符,它才只有十几个……不知道为什么它有那么多 star。
    XDDD
        5
    XDDD  
       2019-08-05 16:50:58 +08:00
    看起来 CombineX 的设计(包括 CombineX.Foundation 和 CombineX.Compatible )比 OpenCombine 还要好些。不过可能由于宣传等问题,关注度低于 OpenCombine。这是一个很现实的问题,可能会直接影响到二者的选择( OpenCombine 能得到更多来自社区的资源,目前已经有两个 pr 了。高 star 也会激励作者持续贡献,避免弃坑)

    无论如何感谢作者。已 star,期待使用正式版。
    akring
        6
    akring  
       2019-08-05 23:47:39 +08:00
    先支持一下,不过目前对 SwiftUI 和 Combine 都持观望态度,因为我觉得苹果自己都不知道下一个 beta 会变成什么样😂
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3343 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 12:43 · PVG 20:43 · LAX 04:43 · JFK 07:43
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.