一、是否考虑使用Swift
“这次不骗你了,3.0发布后稳定两年!”不知道这封邮件的内容是不是真的。目前3.0正处于beta阶段,10月份应该会正式发布。
Swift的优点:Swift减少了项目里的文件数量。它很简洁。它的类型系统和泛型可以让我们少写很多代码。它也很适合函数式响应式编程范式(Functional Reactive Programming)。Swift的标准库已经提供了大部分你需要用到的功能。我们都认为Swift使用起来比OC更简单。
二、第三方库的选择
- 我们都很喜欢用第三方库,不过最好不要太依赖于第三方库。有些第三方库有着很多社区的支持,能够及时更新和维护这个我们用没有什么问题。所以在引入一个第三方库之前要考虑清楚是不是真的需要它。
- 应该限制引用第三方库的数量, 当大量引用第三方库依赖以后,我们会发现启动App程序时间变慢,苹果建议引用的外部依赖数量不要超过6个。
三、选择适合你的布局方式
- Xcode的所见即所得工具Interface Builder和Storyboards在不停的改进。它让新手也可以轻松的创建界面布局。但是这并不意味Xib就是所有情景下的都是正确选择。
2.Storyboards会减慢iOS开发。它对于解决merge的冲突很不友好。也会限制你的流程,界面,业务逻辑在同一个地方。这样会让可移植性下降。
3.我们想要创建一个这样的应用,UI尽可能是数据驱动并且是动态的。Storyboards不能做到这点。我们用一个叫 PureLayout的库。将我们的界面构建成模块以支持复用,让代码像一块块拼图可以轻松的复用。
四、了解苹果的最佳实践
业务需要常常会限制正确的技术选型。然而你需要了解苹果的最佳实践并且尽快遵循它。有限的旧版本操作系统兼容。苹果的推荐是兼容当前版本的前一个版本。比如现在的版本是9.3,那就只支持到8.4。把警告当做error,在发布前解决所有的警告。在Xcode8中可以设置把警告当做错误对待。尽早的进行性能测试,并且经常进行。你越早发现一个问题,就会在解决它的时候花费更少的时间。在真机上进行测试总是比在模拟器上测试好。并且在app支持的最老设备上进行测试。
五、使用Asset Catalogs。确认你的图片资源支持了所有的分辨率。将3x的图片使用在2x的设备上使设备的内存增加。如果图片资源大,这种瞬间的内存增加可能会让iOS直接杀掉你的app。还是老老实实准备2x、3x的图吧。这里强烈推荐一个WWDC上的session [https://developer.apple.com/videos/play/wwdc2016/213/]
六、支持TLS。http请求只支持到2016年底。