junho
V2EX  ›  iOS

一个 Objective-C 项目的如何逐步用 Swift 替代?

  •  
  •   junho · Jan 21, 2019 · 3733 views
    This topic created in 2745 days ago, the information mentioned may be changed or developed.

    Swift 后面应该是主流的吧? 对于现有的 OC 项目如何逐步用 Swift 替代? 在这过程中 会出现 OC 代码调用 Swift 模块,然后这个 Swift 模块又是调用了底层的 OC 库。。。。 这样搞虽然别扭点 但是没问题吧??

    5 replies    2019-01-21 19:54:56 +08:00
    zhangchioulin
        1
    zhangchioulin  
       Jan 21, 2019
    有问题:
    App 包会变大。。。
    如果不是个人项目,那么如何在保证日常迭代不掉速的情况下完成迁移?
    junho
        2
    junho  
    OP
       Jan 21, 2019
    @zhangchioulin
    开发新功能优先使用 Swift
    老功能进行重构级别迭代时使用 Swift
    闲时重构边缘的业务代码
    zhangchioulin
        3
    zhangchioulin  
       Jan 21, 2019
    @junho #2 看项目大不大,改动的功能复不复杂,用户多不多以及自己敢不敢背锅。
    如果功能复杂,没有完整的 PRD 和负责的测试同事的话不太建议下手。不然你自己都不知道哪里会出问题。
    so898
        4
    so898  
       Jan 21, 2019
    不建议干这种事情,特别是在大量使用 AOP 和 Runtime 特性的项目中
    Swift 和 OC 的开发理念还是存在比较大差异的,数据类型上现在也是在越走越远的阶段
    建议参考 OC 代码做全新框架设计和开发
    66450146
        5
    66450146  
       Jan 21, 2019
    完全没问题,我们就是这么干的

    新功能全部用 Swift,业务重构也用 Swift,没多久就能把 Swift 的比例提上去了。比较闲的时候把核心的代码用 Swift 包装也很有好处,可以把 Swift - Objective-C 的相互调用限制到一个比较小的范围
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3381 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 10:59 · PVG 18:59 · LAX 03:59 · JFK 06:59
    ♥ Do have faith in what you're doing.