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

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

  •  
  •   junho · 2019-01-21 18:10:57 +08:00 · 3222 次点击
    这是一个创建于 2151 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

    新功能全部用 Swift,业务重构也用 Swift,没多久就能把 Swift 的比例提上去了。比较闲的时候把核心的代码用 Swift 包装也很有好处,可以把 Swift - Objective-C 的相互调用限制到一个比较小的范围
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2986 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 10:59 · PVG 18:59 · LAX 02:59 · JFK 05:59
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.