当然按照不一致的情景我会结合各自的长处举办付出,当然根据分化的光景我会结合各自的亮点进行支付

前言

做iOS开发的童鞋都应该会纠结一个题材,那就是在做开发的时候是使用StoryBoard仍旧接纳Nibs又或者是Code(纯代码流)呢?小编也万分纠结这么些题材,前日碰巧在raywenderlich上边看到了多少个大神之间的撕逼,哦不,切磋之后,感觉得到广大,于是就将她们议论的内容整理翻译了一晃,如有不当之处,还请多多包括,原录像请戳这里

英文:raywenderlich
译文:伯乐在线专栏小编 – 陆熠十四 翻译
链接:http://ios.jobbole.com/88119/

讨论

Ray Wenderlich

Ok!现在我们都在线,感谢各位的过来,今天我们会有一个座谈有关iOS开发的议论,是选项Storyboards、Nib依然Code,大家有七个志愿者,Cesare
Rocchi代表的是“Code爱好者”,Tammy Coron 代表的是“Nib爱好者”,Felipe
Laso 马尔斯(Mars)etti代表的是“StoryBoard爱好者”,咱们将从Cesare Rocchi开头

Cesare Rocchi

先是,code是分外清晰直观的,你可以一贯看着代码,你不必要打开鲁钝的Nib文件,并且毫不深远钻研然后找出一些犬牙相错因素到底关联了仍旧尚未提到,这一个都很傻;当你在支付一个大型项目的时候那种方法特其余有用;当自身从一个crazy
guy那里接手一个品类,那些项目是用StoryBoard或者Nibs做的,最终我会用code重写所用的事物,你可以在StoryBoard或者Nibs设置好所有东西,可是最终你可以用代码重写所有的图景;比如您在一个nib文件之中安装了一个lable,当你运行这些app的时候这些lable看起来与您设置的不太一样,那是因为其余一个人在随后添加了一行代码改变了丰硕lable的特性

Tammy Coron

当听见她(Cesare
Rocchi)如此贬低Nib的时候让我拊膺切齿,我当做一个程序媛有很长一段时间了,我见过越发多的程序猿喜欢使用code的章程来支付的;但就我个人而言,我是一个卓殊依赖于视觉的人,我欣赏通过可视化的不二法门来开展编程,所以我选用使用Nibs;你可能会说利用StoryBoard可以比选择Nibs看到越多的东西,可是对自己的话,我并不喜欢StoryBoard,因为StoryBoard能做的很有限,越发是当你在写一个大型项目的时候依旧你与别的的人搭档的时候,如果选取StoryBoard你将会把具备的UI都集中在一个文书之中,那会招致合营变得那一个难堪,合并上也会有过多的辛劳;StoryBoard上还有一个很大的题材就是,它不容许你操作太多的性能,越发是在差距的View里面使用TableViewCells的时候,你不可以在StoryBoard里面收录它们,你恐怕可以做到可是会相比较费心,而Nib要做起这几个会愈来愈的简易;并且你不用想去在StoryBoard里自定义Controller或者是View,无论什么日期想要做到这几个你最好去行使Nib

对于code,我同意假如利用code要做过多的办事,必要求去领略Nib背后的代码,不过利用Nib你可以快速看到自己对元素操作的功力,假诺使用code,你写好所有的要素,设置好它们的性能,再将它们拉长到视图里面,你必要求在运行app之后才可以见到实际的效应,那是更加首要的事情,没有人在意代码到底长什么样,他们只会关心app看起来何等,
最好的观望措施就是使用Nib来做

So,我恐怕有点小震动,等我冷静下来我会说得更好,XD

Raywenderlich

尤其科学的视角,现在轮到最终一个人发言了,Felipe该你上了

Felipe Laso Marsetti

So,Cesare你就是个混蛋;Tammy并不曾让自身感觉恼火,因为他敝帚自珍可视化,而可视化就是前景,即使code很酷,可是可视化将会是前景,不错,Nib或许更为的酷越发的随机,可是以后势必是StoryBoard的整个世界,它可以让您做到一些Nib与code做不到的工作,当你在集合代码或者统一Nib的时候你如故会遇见争辩,每当你触碰Nibs,Xcode就会并非理由的认为你转移了它,所以您要描述那样的改变,因为Xcode认为它改变了,仅仅因为您看了它一眼

StoryBoard更好,不用再像Nib或者code那样工作,假如您使用code,你须求周转你的app,看布局是或不是创制,然后回来更改布局属性,再运行app来看功能,不断的重复,那样效用特其余低,或许使用Nib会有所改正,可是当你在做一个大型项目的时候,你会有三四十个ViewController,这样您恐怕就会有四五十个Nib文件,那会极度的讨厌,因为您要尤其小心的做一些修改

唯独StoryBoard不仅可以让您幸免写一大堆无聊的代码,甚至是防止这些要在Nib下写的代码,比如利用segue和unwind
segue,你可以透过一多级的delegate方法来传输数据,你可以设置转场动画,你还能自定义动画

世家都觉得大家只可以在一个StoryBoard上边工作,不过事实上大家可以在频频一个StoryBoard上边工作;当大家在支付集团级客户端的时候,大家常见都是3-5个人的团体,大家会有10个StoryBoard,那很出色,因为您可以将顺序模块分开,比如about模块、反馈模块或者社交模块,你可以看到可视化的layout,为了防止外人说StoryBoard变得愈加大,越来越慢,你可以试着打开它,然后,boom~~,你可以领略地领略怎么样连接着怎么着,什么要去什么地方,你可以命名你的segue,你可以具有不少的自定义,所有的这整个都预示着StoryBoard将会是前景

理所当然,Nibs和code是很有用的,而且自己也指出在须要的时候去选用Nibs和code,然而自己想说在Xcode中行使StoryBoard是更加方便的,那是苹果在用的东西,他们为StoryBoard做了要命多的干活,它就是前景,并没有丰盛的凭证来证实StroyBoard很慢很臃肿或者其余,没有丰硕强大的凭据来验证那有的;我强烈指出使用StoryBoard,当须要的时候你可以运用code或者nibs,但是本人指出您尽量防止去行使,因为StoryBoard才是王道

Raywenderlich

Awsome!极度棒的见解!So,接下去每个人都有一个机遇为温馨的眼光进行分辨,那么,Cesare你有何样要说的吗?

Cesare Rocchi

额,首先,如果当你想要合并Nib或者StoryBoard的时候,这几乎就是惊恐不已的梦,毫无意义,然后code要完毕那几个是可怜轻松的,作为一个项目首席执行官,我能够清楚地观察后天代码都做了哪些修改,不过像Nib或者StoryBoard,我无能为力把握它究竟做了怎么样,到底是修复了bug仍然促成了某一个效率

