V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
maxmax
V2EX  ›  程序员

iOS 开发,手写界面,如何提高开发速度

  •  
  •   maxmax · 2019-06-18 23:44:33 +08:00 · 5742 次点击
    这是一个创建于 2020 天前的主题,其中的信息可能已经有所发展或是发生改变。

    目前 oc 项目使用手写界面的方式,开发大概 30 个界面的 App,大概要 10 到 12 天。对比安卓能 5 天实现。 现在苹果需要进一步缩短到一半的开发时间,求如何实现?

    故事板是不能使用的,因为有许多子项目,组件需要重用
    
    37 条回复    2019-06-27 16:57:04 +08:00
    294623884
        1
    294623884  
       2019-06-19 00:14:02 +08:00
    我好奇 不用 storyboard 难道连 xib 都不用了?纯代码堆砌 UI 是因为什么原因么?
    kingcos
        2
    kingcos  
       2019-06-19 01:12:49 +08:00 via iPhone
    @294623884 真的不用…
    cht
        3
    cht  
       2019-06-19 02:36:48 +08:00
    Mark 一下,小项目个人用 xib 比较多
    ShengjiaWANG
        4
    ShengjiaWANG  
       2019-06-19 05:21:35 +08:00
    写多了自然就快了
    luozic
        5
    luozic  
       2019-06-19 05:36:58 +08:00 via iPhone
    第一种熟练,第二种 你知道有种东西叫 codegen 么?
    ansonsiva
        6
    ansonsiva  
       2019-06-19 06:47:48 +08:00 via iPhone
    swiftUI,嘿嘿嘿
    no13bus
        7
    no13bus  
       2019-06-19 07:27:58 +08:00
    @luozic 我们这边的开发就是这样的。没别的招,就是熟练
    Vitta
        8
    Vitta  
       2019-06-19 08:09:02 +08:00 via iPhone
    和女朋友分手
    chengkai1853
        9
    chengkai1853  
       2019-06-19 09:02:28 +08:00
    代码不见得比 storyboard 和 xib 慢吧。多写就好了
    kera0a
        10
    kera0a  
       2019-06-19 09:15:45 +08:00 via iPhone
    sb 不会比代码快吧,我反而觉得那玩意难用的一匹不如纯代码快

    同样的工作量安卓比 iOS 快一倍,要不就是安卓效率太高,要不就是 iOS 效率不行,纯代码写界面不背锅
    compiler
        11
    compiler  
       2019-06-19 09:21:59 +08:00 via iPhone
    用 flutter
    zjw7sky
        12
    zjw7sky  
       2019-06-19 09:24:24 +08:00
    纯代码写界面不背锅
    我觉得还是效率的问题
    294623884
        13
    294623884  
       2019-06-19 09:29:25 +08:00
    https://blog.devtang.com/2015/03/22/ios-dev-controversy-2/
    无脑纯手写不可取啊 了解 tradeoff 为什么不用 xib 呢 至少 xib 在 layout 上面还是很直观的
    tigerAndBull
        14
    tigerAndBull  
       2019-06-19 09:33:48 +08:00 via iPhone
    这是个人效率问题,从可维护性和可读性,多人维护性,国内生态圈以及对电脑的性能要求,建议纯代码。
    pipasese
        15
    pipasese  
       2019-06-19 09:49:02 +08:00
    基础控件积累起来,速度就起来了吧- -
    nicevar
        16
    nicevar  
       2019-06-19 09:50:41 +08:00
    storyboard 和 xib 不一定比代码快, 我就喜欢用纯代码的, 被以前的 Xcode 崩溃搞怕了
    hoosin
        17
    hoosin  
       2019-06-19 09:53:22 +08:00
    @compiler flutter 不一定能快 只是可以代码复用
    mcluyu
        18
    mcluyu  
       2019-06-19 10:08:33 +08:00
    如果安卓 5 天能完成的,我觉得 iOS 不会比安卓慢, 不过 30 个界面 5 天一个人完成? 都是些元素少的简单页面还差不多
    zld
        19
    zld  
       2019-06-19 10:17:14 +08:00
    xib 和 storyboard 怎么就比代码清晰直观了,只要代码遵循合适的实践规范、命名规范,熟练工看一眼就能很清晰的脑补出 UI 是什么样子,以及不同组件之间的关系。
    国内 App 的产品复杂性以及迭代速率,可视化的方案改起来多费劲。

    当然 App 如果做一次就丢掉,或者不为日后的迭代负责,爱用啥用啥,反正后面的人骂也听不见

    至于那些一直喊着 xib 和 storyboard 好过代码的人,我祝您尽早入职 Apple~ 大概只要 Apple 自家能和您的惺惺相惜 XD
    d553296416
        20
    d553296416  
       2019-06-19 10:18:34 +08:00   ❤️ 1
    storyboard 和 xib 不一定比代码快这句话是建立在对 sb 不熟悉的基础上。gui 是趋势。就算是速度一样也更直观更简洁。不要和趋势作对。swiftUI 虽然是代码但是有实时预览,这也是 gui 编程推崇的所见即所得。
    w99wen
        21
    w99wen  
       2019-06-19 10:20:23 +08:00
    用下面组件:
    1. masonry
    2. reactivecocoa
    Otho
        22
    Otho  
       2019-06-19 10:20:24 +08:00
    熟练工呗
    CommandZi
        23
    CommandZi  
       2019-06-19 10:22:54 +08:00
    不会是停留在设置 frame 的方式写 UI 吧
    luosch
        24
    luosch  
       2019-06-19 10:23:58 +08:00
    改用 Swift,效率能提升一倍
    d553296416
        25
    d553296416  
       2019-06-19 10:25:22 +08:00
    我觉得未来。swiftUI + storyboard 这种开发方式应该很流行。swiftUI 开发一些模块 然后用 @IBSegueAction 镶嵌进 storyboard 里去组合,,至于你们说的现在这种纯代码布局方式。我并不是很看好
    jameskuk
        26
    jameskuk  
       2019-06-19 10:33:37 +08:00
    日经讨论 SB 和 Coding,你们开心就好。
    wxl1380610
        27
    wxl1380610  
       2019-06-19 10:37:33 +08:00
    NerdyUI 。
    qyizhong
        28
    qyizhong  
       2019-06-19 10:44:56 +08:00
    说真的,swift 写 UI 真的比 OC 快
    yczbil
        29
    yczbil  
       2019-06-19 10:58:51 +08:00
    利用 Automator 写脚本把逻辑上类似但是抽象不出去的代码给自动化。比如假设用 Masonry 来布局,写完 UI 的一堆 property,我需要对每个 UI 组件写 Masonry 的 mas_make 那些代码,这个过程可以写个 JS 脚本生成来少写几行。
    SwiftFrank
        30
    SwiftFrank  
       2019-06-19 11:59:20 +08:00
    @d553296416 同意这个说法, 个人不推荐 StoryBoard, 但是 Xib 或者 SwiftUI 肯定是比纯代码推荐优先级高的
    seabirds
        31
    seabirds  
       2019-06-19 15:33:18 +08:00 via iPhone
    @zld 目前在维护项目就是 sb 写的,难受,xib 要比 sb 好多了
    qq05629
        32
    qq05629  
       2019-06-19 16:10:14 +08:00
    重 UI 轻交互的 app 可以尝试下用 react-native, 写页面嗖嗖的
    fghjghf
        33
    fghjghf  
       2019-06-19 22:17:11 +08:00
    画 UI 没必要用代码,重复性又高,又枯燥。。苹果爸爸越来越为生态链着想,开发起来越来越简单。为什么不用呢
    老项目用不上也没办法,自己抽取封装吧。一个函数创建控件...
    331772955
        34
    331772955  
       2019-06-20 09:24:23 +08:00
    其实 xib 可以做成组件化给到 storyboard 用的,这个组件化不是难题啊。手写的话,最麻烦就是界面不够直观,手写要快的话,需要空间力很强才行。还有 xib 里面还有 stackView 这种神器(跟 Android 的线性布局类似)
    tanpengsccd
        35
    tanpengsccd  
       2019-06-20 13:18:25 +08:00 via iPhone
    xib 可以重用的,swift 需要成本不过也要 snapkit,masonry 可以简化。
    Deeer
        36
    Deeer  
       2019-06-20 19:45:30 +08:00
    只要手速够快,就能搓出小火球
    bbqqddwhy
        37
    bbqqddwhy  
       2019-06-27 16:57:04 +08:00
    一个人撸,为啥不用可视化编程呢?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2385 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 15:59 · PVG 23:59 · LAX 07:59 · JFK 10:59
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.