来自DO iOS Conference ’18的4项经验教训

2018年11月2日,该是DO iOS第二部分的时候了:由CocoaHeadsNL在阿姆斯特丹*主办的会议。 大约有12场讲座(均与iOS开发和Swift相关)以及免费的咖啡和食物,对于渴望继续学习和改进游戏的开发人员来说,这里是个好地方。

我有机会参加了这次活动,并将在这里与您分享一些最令人兴奋的亮点。 让我们潜入吧!

*如果您错过了本系列活动的第1部分,请点击此处

引起我注意的第一个话题是荷兰银行(ABN AMRO)。 舞台上有五位不同的演讲者,每位演讲者都针对不同的主题,分享了宝贵的知识并解释了他们的工作方式。 有两点引起了我的兴趣:

1-源代码管理分支模型。 该团队使用中继而不是标准git-flow进行开发。 他们努力建立一个始终稳定且随时可释放的分支。 他们通常不执行拉取请求(或仅对短暂的功能分支执行请求),而是选择结对编程来解决技术上复杂的问题,并进行提交后审查。 好处:

  • 这种方法消除了解决合并冲突的烦恼 ,它审查了巨大的拉取请求,这些请求通常最终会说“看起来不错,正在合并!”
  • 迫使您在测试新引入的代码的地方进行小的提交
  • 鼓励您重构代码并保持代码库整洁 (在功能分支中进行重构使审核变得困难,并且可能会导致可怕的合并冲突)。

2-牢不可破的交付管道。 为了使此方法顺利运行,您需要付出巨大的努力来测试代码并建立可靠的交付管道。 以下是交付新产品版本之前需要执行的每个步骤的概述:

就像这张幻灯片所示,团队在测试,代码质量和持续集成/交付上花费了时间。 令我惊讶的是,使用此管道,由于提交前将其提交到远程之前有许多安全点,因此根本不可能中断中继。

团队使用的一些外部工具:

  • SauceLabs在大型仓库中存储的真实设备上运行UI测试。
  • SonarQube在每次提交后分析代码质量,告诉您代码重复的数量和代码覆盖率。 他们展示的示例覆盖了88%的代码,仅覆盖了3%的代码重复。 挺棒的!
  • 连结以在开发人员之间共享档案。

对我而言,这次演讲表明了为什么以及为什么要不断进行集成/交付是绝对值得的。 换句话说, 在构建高质量产品时不选择不测试代码是不可行的。

我们也可能会在不远的将来尝试使用树干进行开发,它为像我们这样的小型团队带来了很多好处。 另外,我喜欢结对编程的思想,用两个人而不是一个人来解决复杂的问题,从而产生了更加一致和清晰的代码库。 而且上面提到的外部工具值得一看。


另一个有趣的话题是ANWB的David Broza。 David讨论了ANWB的编程方式,如何使用不同的应用程序架构维护干净的代码库以及如何测试代码。 与ABN AMRO一样,ANWB投入了大量精力来测试其代码并使用众所周知的体系结构。

David展示了他们如何注入依赖项以使代码可测试。 ANWB使用自定义汇编程序,这与我们在Mobile Company使用的Swift依赖注入框架Swinject非常相似。 对于单元测试,他们创建了自己的Swift模拟框架-类似于我们使用的Cuckoo框架。

显然,必须编写经过良好测试和架构良好的代码,通过教我们的开发人员为什么以及如何编写可测试的代码,再次确认我们在生产维护良好的代码库中处于正确的轨道。


亚历山大大帝 Griekspoor是一位经验丰富的应用程序开发人员,长期以来一直在开发成功的产品,他分享了有关如何创建Agenda应用程序的故事。 我喜欢听到有灵感的开发人员的故事,但我并不感到失望。

议程—关于Notes的优雅新见解。

议程是一个以日期为中心的笔记应用程序,可用于计划和记录项目。 凭借其独特的时间表…

schedule.com

