iOS 开发,手写界面,如何提高开发速度 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
maxmax
V2EX    程序员

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

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

    目前 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 0727: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 +0: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     Solana     969 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 18:53 PVG 02:53 LAX 11:53 JFK 14:53
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86