Tag: Sebastiaan de Stoppelaar

iOS开发:The Woost Way™

在Woost,我们的承诺是在一个月内生产出最低可行的产品。 我们相信(几乎)每个新概念的核心都可以在该时间范围内构建。 我们帮助我们的客户找到核心,定义目标和假设,并缩小范围,直到一个月之内即可完成开发。 我们为网络(响应式)和移动(本地Android,本地iOS)构建。 为了能够加快速度并快速交付,我们拥有用于大多数项目的标准工具集和标准项目设置。 在本文中,我将向您介绍我们用于iOS项目的内容。 当然,随着每天都会出现新的最佳实践和新框架,这可能会发生变化。 警告:技术性越来越强😉 可可豆 其他人已经做了很多工作。 如果您知道如何珍惜他人*的工作,则可以节省大量时间,并避免通过使用轮子来重新发明轮子。 *: 这个很重要! 您应用的性能和稳定性至关重要。 CocoaPods是Swift和Obj-C项目的程序包/依赖性管理器。 您可以将CocoaPods集成到项目中,以轻松添加,删除或更新外部软件包。 我们主要使用CocoaPods,有时使用Carthage,但发现前者更易于使用。 我们或多或少的标准Podfile看起来像这样,已经使您了解了我们使用的工具: 吊舱“ RxSwift” 豆荚“ RxCocoa” pod’SwiftyJSON’ 吊舱“翠鸟” pod’PureLayout’ 吊舱“ R.swift” 豆荚“面料” pod’Crashlytics’ pod’Firebase / Analytics’#或’GoogleAnalytics’ 在设置Pod时,请确保还检查gitignore.io来创建一个漂亮的.gitignore模板! 我们通常从这一点开始。 接收 RxSwift是ReactiveX for Swift的一个版本(RxCocoa通过Reactive magic扩展了Cocoa API)。 ReactiveX简化了异步调用(避免了回调地狱 ),使代码更具功能性,可读性且不易出错。 我们主要将其用于API调用和用户界面绑定。 有关为什么使用Rx的更多信息,请查看RxSwift不错的页面。 Ray Wenderlich有一个很好的Rx入门教程。 SwiftyJSON 尽管Swift对JSON有一些基本的了解,但是使用SwiftyJSON可以使代码更整洁,类型更强,代码更短,更好理解。 翠鸟 有很多用于缓存图像的库,但是我们发现Kingfisher是最简单,最方便的使用方法。 PureLayout AutoLayout在情节提要板上可以很好地工作,但是如果您想在代码中添加布局约束,则原始API相当冗长且难以阅读。 PureLayout是一个很好的API,可以解决此问题。 凭借其方便的类型推断,尤其是使用Swift的短点语法,PureLayout的工作非常简洁。 SnapKit是一个不错的选择,我们尚未尝试。 […]