还有就是,你在某些时候也许会动用Xcode的beta版本来进行工作,你精通Xcode在管理Nibs或者StoryBoard上边并没有那么的智能,当我打开项目的时候,beta版的Xcode修改了一些文件,导致了拥有东西都石沉大海了,这就代表你打开StoryBoard之后怎么都未曾了,所以一切项目就全盘崩溃了

其三点就是采用Nibs或者StoryBoard会减低我的工作成效,当自身在coding的时候,我爱不释手保持自身的手放在键盘上面,而不用去打开一个nib文件然后去做一些涉嫌,然后又将手放回键盘继续coding,那样会稳中有降我的工作效用;还有一些要提的就是,不止四遍,更加是在初阶的时候,我会瞧着显示器,尝试着找出是哪个人TMD给这么些特性设置了值,何人安装了x或者y,在何地或者是怎么样设置的等等,That’s
all!

Raywenderlich

So,Cesare说使用code会让她的工作成效更高,苔米(Tammy)你有啥样要说的吗?

Tammy Coron

额,当你看着nib文件的时候,你并不需求过多的去关爱那么多的特性,它们是怎么设置的以及它们怎么样的涉及,当您利用nib工作的时候,你只须要将你的psd文件处理将来放到nib文件之中,那样你直接就可以看出效果,然后您再去关联代码,我想说的是运用nib一切都特其余马上

本人得以在app已毕之后深切到framework里面,在卓殊有限的时光里面,在那之中没有代码,只有可视化的因素,那样就可以便捷的一语道破到screen里,去看您的app是什么连接的,然后再去处理自己的代码;不过只要您把方方面面都用代码来做将会特其余繁琐,要去设置如此那样的特性,oh
my
god,简直无聊死了,根本就是在浪费时间;我看不惯使用StoryBoard,使用StoryBoard的人就像僵尸一样,一个big
boy不应有去选取StoryBoard,额,反正我就是不喜欢XD

Raywenderlich

So,Felipe你是那里最年轻的成员,你也足够喜欢僵尸,你有啥意见?

Felipe Laso Marsetti

额,我就是一个僵尸StoryBoard用户,我强烈指出使用StoryBoard,code是可怜有必不可少的,有时候你只可以去写一些代码来达成这一个可视化达成不了的做事,比如自定义UI,可是那些都不是常用的,一大半时候使用StoryBoard就足以满足必要了;使用StoryBoard你能够格外便利的去设置元素属性,而不用去理会背后繁琐的代码;那所有的漫天都意味StoryBoard是鹏程,那是苹果在用的东西

最后我想说,越少的代码就代表越少的时机将bug引入到您的app里面,就像是有500行自定义UI的代码,你可以将它们减弱到100行,那样您就足以防止掉400行并未要求的代码,这样可以减小bug,而且这么尤其便于的去维护您的代码,假若你是独自开发,那么使用code或许对您影响不大,但是即使你从别人那里接手项目,你就不得不深刻探究这么些代码到底做了什么样,是何等设置view的,什么继承了怎么,以及在nib里面有如何,你甚至不可能利用nib去成立一个具备static
prototype
cells的tableview,你无法不去创制一个tableview的子类,新建.h、.m、以及nib文件,然后再去创造cell的子类,再新建.h、.m、以及nib文件,然后这么些cells在tableview当中是独立的,那样你就只可以去新建一个又一个的cell;然则在StroyBoard里面,只要求一个tableview,20个cells,然后boom~~,太雅观了,节省时间,让客户端更简便,更少的bug,而且一切都是在可视化下完了的,你不用去不停的stop、run、stop、run,然后去看你的nib文件以及你的代码,僵尸赢了

Raywenderlich

是的的论据,有一点我连连听到的就是,使用可视化的User Interface
Designer,你可以幸免更加多的代码,可以收缩bug,你们怎么看待那几个意见?

Cesare Rocchi

额,在autolayout出现以前我会同意这些视角,若是让我对Interface
Builder进行打分(10分制),在过去我会给6分,当autolayout出现之后就只有3分了,我专门恐怖在Xcode4.6上面进行工作,autolayout尝试着将所有的东西混合在共同,造成的景观就是你在界面上面小意思,可是在平凡状态下那不是你想要的,你可能是想要让您的视图更小如故是别的;我只得认同autolayout在Xcode5之后有所鼎新,但自己对此并不是很感兴趣

Raywenderlich

Tammy,Cesare很反感autolayout,你有啥样想说的呢?

Tammy Coron

自我一样也不是autolayout的狂热粉丝,我会尽量的将autolayout关闭掉,我在有些类型方面用过autolayout,但自己对autolayout提不起兴趣,你还可以够运用Nib而不去行使autolayout,所以我以为他的论据是行不通的,抱歉XD

Raywenderlich

那就是说Felipe你是怎么看待autolayout的吧?

Felipe Laso Marsetti

甭管你喜不喜欢,autolayout会始终存在着,大家将会有两样尺寸的装备亟需去适配,三星GALAXY Tabmini、酷派4、4s、平板电脑retina,autolayout可以扶持大家去做到那么些适配,Nin与StoryBoard都得以让你可视化的去行使autolayout,你可以丰盛直观的在显示器上开展布局,然而若是去接纳code,那将会是一件尤其勤奋的事务

行使StoryBoard在debug的时候你可以相当直观的来看,在Xcode5上,你可以预览自己的布局,一旦您改变布局约束,改变设备的尺寸,你可以即刻就见到结果,假使你选拔code,你就只能debug、run、debug、run,极度的分神;就个人而言,我也不是可怜的喜欢autolayout,纵然在Xcode5与iOS7从此有所改正,但仍旧不是很好用,那个大家无能为力,然则无论如何,使用Interface
Builder会好过使用code

Raywenderlich

OK!不错的论证,接下去会不停开展半个钟头的研商,Cesare从你从头

Cesare Rocchi

code是至极清晰直观的,你可以写完将来立刻运行,然后得出运行结果,你不需求浓厚到6个例外的性能编辑器当中,来搞精晓那么些变量属性等等是怎么样被装置的

最终一点自家想要说的是,Interface
Builder背后的见解是非常不易的,这些看法是想要让设计师运用来设计UI,不管是Nibs依旧StoryBoard都会让你直观的见到您的app长什么体统,就像是在有些时候,你不需求有一个填写着多少的tableview,作为一个设计师,根本就不会须求一个填写着真正数据的tableview,设计师只想要知道app看起来何等,那不仅是一个给设计师的工具,更加多的是给那些不想写太多代码的coder,That’s
all

