大家不用 nib 开发 ios 界面的原因是啥?

2014-03-05 21:18:27 +08:00
 satanwoo
我只是最近和很多人聊到了这个,
原因如下:
(1)有些人说nib的复用性不高。
(2)有些人说nib只能开发静态初级的界面(比如关于,设置)
(3)有些人说nib不好合作。我认为这个现在xcode5在修改过nib的文件内容后,其实已经大大简化了。
(4) 最后点是我自己觉得的吧,读取nib是一次I/O操作,I/O可能会瓶颈吧。

不知道大家怎么看
5806 次点击
所在节点    iDev
29 条回复
offspring
2014-03-05 21:25:02 +08:00
大部分都是扯淡
wezzard
2014-03-05 21:27:04 +08:00
大部分都是扯淡 +1
ultragtx
2014-03-05 21:32:27 +08:00
1. nib要是复用性不高 手写的也一样
2. 动态界面拆分开也都是一堆静态view 有什么用不了的
3. xcode5 之后这个基本不是个问题
4. 还不至于因为这个影响运行效率
satanwoo
2014-03-05 21:35:41 +08:00
@ultragtx 大神在这见到你了。
satanwoo
2014-03-05 21:36:30 +08:00
@ultragtx 我是看我同学写的ios app,然后今晚正好和他聊了这个话题。
sobigfish
2014-03-05 21:52:13 +08:00
@ultragtx
@wezzard
@offspring 请教下nib的多locale怎么做,直接在窗体上改很没效率啊。 谢谢
ultragtx
2014-03-05 22:16:30 +08:00
@sobigfish 有个这个 https://github.com/angelolloqui/AGi18n 不过我还没用过
offspring
2014-03-06 00:07:10 +08:00
ybh37
2014-03-06 10:45:25 +08:00
style的区别而已。
xx314327475
2014-03-06 10:50:12 +08:00
@offspring
@wezzard
@ybh37

那么适配不同屏幕呢?
ybh37
2014-03-06 11:01:07 +08:00
屏幕适配我没什么好办法,加判断生写的。
offspring
2014-03-06 12:28:54 +08:00
@xx314327475 autolayout
xx314327475
2014-03-06 12:40:19 +08:00
@offspring 曾经尝试过,无奈可能是我理解能力的问题,并没有很好的实践这个技术
satanwoo
2014-03-06 12:57:20 +08:00
@offspring
@xx314327475
autolayout效率低呢。能自己算resize自己调整是最高的。
tgfbeta
2014-03-06 14:39:31 +08:00
只要保证一个人维护storyboard或者建立一个提交storyboard修改的约定,没啥不好的。
tangqiaoboy
2014-03-06 15:04:54 +08:00
适度使用是可以的
shiweifu
2014-03-06 16:19:24 +08:00
offspring
2014-03-06 20:17:21 +08:00
@satanwoo 苹果有必要推出个效率低的新东西么 autolayout是来源于Cassowary 已经被移植到各种平台 而且如果app是universal的 支持各种orientation 支持iOS6和iOS7 到时候iPhone6再出个新分辨率 你就resize到死吧
satanwoo
2014-03-06 21:40:41 +08:00
@offspring
你急啥呢? 真难以想象你的回复如此气急败坏啊。。

第一:苹果推出的东西不代表效率就高。autolayout是为了方便开发者针对适配,降低复杂度未必就能提升效率。况且我也没说绝对效率低,和自己手动判断改frame毫无疑问是低的。

第二:就我写过的app来说,各种orientation本身就应该开发者自己判断,不然你觉得用代码写UI的意义在哪?如果一切都依靠本身机制,那我觉得写ios只要看什么ios 初级入门就够了。

第三:现在universal 的app还多吗?

第四:现在很多的设计都是列表式的设计,就算是关于界面这种静态的界面,你一个xib就能解决,你只要写一些UIView Category快速的帮助你更改下高度或者宽度不就行了?你全部用相对位置做我觉得是个基本功吧?
jimneylee
2014-03-07 08:57:40 +08:00
不擅长用xib的飘过,感觉还是要多用多比较。
xib主要用于偏静态页面,类似dreamwear制作html页面,有一点可视化编程的思想在里面,通过查看xib文件,UI布局可读性增加了。
如果是动态运行时变化比较多的话,还是建议代码编写,类似动画片和游戏的区别。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/103010

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX