为什么我停止使用情节提要和Interface Builder

在开始点燃手电筒之前:是的,我以前曾经广泛使用过Interface Builder。 实际上,直到几个月前,如果没有我心爱的情节提要,我无法想象创建一个项目。 我研究了一些代码约束,而仅语法本身就使我不寒而栗。 因此,当您在Samsao的第一天得知我的指南明确禁止使用Interface Builder时,您可以想象到我的惊讶。 当我的同事开始解释这是为什么时,我所能想到的就是:但是使用IB变得如此简单!

然而,放开情节提要几周后,我无法想象自己会再使用一次。

现在,如果您是IB的狂热分子,您可能会将我钉为极端主义者,而无视此刻我所说的一切,那很好。 但是,如果您可能想知道是否有办法让您每天花30分钟等待重载的故事板文件打开,那么这篇文章适合您!

因此,不要浪费您的宝贵时间,让我们开始吧!

他们很

如果您有足够的耐心并且喜欢在等待IB文件打开时进行呼吸练习,那么对您来说非常好! 就个人而言,每次我尝试打开一个故事板时,我要做的就是把头撞在墙上。 我知道,我的耐心正在发展中。

在团队合作中与他们共事

如果您是自由职业者/独立开发人员或将来的开发人员,那么这可能还没有影响到您,但是如果您曾经不得不处理NIB文件上的合并冲突,那么您会感觉很糟糕。 使用UI代码,轻而易举!

它们使代码的可重用性复杂化

在代码中,如果有5个看起来几乎相同的屏幕,那么使用协议在它们之间高效地重用UI代码非常容易。 使用情节提要,祝您好运,找出如何分享观点和行动!

他们会变得很乱

一个图像说出一千个单词。 这到底是怎么回事?

SnapKit 使编写代码约束变得如此轻松!

好的,您已经阅读了有关Visual Format Language的一两本书,这让您有些哭泣……

  customView.addConstraints(NSLayoutConstraint.constraints(withVisualFormat:“ V:| -20- [customView(> = 70 @ 500)]-[customView(== customView)]-30- [customView]-|”) 

但是,如果您了解SnapKit及其简单性,您真的没有任何借口!

  customView.snp.makeConstraints {(make)in 
make.top.equalToSuperview()
make.centerX.equalToSuperview()
make.width.equalTo(70)
make.height.lessThanOrEqualTo(200)
}

UI代码没有比这更好的了!

总结一下

是的,对于初学者来说,情节提要更容易进入,对于快速制作原型非常有用。 但是,如果您从事的是大型专业项目,那么我实在找不到一个很好的理由来说明为什么有人会喜欢使用它们而不是用代码编写UI。

如果您对如何使用SnapKit设置没有情节提要的项目感到好奇,请查看有关此内容的新博客文章!

现在,我知道那里的大多数IB / storyboard狂热者仍然认为我很疯狂,如果您是其中的一员,我很想得到您的意见,请给我评论!

干杯,直到下一次!