Raywenderlich

OK!And Tammy?

Tammy Coron

如上所述,我觉着Nibs是最好的方案,越发是对于有成立力的人,知道Nibs背后的代码原理是必需的,不过你为啥要去浪费时间去跟代码较劲,Nibs分外的强劲;至于Story
Board,我不可以像对待VB这样对待它,它就如僵尸一样(可能是异类的意思)(苔米(Tammy)后边说了一个僵尸吃大脑的嘲弄,听得不是很懂就没翻译了)

Raywenderlich

Awsome!Felipe?

Felipe Laso Marsetti

额,StoryBoard就是前景,如同block,就如ARC,就如一代又一时的Xcode与iOS一样,苹果现在把精力都位居了StoryBoard上边,他们从没在Nibs上边更新太多的事物,他们没有再加新职能进入,你可以锲而不舍运用Nibs或者是code,不过采纳StoryBoard你能够省去多量的时光,你能够在StoryBoard上做出相当复杂的UI,segues、unwind
segues、custom
segues,你甚至足以让StoryBoard与Nibs和code一起干活,更少的bug,你应该去品尝一下

不过你们很三人如故在动用code和Nibs,因为你们很执着,你们喜欢老的主意,害怕改变,说实话,我在平时工作中间总是在应用StoryBoard,大家在巨型的同盟项目中应用它,它连接最趁手的工具

在多数景色下,就自身的经历而言,我恐怕是一个血气方刚的僵尸,StoryBoard就是自己的工具,StoryBoard可以成功的事您是可以用Nibs和code做到,但是切记,那是在苹果在WWDC上面提议来的东西,把StoryBoard和Nibs混合起来会工作的很好,那就是苹果在做的政工,StoryBoard就是最好的工具,所以,请别阻止你自己去尝尝这一项美好的新技巧,你或许仅仅只是害怕做出改变,你只须要花一点微小时间,你就会感受到StoryBoard的美好之处

Raywenderlich

Awsome!感谢各位的演说,那么各位有如何问题想问的吧?

Matthijs Hollemans

设若你把持有的东西都位于StoryBoard里面,你就需求一次性的弄精通这一大堆的事物,我觉得像Nibs那么被剪切会更好,允许你利用segue来连接其他东西,你应有每便只处理一个显示屏,这样更包容你的Xcode窗口大小,然则StoryBoard占用了太大的长空

司机

大家都知晓使用StoryBoard可以分外简单的做出一个简单的选拔,在AppStore当中80%的采纳都是属于不难利用,有诸多的开发者都是业余的,包蕴自家也是,我只是想出了老大好的idea,但不必然要做出越发棒的app,我想StoryBoard就是为那么些人准备的

Chris Wagner

那是很好的一些

Tammy Coron

您可以唯有是nibs来构建一个StoryBoard,如同你哪些收拾自己的类型雷同,但是本人一筹莫展想像自己可以像使用Nibs那样去行使StoryBoard,说实话其实我并从未怎么使用过StoryBoard,所以自己对于StoryBoard的半数以上意见都很牵强XD

Matthijs Hollemans

本身同样也是一个凭借视觉的人,同样我也喜爱在可视化的角度去工作,Xcode可以变得比现行尤为的可视化,不仅仅是在团队Nibs和StoryBoard下面,Xcode还是可以够可视化的做过多的工作,举个栗子,可视化的操控UI元素,我更爱好在Nibs下做这么些事情,我不认为那种办法(使用Nibs)会被淡化,因为自身觉得苹果并不曾花太多的心理在友好的开发工具上,它恐怕只给了支付须要使用的最少功用,越发在与其余的IDE相比起来的时候,我期望Xcode在将来会变得更为的可视化

Felipe Laso Marsetti

等一下!你居然说苹果没有花心绪在开发工具上?╰(‵□′)╯

Matthijs Hollemans

额,确实,这一块对她们而言并不是很要紧,他们尽管给了开发者appstore,可是要是她们的确很推崇这一块,他们理应会给大家更多更实惠的工具

Felipe Laso Marsetti

那是一个值得研商的地点,宗旨的题目是,不管您喜不喜欢,autolayout与StoryBoard都会各处存在,今年WWDC,苹果发表iOS8,大家将会见到苹果在StoryBoard以及Interface
Builder下面做的做事,可视化将会变得更为的有力,有一点自己急需考虑的就是是不是要在大型项目中精选接纳Nibs,StoryBoard是以ViewController为根基元素的,而Nibs是以View为底蕴元素的,一个nib就是一个view,那样在起来使用的时候会有点不适于,因为您想要创设一个自定义的view,不过你又无法在直接在StoryBoard里面达成

除此以外关于苹果专注于appstore等题材,这几个是实际,可是切记,苹果也确定了整套UI、开发了StoryBoard、Interface
Builder,他们创设这一百分之百生态链;别的关于StoryBoard,你可以用来创建相当不难的app,蒙受复杂的app,你恐怕会去接纳Nibs,我觉着这是不对的,你依旧会在统一的时候蒙受顶牛;我想说的是,尝试一下,如若你需求帮扶,来自己那里,你了然在哪儿可以找到我;使用StoryBoard,你实在能够做出极度复杂的项目,性能问题根本无需去担心,在现今的5与5s方面就更是没有须求去担心那个题目了

Tammy Coron

StoryBoard让自己觉得勤奋的是,你不得不在团结的app下边创设自定义views,为什么自己要浪费时间去选择StoryBoard,我用Nibs就足以完全搞定了

Felipe Laso Marsetti

因为StoryBoard能够更好的治本你的视图,当用户在app里进来视图与重回视图,你的控制器就是一个scene,所以你可以进一步可视化的待遇这一个,你可以知道的了解自己会被带到那边去,自定义的view是单身的一些,你能够使用一个nib创造一个自定义的view,然后重用极度频仍,同样要切记,StoryBoard允许你重用你的控制器而不用在StoryBoard里面重复的去成立那些,你甚至足以运用code来创设,你不应有被界定到这边面去,当您结合nibs去行使StoryBoard的时候会更为的地道

Tammy Coron

自身也得以通过瞧着品种的导航部分来治本自己的品种,那是本人的首先个视图,这是我的首个视图,等等,我索要找到一个很好的理由让自己去拔取StoryBoard,我同意关于StoryBoard就是前景的见解,不管我们喜不喜欢,autolayout就是鹏程的取向,不过我真的很难喜欢上StoryBoard

Felipe Laso Marsetti

那边有一个很好的事例,我二零一八年接班了一个类型,包蕴了五六十个ViewController,并且有一大堆的nibs,在自身开始贡献代码之前我只能去深切内部去研究这个事物,因为这么些类型不是我写的,这么些项目现已做了1-2年了,在刚先河的多少个月我完全迷失在那个类型里面,我只能去搞了解这几个nib文件之间的关系,那实际上是充足不便

可是假设自身有一个StoryBoard,那么所有都将会清晰明了,那会省掉家常便饭的日子;所以您应有至少使用StoryBoard来成立app的布局,然后再去具体的炮制一些自定义的酷炫UI,拔取擅自一种你喜悦的措施;当你接手一个大型项目标时候StoryBoard确实会帮您大忙

红衣公公

自己加入的档次具有百万行的代码,几百个视图,我不领会我们是还是不是须求去选取StoryBoard,但是我会去尝尝一下,你说的很不利

Cesare Rocchi

额,我早就有两三年没有去做大型项目了,当自己仍然记得那时候的痛楚,比如去处理千丝万缕的结构体,即便完全使用code来做的门类,要去处理那样那样的结构体也是一件极度艰巨的业务,其实自己也一致是一个看重于视觉的人,然而我并不想在Xcode上边以可视化的样式来做项目,我更欣赏在PhotoShop或者Sketch上边去做那个业务,做一个杰出的coder,你不可能不要了解各个东西,那是一个view那是一个button,这几个是还是不是更加的利落等等,那就是为何我打开Xcode的时候,我期望自己的首先个视图是一个空荡荡的模板

在本人的上一个项目当中,我在一个很小的一部分采取了NavigationController,然而自己添加的是本人自定义的一个NavigationController,那是一个自定义度很高的一个app,在那个项目里面,我一心看不出何地可以应用StoryBoard,我都是用代码把全部搞定,分外的简单,而且可以很好的选定它们,我做的都是自定义度很高的app,唯一一个拔取到的视图模板就唯有tableview

红衣公公

在自家的经验看来,客户经常会给自己Photoshop文件,告诉自己那就是app要看起来的样板,然后你起来写代码,可能还有其它的不二法门,不过我觉着写代码是一种轻松的情势

Felipe Laso Marsetti

从我的阅历不能够领会在客户端合营开发的时候会暴发哪些,可是你得到一个Photoshop文件,你得到一个必要文档,然后对你说那就是app要看起来的旗帜,然后视图A到视图B是哪些的,视图B到视图C又是哪些的,把这几个做出来,告诉您定期,然后拜拜

额,你使用code或者Nibs来做会很酷,不过你可以接纳StoryBoard来做那些东西,就到底相当复杂的UI也足以落成;在自身的小卖部内部,平常会有自定义UI的须求,我们或许要求动用极度多的工具,包涵code甚至是PaintCode,以及任何可以生成可视化的UI的工具,Nibs或者是StoryBoard,可以使用StroyBoard我会极度的欢愉,可以观望自己行使了StoryBoard落成了一个有一个的职责

Brian Moakley

大家谈谈了autolayout,讨论了StoryBoard,并且现在认为它们就是鹏程,可是,一年之后,我们兴许又会说其他的东西是未来,所以,我们应该再一次思考大家的app到底是哪些运行的,知道那个新技巧确实很科学,可以提升大家的工作效用,然而自己想,领会如何行使code来成功具有工作是很睿智的

Felipe Laso Marsetti

iOS7给了大家各样各个的时机去尝尝StoryBoard,甚至是Nibs,如若您拒绝使用StoryBoard,可能因为你现在会动用一种截然分歧于与以往的法门来创制app;既然你现在有一个时机来解脱原来那么繁琐的费用进程还要尝试新的工具以及利用iOS7牵动的全新UI,为何不试一下呢?

红衣三叔

一个很好的尝尝StoryBoard的说辞就是运用StoryBoard可以动态调节尺寸来适应差别的设备,而autolayout将会是最好的化解方案

Cesare Rocchi

自家并不喜欢StoryBoard或者是Nibs,可是自己不得不去精通它们,尤其是本人在教学的时候,不管是教autolayout依旧Nibs,我都会提出您去学学怎么样利用代码来完毕那所有,Nibs或者是StoryBoard做了千千万万的做事,你相信着那些工具,但是却不知情它们背后的代码原理是如何,它们在幕后做了怎么业务,这很不好;倘若你想要成为一名专业的iOS开发者,我想你最好了解种种各类的开发方法,无论是StoryBoard、Nibs仍旧code

Felipe Laso Marsetti

此间有一个很好的例子来证实清楚code的措施很主要,有很三个人平常会问一些题材就是干什么我的视图不可能切换、为何dataSource不起成效等等,知道怎么着运用code会很好的支援您解决这么些问题,一旦你领会怎么着选用code,这您利用StoryBoard或者是Nibs将会是如虎生翼,知道code确实特其余首要

Matthijs Hollemans

在Nibs或者是StoryBoard中利用autolayout是更加好通晓的,使用code来写约束很不难,可是多数时候都并未意义,不过只要您在Interface
Builder里面做那一个,它会报告您什么样的约束是有意义的,它会告诉您何地应该加约束,何地不该加;在Nibs或者StoryBoard里面做那个要比使用code更好

Felipe Laso Marsetti

通晓code确实很有必不可少,大部分人在做iOS开发的时候不清楚语言背后的部分法则,那恐怕会招致局地漏洞极度多,或是内存走漏等等,同样的景色也会在利用StoryBoard或者是Nibs的时候发出,固然采纳那几个工具开发起来会万分的便利,不过假使你不知晓背后的代码原理,你或许会在debug的时候碰到困难

Raywenderlich

这就是说接下去是投票环节了,Nibs、StoryBoard、code,你会选择哪一个?

Brian Moakley

StoryBoard

Cesare Rocchi

Code

Matthijs Hollemans

StoryBoard

红衣二伯

StoryBoard

Felipe Laso Marsetti

从不必要问我

Chris Wagner

StoryBoard

Raywenderlich

本身也一致是StoryBoard

Tammy Coron

自己TMD要说StoryBoard吗?那样自己不是很搞笑(其余人大笑);额,我非常欣赏Nibs,所以我会选择Nibs,但是假使要自身在Nibs和code间做一个取舍,我会选用code,因为code可以做任何事情

Raywenderlich

OK!看来各位半数以上都是采用了StoryBoard,╮(╯▽╰)╭

前言

总结

就作者个人而言,三种艺术本身都尝试过,个人更偏爱选取code,当然根据不相同的风貌我会结合各自的亮点进行付出;如上所述,StoryBoard是鹏程,固然还有不够完善的地点,不过相信苹果会将其做的愈加好,
StoryBorad也会逐步突显出它的魅力

