专栏名称: 移动开发前线
专注于分享移动开发前沿和一线技术。
目录
相关文章推荐
51好读  ›  专栏  ›  移动开发前线

国外8年iOS开发者的5点心得

移动开发前线  · 公众号  · 前端  · 2017-06-26 23:20

正文

请到「今天看啥」查看全文


版权声明
作者:Anton Holmquist
译者:孙薇
原文:https://hackernoon.com/5-key-learnings-after-8-years-of-ios-development-7190d8a01d09
本文由作者授权翻译并发布。

本文作者从 2009 年开始进行 iOS 系统的开发工作,中间参与开发了无数款应用。本文就是结合他多年心得,总结出的一些能够让应用开发更高效、更有趣且更具可维护性的方法。

也许你认为这些看法很有争议,但是在原文的评论里,有不少认同该文观点的,可能是国内外开发环境不同的原因吧。另外,国内除了第四条,其它几条都很少讨论,难道大家的看法这么一致吗?

1、保持原生

如果代码保持原生平台,就不会真正出错。任何跨平台的技术都可能会增加复杂性,并有可能给项目引入 bug。此外,报告的实际节省时间差异也很大。目前,我们只听说过有大型项目因跨平台而感到后悔,而未曾听说过大型项目因保持原生而感到后悔的。还是不要冒险比较好。

2、避免使用外部库

如今使用外部库完全没有必要,许多事情通过原生框架就能完成得很好。连接网络就是个很好的案例,我们无需某些炫酷的数据库才能解决,只管基于 iOS 的联网代码,根据项目需求构建自己的封装就好,这样的做法简单而具有灵活性。这一道理适用于几乎所有我们需要的功能,当然在一些实际案例中,我们不得已必须使用到外部数据库。比如想要在应用中嵌入谷歌地图,或者 Intercom 对讲机,那也是可以接受的。

3、不要使用包管理器

既然我们不应当使用那么多外部库,也就无需软件包管理器了。只需将个别的外部库加入项目就行。使用专门工具来管理这些库并不会节省时间。

4、使用代码编写布局,不要采用 Storyboard

Storyboard 可以帮助初学者快速上手,但如果需要一些合理的动态布局的话,无论如何都要在代码中写入相关的逻辑,那么,干嘛不在一开始就这么做呢?我曾经见过许多项目中都有硕大的 Storyboard,其视图控制器中空无一物。更不要说自动布局了——这些只会给简单易写的内容增加复杂性。实际上,来自笔者的建议是:将所有布局逻辑写入代码,丢掉 Storyboard 和自动布局。简单,又具有极度的灵活性。至于具体做法,笔者有另一篇文章可以参考:

https://medium.com/@antonholmquist/easy-and-flexible-uikit-layout-without-storyboards-or-auto-layout-2c39e8e408ea

5、使用 Core Data

新上手 iOS 开发的程序员很少使用 Core Data,它很复杂,要入手就需要一大堆的样板代码,而且乍看没什么吸引力。刚开始 iOS 开发的头一年,笔者也花了一些时间进行深入研究,结果以失败告终。之后读到了这篇文章,于是决定再花些时间来研究。最后,一切清晰起来,使用 Core Data 的确是在 iOS 中处理数据的最佳办法,它非常强大,能够帮助开发者解决一些非常困难的问题,比如几乎每个应用都会出现的持久性问题以及传播数据变化的问题。诚意推荐 Core Data。

以上这些建议有助于开发者创建出一个可以存续数年,应对不同 iOS 版本的可维护项目。请保持简单。







请到「今天看啥」查看全文