对我来说,听听他是如何提出产品创意,议程的业务模型以及他们如何建立用户群的,这可能是这次演讲中最有价值的部分。 亮点:

  1. 议程解决了亚历山大本人最初必须解决的问题,即他是实际用户 。 这种参与程度使构建具有真正价值的产品变得更加容易。
  2. 他解释说, 优秀的设计师必须构建一个优秀的应用程序 ,并在示例前后证明了这一点。
  3. 当您下载议程并首次打开它时,您会看到由亚历山大撰写的故事。 它使人们下载了该应用程序 ,而不是下载产品本身,而是下载他添加的有趣故事。 这就是该应用程序在Product Hunt上迅速流行并开始引起关注的方式。

此外,议程具有令人印象深刻的商业模式。 如果应用缺乏基于用户从其获得的价值的相关业务模型,那么它的目的是什么? 议程主要提供为期4个月的订阅,可帮助用户永久解锁所有新发布的高级功能。 如果您觉得自己的应用程序具有所需的所有功能,则可以取消订阅- 但您可以永久保留产品 (这与大多数基于订阅的应用程序一样,不会失去高级功能)。

向客户提供有关他们可以从中受益的业务模型或如何通过创新概念进一步开发和改进产品的建议,可以为您的服务增加巨大的价值。 它使我们的团队可以在短期和长期内创造更好的产品。


Dim Sum Thought的创始人Daniel Steinberg很好地谈论了Siri快捷方式,向我们展示了如何在我们自己的应用程序中使用它们,并演示了实现非常容易。

即使不是每个人都使用Siri,但在不久的将来仍有潜力赢得市场。 如果Apple一直在推动开发人员使用Siri和语音进行开发的新工具,则表明他们有意使其成为标准。

将Siri快捷方式集成到应用程序中可以为客户及其用户带来更多价值。 我们一直致力于继续掌握这些技术,以为我们的客户提供最先进的服务。 声音是未来,不是吗? (谁从未听过播客?)


会议结束时,所有参加者均可免费享用饮料。 是时候与其他热情的开发人员见面并享受一些乐趣! 我要和目前在happn工作的巴黎开发人员聊天。

找到您遇到的人

发现您遇到的人,您喜欢的人,您想再次找到的人!

www.happn.com

有点背景:happn是一个约会应用程序,可以帮助您找到以前认识的人。 注册后,您可以创建个人资料,选择最佳照片,编写简历,然后可以开始浏览其他人的个人资料。 这基本上就是应用程序的用途。

为什么要上下文? 您可能已经猜到:使用happn之类的应用,您发布的照片​​应符合严格的标准。 不过,这并不能阻止某些用户发布不合理的图片,而这些图片可能会损害其他用户的敏感性。 用户可以报告这些配置文件,最终它们将被删除-但是,该过程是手动的。 不便吧?

因此,happn找到了一个解决方案: 训练机器学习模型 。 通过配置应用禁止的大量图片,这些模型被设置为禁止不遵守规则的帐户-这意味着每次创建新帐户或发布新图片时,该模型都会首先由ML模型批准。 太酷了!

机器学习是一种具有广阔前景的技术,可用于无数种解决方案。 作为开发机构,将机器学习集成到我们的应用程序中绝对有可能为我们的服务增加价值,并使我们的客户更加满意。


iOS 2018 DO大会有一些非常有趣的演讲,给我留下了很多想法和想法。 这些知识与我们在The Mobile Company的工作方式非常吻合,我们可能很快就会更深入地研究基于主干的开发,并继续进行结对编程,在持续集成上投入时间,当然还要教育我们的开发人员测试,应用架构和模式,以与高质量的代码库一起使用。


The Mobile Company的 Maxime Peralez 移动开发人员。 曾经玩橄榄球,希望在绘画方面变得更好,并将永远喜欢Marvel电影。

我们是一家屡获殊荣的阿姆斯特丹移动代理,与领先的公司和知名品牌合作,为数百万用户创建应用。 我们发布有关炫酷技术,出色项目和其他有趣内容的信息。 跟上来? 联系我们。 想与我们合作? 我们正在招聘。

您收件箱中的最新消息? 在此注册。

请注意,此博客文章仅涵盖部分活动讲座。 所选视觉镜头的 专有权 属于 CocoaHeadsNL


最初于 2018年12月14日 themobilecompany.com 发布