做iOS开发的童鞋都应该会纠结一个题目,这就是在做开发的时候是运用StoryBoard仍旧选拔Nibs又或者是Code(纯代码流)呢?作者也卓殊纠结那一个题目,前几日碰巧在raywenderlich上边看到了多少个大神之间的撕逼,哦不,研商之后,感觉获得广大,于是就将她们谈论的内容整理翻译了一晃,如有不当之处,还请多多原谅,原视频请戳那里
http://t.cn/zRAb4NF

开展阅读

代码手写UI,xib和StoryBoard间的对弈,以及Interface
Builder的一对小技巧

讨论

Ray Wenderlich

Ok!现在我们都在线,感谢各位的来临,后天大家会有一个探究关于iOS开发的琢磨,是采纳Storyboards、Nib照旧Code,我们有三个志愿者,Cesare
Rocchi代表的是“Code爱好者”,苔米(Tammy) Coron 代表的是“Nib爱好者”,Felipe
Laso 马尔斯etti代表的是“StoryBoard爱好者”,我们将从Cesare Rocchi初始

Cesare Rocchi

率先,code是可怜清晰直观的,你可以直接瞧着代码,你不须要开辟稚拙的Nib文件,并且永不深刻探究然后找出部分错综复杂因素到底关联了或者没有涉嫌,这一个都很傻;当您在支付一个大型项目标时候那种情势丰富的有用;当我从一个crazy
guy那里接手一个档次,那一个体系是用StoryBoard或者Nibs做的,最终我会用code重写所用的东西,你可以在StoryBoard或者Nibs设置好所有东西,然则最终你可以用代码重写所有的场地;比如您在一个nib文件之中安装了一个lable,当您运行那个app的时候那些lable看起来与您设置的不太一样,那是因为其余一个人在事后添加了一条龙代码改变了分外lable的性能

Tammy Coron

当听到他(Cesare
Rocchi)如此贬低Nib的时候让自身怒目切齿,我作为一个主次媛有很长一段时间了,我见过这几个多的程序猿喜欢使用code的章程来支付的;但就自身个人而言,我是一个越发依赖于视觉的人,我欢愉通过可视化的不二法门来展开编程,所以我选拔使用Nibs;你也许会说利用StoryBoard可以比采纳Nibs看到越多的东西,不过对自家的话,我并不欣赏StoryBoard,因为StoryBoard能做的很单薄,越发是当您在写一个大型项目标时候照旧你与其余的人搭档的时候,倘使选拔StoryBoard你将会把持有的UI都集中在一个文书之中,那会造成合营变得那么些狼狈,合并上也会有不可胜计的费劲;StoryBoard上还有一个很大的题目就是,它不容许你操作太多的性能,越发是在分歧的View里面使用TableViewCells的时候,你不得以在StoryBoard里面收录它们,你也许可以落成不过会相比辛勤,而Nib要做起这些会愈来愈的概括;并且你不用想去在StoryBoard里自定义Controller或者是View,无论什么日期想要做到这个你最好去行使Nib
对于code,我同意假设选择code要做过多的干活,必必要去领略Nib背后的代码,不过利用Nib你能够很快看到自己对元素操作的效劳,如若利用code,你写好所有的因素,设置好它们的属性,再将它们增进到视图里面,你必必要在运行app之后才能够看到实际的效益,这是老大首要的事务,没有人在意代码到底长什么样,他们只会关注app看起来何等,
最好的体察措施就是采纳Nib来做
So,我也许有点小震动,等自我冷静下来我会说得更好,XD

Raywenderlich

老大不错的理念,现在轮到最终一个人发言了,Felipe该你上了

Felipe Laso Marsetti

So,Cesare你就是个混蛋;苔米并没有让我感觉恼火,因为他很着重可视化,而可视化就是将来,纵然code很酷,不过可视化将会是前景,不错,Nib或许更为的酷尤其的妄动,可是未来势必是StoryBoard的芸芸众生,它可以让您做到一些Nib与code做不到的政工,当你在统一代码或者统一Nib的时候你依旧会碰着顶牛,每当你触碰Nibs,Xcode就会毫无理由的觉得你转移了它,所以您要描述这样的改变,因为Xcode认为它改变了,仅仅因为您看了它一眼
StoryBoard更好,不用再像Nib或者code那样工作,即使您利用code,你需求周转你的app,看布局是还是不是合理,然后重临更改布局属性,再运行app来看作用,不断的再度,那样成效特其余低,或许使用Nib会有所立异,然而当你在做一个大型项目标时候,你会有三四十个ViewController,那样您恐怕就会有四五十个Nib文件,这会万分的可恶,因为你要出色小心的做一些改动
不过StoryBoard不仅可以让您防止写一大堆无聊的代码,甚至是防止那个要在Nib下写的代码,比如动用segue和unwind
segue,你能够经过一密密麻麻的delegate方法来传输数据,你可以安装转场动画,你甚至足以自定义动画
我们都觉得大家不得不在一个StoryBoard上面工作,可是事实上大家得以在持续一个StoryBoard上边工作;当大家在付出公司级客户端的时候,大家不足为奇都是3-5个人的公司,大家会有10个StoryBoard,那很美好,因为您可以将依次模块分开,比如about模块、反馈模块或者社交模块,你可以看出可视化的layout,为了防止旁人说StoryBoard变得尤其大,越来越慢,你可以试着打开它,然后,boom~~,你能够知道地掌握怎样连接着什么,什么要去何地,你可以命名你的segue,你可以有所众多的自定义,所有的这一切都预示着StoryBoard将会是以后
本来,Nibs和code是很有用的,而且我也提议在须要的时候去接纳Nibs和code,可是本人想说在Xcode中行使StoryBoard是丰裕有益的,那是苹果在用的事物,他们为StoryBoard做了那多少个多的做事,它就是鹏程,并不曾丰裕的凭据来阐明StroyBoard很慢很臃肿或者其余,没有丰盛强劲的证据来证实那有的;我强烈提出使用StoryBoard,当必要的时候你能够选拔code或者nibs,不过我提议你尽量幸免去选择,因为StoryBoard才是王道

Raywenderlich

Awsome!相当棒的理念!So,接下去每个人都有一个空子为投机的见识展开辩解,那么,Cesare你有如何要说的吗?

Cesare Rocchi

