担任iOS工程师30个月。 给新人的提示。

  • 30个月
  • 7个应用
  • 2个大应用
  • 兼职自由职业者
  • 全职iOS工程师
  • 长期玩家

这是我给新手的iOS开发提示。

以斯威夫特

Swift vs Obj-C我应该首先学习哪个? 我的答案直接针对Swift。 使用Swift学习,播放和开始新项目。 除非您有理由使用Obj-C。 例如,维护旧应用程序。

警告-不打算在Obj-C中启动您的项目,以后再迁移到Swift。 迁移比您想象的要难。

知道生态系统

什么是流行的JSON库? 我的应用程序应使用哪个云数据库? 目前发生了什么事?

您应该了解应用程序的工具/库/框架/堆栈。 不要成为一个孤独的程序员,自己编写一切。 有人已经贡献了这些作品,使您的生活更轻松。 选择并使用它们可以提高生产率。

对于开源库。 搜索` awesome-xxx`。 例如,` awesome-swift` ,` awesome-ios`

使它工作,使其正确,使其快速

我一直相信这个概念。 软件开发不是一次性的工作。 好的软件是经过多次迭代制作而成的。 当您第一次做某事时,可能并不如您所想的那样好。 但是,请放心,花些时间重新访问它,并使它变得更好。 只要记住你在做什么。 经验会为您提供帮助。 下一次转到最后一步比您想象的要容易。

学习建筑

看看其他成功的应用程序。 看看它们是如何制成的。 不仅是应用程序方面,还是整个系统。 建筑角度将提高您的工艺水平。 有很多开源的iOS应用。 电报,Firefox,维基百科,WordPress,VLC,电线。 github / open-source-ios-apps是一个很好的资源。

实验

开发应用程序时。 您可能会想出很多主意。 有时您不确定它们是否会起作用。 因此,首先要进行概念验证。 通过辅助项目表达您的想法。 如果可行,则将其移至您的主项目。

如果它们是小的代码级别。 不要浪费您的时间来编译和运行整个项目。 在Playground上编写和测试。 查看结果,然后复制并粘贴。

不要打架

响应式,Redux是学习的好框架。 学习它们肯定会帮助您成为一名优秀的开发人员。 但是不要在大型​​iOS应用中将它们用作主要框架。 我已经尝试过了,但是对我来说不起作用。 我总是面对这个问题。 解决这个问题并非易事。 因此,请保持靠近MVC / MVVM。

仅在使您的生活更轻松时,才将这些框架用作帮助工具。 例如,我将Reactive用于事件处理。

函数式编程非常好

不变性。 纯功能。 高阶函数。 函数式编程的许多概念将极大地增进您的理解。 即使您不打算在iOS开发中使用它。 相信我,就学习吧。

最佳实践是梦想

一切都有其取舍。 您不能总是遵循仅在教科书中可能存在的那些准则。 实用性和即兴创作将帮助您生存。

保持最新

技术成倍增长。 静止一年,您将成为一只明智的猴子。 如果可能,请每周更新数据库。 我喜欢每周订阅电子邮件。 iOS开发者周刊,iOS好东西,娜塔莎机器人,一点可可粉。 这样,我不必自己找到那些策划的资源。 周末玩得很开心。

…并观看WWDC。

学习其他

Swift / Obj-C / iOS。 还有什么? 许多。 尝试用其他东西弄脏您的手。 后端,网络,游戏。 厌倦了编程? 设计和业务可能。 您的选择永远不会出错。