额,首先,即使当您想要合并Nib或者StoryBoard的时候,那大约就是惊恐不已的梦,毫无意义,然后code要到位那么些是这几个轻松的,作为一个项目高管,我可以领略地看来前日代码都做了怎么着修改,可是像Nib或者StoryBoard,我无法把握它究竟做了什么样,到底是修复了bug如故促成了某一个功用
再有就是,你在一些时候恐怕会动用Xcode的beta版本来举行工作,你明白Xcode在治本Nibs或者StoryBoard上面并不曾那么的智能,当自己打开项目标时候,beta版的Xcode修改了几许文件,导致了有着东西都没有了,那就代表你打开StoryBoard之后什么都尚未了,所以一切项目就完全崩溃了
其三点就是行使Nibs或者StoryBoard会减低我的工作成效,当自己在coding的时候,我爱不释手保持自身的手放在键盘下面,而不用去打开一个nib文件然后去做一些关系,然后又将手放回键盘继续coding,那样会下落我的工作效用;还有某些要提的就是,不止三次,尤其是在初始的时候,我会望着屏幕,尝试着找出是哪个人TMD给这些特性设置了值,何人安装了x或者y,在哪儿或者是怎样设置的等等,That’s
all!

Raywenderlich

So,Cesare说使用code会让她的工作作用更高,苔米你有如何要说的呢?

Tammy Coron

额,当你瞧着nib文件的时候,你并不需求过多的去关爱那么多的特性,它们是怎么设置的以及它们怎样的关联,当您利用nib工作的时候,你只必要将你的psd文件处理将来放到nib文件之中,那样您一贯就可以看出效果,然后你再去关联代码,我想说的是采纳nib一切都丰盛的高速
自我得以在app完毕未来长远到framework里面,在老大简单的光阴里面,在那里面没有代码,唯有可视化的要素,那样就可以高速的递进到screen里,去看您的app是怎么着连接的,然后再去处理自己的代码;不过要是您把全体都用代码来做将会卓殊的繁琐,要去设置那样那样的属性,oh
my
god,大致无聊死了,根本就是在浪费时间;我看不惯使用StoryBoard,使用StoryBoard的人就像僵尸一样,一个big
boy不应有去采纳StoryBoard,额,反正自己就是不爱好XD

Raywenderlich

So,Felipe你是此处最青春的成员,你也不行喜爱僵尸,你有何样观点?

Felipe Laso Marsetti

额,我就是一个僵尸StoryBoard用户,我强烈提议使用StoryBoard,code是充足有必不可少的,有时候你只好去写一些代码来完结那个可视化完结不了的劳作,比如自定义UI,不过这几个都不是常用的,大多数时候使用StoryBoard就足以知足须求了;使用StoryBoard你能够足够便利的去设置元素属性,而不用去理会背后繁琐的代码;那所有的一体都表示StoryBoard是前景,那是苹果在用的事物
说到底我想说,越少的代码就代表越少的机会将bug引入到您的app里面,就类似有500行自定义UI的代码,你可以将它们减弱到100行,这样您就足以幸免掉400行没有需求的代码,那样可以减掉bug,而且这样越发便于的去维护你的代码,假若您是单独开发,那么使用code或许对你影响不大,不过一旦你从外人那里接手项目,你就只可以深远钻研那些代码到底做了何等,是什么设置view的,什么继承了怎样,以及在nib里面有如何,你依旧无法动用nib去创制一个有着static
prototype
cells的tableview,你必须去成立一个tableview的子类,新建.h、.m、以及nib文件,然后再去创立cell的子类,再新建.h、.m、以及nib文件,然后这几个cells在tableview当中是单独的,那样你就不得不去新建一个又一个的cell;可是在StroyBoard里面,只需求一个tableview,20个cells,然后boom~~,太出色了,节省时间,让客户端更简约,更少的bug,而且一切都是在可视化下已毕的,你不用去不停的stop、run、stop、run,然后去看您的nib文件以及你的代码,僵尸赢了

Raywenderlich

正确的论据,有一点自己不住听到的就是,使用可视化的User Interface
Designer,你可以幸免越多的代码,可以减小bug,你们怎么对待这几个意见?

Cesare Rocchi

额,在autolayout出现从前我会同意那几个理念,若是让自己对Interface
Builder进行打分(10分制),在过去我会给6分,当autolayout出现以后就只有3分了,我专门害怕在Xcode4.6下面举办工作,autolayout尝试着将享有的事物混合在共同,造成的情事就是你在界面上边小问题,不过在普通情状下这不是您想要的,你恐怕是想要让你的视图更小依然是其他;我只好认同autolayout在Xcode5之后有所改正,但我对此并不是很感兴趣

Raywenderlich

Tammy,Cesare很反感autolayout,你有怎样想说的啊?

Tammy Coron

自我同一也不是autolayout的狂热粉丝,我会尽量的将autolayout关闭掉,我在一部分种类方面用过autolayout,但本身对autolayout提不起兴趣,你还可以够利用Nib而不去行使autolayout,所以自己认为她的论证是没用的,抱歉XD

Raywenderlich

那么Felipe你是怎么看待autolayout的啊?

Felipe Laso Marsetti

任由你喜不喜欢,autolayout会始终存在着,大家将会有两样尺寸的装备亟需去适配,三星GALAXY Tabmini、诺基亚4、4s、GALAXY Tabretina,autolayout可以协助我们去做到那么些适配,Nin与StoryBoard都可以让你可视化的去行使autolayout,你可以充裕直观的在屏幕上进行布局,不过倘使去选取code,那将会是一件格外劳累的事情
选择StoryBoard在debug的时候你可以格外直观的来看,在Xcode5上,你能够预览自己的布局,一旦你改变布局约束,改变设备的尺码,你可以立刻就见到结果,如果你拔取code,你就只可以debug、run、debug、run,极度的麻烦;就个人而言,我也不是特其他喜欢autolayout,就算在Xcode5与iOS7随后有所改良,但如故不是很好用,这么些我们不可能,然而无论如何,使用Interface
Builder会好过使用code

Raywenderlich

OK!不错的实证,接下去会不断开展半个钟头的研商,Cesare从你从头

Cesare Rocchi

code是更加清晰直观的,你可以写完之后立刻运行,然后得出运行结果,你不须要深入到6个不等的特性编辑器当中,来搞精通这么些变量属性等等是如何被安装的
最后一点自我想要说的是,Interface
Builder背后的见识是尤其不利的,那么些理念是想要让设计师选用来设计UI,不管是Nibs仍旧StoryBoard都会让你直观的看出您的app长什么体统,就如在有些时候,你不必要有一个填写着数量的tableview,作为一个设计师,根本就不会必要一个填写着真正数据的tableview,设计师只想要知道app看起来何等,那不仅仅是一个给设计师的工具,越多的是给那么些不想写太多代码的coder,That’s
all

Raywenderlich

OK!And Tammy?

Tammy Coron

看来,我认为Nibs是最好的方案,更加是对此有创制力的人,知道Nibs背后的代码原理是必备的,可是你怎么要去浪费时间去跟代码较劲,Nibs极度的雄强;至于Story
Board,我不能像对待VB那样对待它,它似乎僵尸一样(可能是异类的情致)(苔米(Tammy)前面说了一个僵尸吃大脑的耻笑,听得不是很懂就没翻译了)

Raywenderlich

Awsome!Felipe?

Felipe Laso Marsetti

额,StoryBoard就是前景,就如block,就如ARC,就好像一代又一代的Xcode与iOS一样,苹果现在把精力都位居了StoryBoard下边,他们并未在Nibs上边更新太多的东西,他们一向不再加新效用进入,你可以坚贞不屈选用Nibs或者是code,然则利用StoryBoard你可以省去大量的日子,你可以在StoryBoard上做出卓殊复杂的UI,segues、unwind
segues、custom
segues,你依旧足以让StoryBoard与Nibs和code一起坐班,更少的bug,你应有去尝试一下
可是你们很几个人依然在应用code和Nibs,因为你们很僵硬,你们喜欢老的方法,害怕改变,说实话,我在平凡工作当中总是在动用StoryBoard,大家在巨型的合营项目中选用它,它连接最趁手的工具
在多数情形下,就自身的经历而言,我恐怕是一个年轻的僵尸,StoryBoard就是自己的工具,StoryBoard可以成功的事你是可以用Nibs和code做到,不过切记,那是在苹果在WWDC上边提出来的东西,把StoryBoard和Nibs混合起来会工作的很好,那就是苹果在做的事体,StoryBoard就是最好的工具,所以,请别阻止你协调去尝试这一项美好的新技巧,你也许仅仅只是害怕做出改变,你只须求花一点微细时间,你就会感受到StoryBoard的光明之处

Raywenderlich

Awsome!感谢各位的解说,那么各位有啥样问题想问的吗?

Matthijs Hollemans

即使您把所有的事物都位居StoryBoard里面,你就须求四回性的弄领会这一大堆的东西,我认为像Nibs那么被细分会更好,允许你选拔segue来连接其余东西,你应该每趟只处理一个显示屏,那样更包容你的Xcode窗口大小,不过StoryBoard占用了太大的半空中

司机

大家都知晓使用StoryBoard可以十分简单的做出一个简单的行使,在AppStore当中80%的接纳都是属于简单利用,有无数的开发者都是业余的,包罗自我也是,我只是想出了非常好的idea,但不必然要做出相当棒的app,我想StoryBoard就是为那个人准备的
Chris Wagner

那是很好的少数

Tammy Coron

您可以只有是nibs来构建一个StoryBoard,就如您如何收拾自己的连串一律,但是我无法想像自己力所能及像使用Nibs那样去行使StoryBoard,说实话其实自己并没有怎么使用过StoryBoard,所以自己对于StoryBoard的大部意见都很牵强XD

Matthijs Hollemans

自身同一也是一个倚器重觉的人,同样我也喜欢在可视化的角度去工作,Xcode能够变得比现行特别的可视化,不仅仅是在团队Nibs和StoryBoard上边,Xcode还足以可视化的做过多的事务,举个栗子,可视化的操控UI元素,我更欣赏在Nibs下做那么些工作,我不认为那种方法(使用Nibs)会被淡化,因为我觉着苹果并没有花太多的念头在温馨的开发工具上,它恐怕只给了支付须要使用的最少功用,越发在与其他的IDE相比较起来的时候,我期待Xcode在将来会变得尤为的可视化

Felipe Laso Marsetti

等一下!你居然说苹果没有花心情在开发工具上?╰(‵□′)╯

Matthijs Hollemans

额,确实,这一块对他们而言并不是很重点,他们固然给了开发者appstore,不过只要她们实在很重视这一块,他们应当会给我们更加多更实惠的工具

Felipe Laso Marsetti

那是一个值得切磋的地点,要旨的问题是,不管您喜不喜欢,autolayout与StoryBoard都会持续存在,今年WWDC,苹果揭橥iOS8,大家将会看出苹果在StoryBoard以及Interface
Builder下面做的行事,可视化将会变得进一步的强硬,有一点自己急需考虑的就是是还是不是要在大型项目中采用采用Nibs,StoryBoard是以ViewController为根基元素的,而Nibs是以View为底蕴元素的,一个nib就是一个view,那样在初步采纳的时候会有点不适于,因为您想要创造一个自定义的view,不过你又不可见在直接在StoryBoard里面完毕
除此以外关于苹果专注于appstore等问题,那么些是事实,可是切记,苹果也确定了上上下下UI、开发了StoryBoard、Interface
Builder,他们创立这一整个生态链;别的关于StoryBoard,你可以用来创建非凡简单的app,蒙受复杂的app,你恐怕会去拔取Nibs,我认为这是错误的,你如故会在集合的时候遭受争辩;我想说的是,尝试一下,就算你须求帮衬,来我那边,你了然在何地可以找到我;使用StoryBoard,你实在可以做出万分复杂的类型,性能问题向来无需去担心,在当今的5与5s方面就更是没有必要去担心那几个问题了

Tammy Coron

StoryBoard让自身备感忙绿的是,你不得不在投机的app上面创建自定义views,为何自己要浪费时间去接纳StoryBoard,我用Nibs就足以完全搞定了

Felipe Laso Marsetti

因为StoryBoard可以更好的田间管理你的视图,当用户在app里进来视图与重回视图,你的控制器就是一个scene,所以您可以进一步可视化的待遇这几个,你可以领略的知晓自己会被带到那边去,自定义的view是独立的一对,你可以选用一个nib创立一个自定义的view,然后重用相当频仍,同样要铭记在心,StoryBoard允许你重用你的控制器而不用在StoryBoard里面重复的去创建这么些,你居然可以动用code来创设,你不应有被界定到那里面去,当您结合nibs去行使StoryBoard的时候会尤其的杰出

Tammy Coron

自己也得以经过望着品种的领航部分来保管自己的品种,这是自己的率先个视图,那是自家的第三个视图,等等,我索要找到一个很好的理由让自己去选拔StoryBoard,我同意关于StoryBoard就是鹏程的意见,不管大家喜不喜欢,autolayout就是前景的大方向,不过本人实在很难喜欢上StoryBoard

Felipe Laso Marsetti

那边有一个很好的例子,我去年接任了一个档次,包罗了五六十个ViewController,并且有一大堆的nibs,在我起来进献代码在此之前自己只好去深入内部去商讨那几个事物,因为这一个体系不是自我写的,那一个类型早就做了1-2年了,在刚开端的几个月我一心迷失在这么些项目里面,我不得不去搞明白那些nib文件之间的关联,这事实上是至极困难
不过只要自己有一个StoryBoard,那么一切都将会清晰明了,那会省掉不可胜道的时间;所以您应当至少使用StoryBoard来成立app的布局,然后再去具体的创立一些自定义的酷炫UI,采取擅自一种你喜欢的章程;当您接手一个大型项目标时候StoryBoard确实会帮您大忙

红衣小叔

自身参加的类型所有百万行的代码,几百个视图,我不亮堂大家是或不是须要去采取StoryBoard,可是我会去品尝一下,你说的很科学

Cesare Rocchi

额,我早就有两三年没有去做大型项目了,当自家仍旧记得那时候的惨痛,比如去处理盘根错节的结构体,固然完全使用code来做的序列,要去处理那样那样的结构体也是一件万分辛苦的作业,其实自己也一律是一个看重于视觉的人,可是自己并不想在Xcode上面以可视化的样式来做项目,我更爱好在PhotoShop或者Sketch上边去做那些业务,做一个得天独厚的coder,你不能不要驾驭各类东西,那是一个view那是一个button,那一个是还是不是越发的灵敏等等,那就是为啥自己打开Xcode的时候,我愿意我的首先个视图是一个空荡荡的沙盘
在自家的上一个门类当中,我在一个很小的一部分接纳了NavigationController,但是本人添加的是我自定义的一个NavigationController,那是一个自定义度很高的一个app,在这一个项目里面,我一心看不出哪个地方可以运用StoryBoard,我都是用代码把全副搞定,万分的不难,而且可以很好的重用它们,我做的都是自定义度很高的app,唯一一个使用到的视图模板就唯有tableview

红衣伯伯

在自我的经历看来,客户平日会给自家Photoshop文件,告诉我那就是app要看起来的金科玉律,然后您起来写代码,可能还有其它的法门,不过自己觉着写代码是一种轻松的措施

Felipe Laso Marsetti

从自家的阅历不可以知道在客户端合营开发的时候会生出怎么样,然而你拿走一个Photoshop文件,你取得一个要求文档,然后对您说那就是app要看起来的金科玉律,然后视图A到视图B是怎么样的,视图B到视图C又是怎么的,把这几个做出来,告诉您定期,然后拜拜
额,你接纳code或者Nibs来做会很酷,然则你可以运用StoryBoard来做这一个东西,即使是极度复杂的UI也足以做到;在自我的店家里面,平时会有自定义UI的须要,我们也许必要使用相当多的工具,包蕴code甚至是PaintCode,以及其余能够扭转可视化的UI的工具,Nibs或者是StoryBoard,能够选拔StroyBoard我会相当的欢欣,可以见到自己行使了StoryBoard完毕了一个有一个的职分

Brian Moakley

大家谈论了autolayout,探讨了StoryBoard,并且现在觉得它们就是前景,可是,一年之后,大家可能又会说其余的事物是前景,所以,我们应该重新考虑大家的app到底是怎么样运转的,知道那么些新技巧确实很科学,可以增进我们的工作效能,可是自己想,了然怎么利用code来成功有着事务是很睿智的

Felipe Laso Marsetti

iOS7给了大家各样各类的空子去品味StoryBoard,甚至是Nibs,倘若你拒绝利用StoryBoard,可能因为你现在会采取一种截然分歧于与往常的主意来创立app;既然您现在有一个时机来解脱原来那么繁琐的费用进程还要尝试新的工具以及使用iOS7带动的全新UI,为何不试一下呢?

红衣大伯

一个很好的尝尝StoryBoard的说辞就是利用StoryBoard可以动态调节尺寸来适应不一样的装备,而autolayout将会是最好的解决方案

Cesare Rocchi

本人并不欣赏StoryBoard或者是Nibs,不过自己不得不去了然它们,尤其是本身在教学的时候,不管是教autolayout仍然Nibs,我都会提议您去学学怎么着利用代码来已毕那整个,Nibs或者是StoryBoard做了好多的干活,你相信着那几个工具,不过却不晓得它们背后的代码原理是什么,它们在幕后做了怎么样工作,那很不佳;如若您想要成为一名正式的iOS开发者,我想你最好精通各类各个的开发方法,无论是StoryBoard、Nibs如故code

Felipe Laso Marsetti

此间有一个很好的例子来证西楚楚code的法子很要紧,有成百上千人时常会问一些题目就是为啥我的视图不可以切换、为什么dataSource不起作用等等,知道哪些利用code会很好的帮扶您解决这一个题材,一旦你精晓怎么选用code,那您使用StoryBoard或者是Nibs将会是如虎添翼,知道code确实极度的要害

Matthijs Hollemans

在Nibs或者是StoryBoard中接纳autolayout是万分好掌握的,使用code来写约束很简单,不过多数时候都未曾意思,可是借使你在Interface
Builder里面做那几个,它会告知您如何的羁绊是有含义的,它会告诉你哪个地方应该加约束,哪个地方不应有加;在Nibs或者StoryBoard里面做这一个要比选拔code更好

Felipe Laso Marsetti

清楚code确实很有须要,半数以上人在做iOS开发的时候不通晓语言背后的部分规律,那可能会促成一部分荒谬,或是内存败露等等,同样的动静也会在运用StoryBoard或者是Nibs的时候发出,固然采纳那一个工具开发起来会要命的便宜,可是假诺您不了然背后的代码原理,你可能会在debug的时候碰到困难

Raywenderlich

那就是说接下去是投票环节了,Nibs、StoryBoard、code,你会挑选哪一个?

Brian Moakley

StoryBoard

Cesare Rocchi

Code

Matthijs Hollemans

StoryBoard

红衣岳丈

StoryBoard

Felipe Laso Marsetti

并未须要问我

Chris Wagner

StoryBoard

Raywenderlich

自己也同样是StoryBoard

Tammy Coron

额,我非常喜爱Nibs,所以我会接纳Nibs,不过只要要自己在Nibs和code间做一个增选,我会选取code,因为code可以做其余工作

Raywenderlich

OK!看来各位一大半都是选项了StoryBoard

总结

就作者个人而言,二种方法本身都尝尝过,个人更偏爱选择code,当然根据不一致的情形我会结合各自的亮点举行付出;如上所述,StoryBoard是未来,尽管还有不够周全的位置,不过相信苹果会将其做的一发好,
StoryBorad也会日趋显示出它的魅力

拓展阅读

代码手写UI,xib和StoryBoard间的对弈,以及Interface Builder的有的小技巧
http://t.cn/8kdcjt6

相关文章