使用Kotlin跨平台加速开发

披露 :Sam是Touchlab的工程经理, Touchlab是一家位于纽约的移动创新咨询公司,具有Kotlin Multiplatform的专业知识。

当领导一个由iOS和Android开发人员组成的团队并为两个平台创建相同的应用程序时,您肯定会遇到以下一个(或全部)问题:

1. 产品:技术债务和架构问题正在减缓发展
您的团队在添加新功能方面遇到困难,因为您的代码库中有太多的部分纠缠不清并且相互关联。 结果,每当您添加新功能或修复现有错误时,都会出现新错误。 当您的团队在产品上进行创新时,他们会不断灭火。

2.人员 :您的iOS和Android团队很孤立,缺乏协作
Android和iOS工程师应该能够在两个平台上进行交付。 但是,现代团队通常缺乏使工程师升职以在两个平台上交付的结构。 此外,几乎没有协作,甚至没有协作,这使得在两个应用程序之间实现功能奇偶校验特别困难。 这太费力了,需要太多的管理时间。

3. 过程:可以更好地定义您的工程方法
您的iOS和Android工程师的工作速度可能会有所不同,因此很难使功能版本保持同步。 同时,独立的积压可能会使某些事情在裂缝之间溜走。 而且,如果某些功能是有意在一个平台上先于其他平台提供的,则由于不共享代码,因此很难预测何时有第二个功能可用。 实际上,单独的应用程序和单独的团队会导致不同的应用程序和用户体验。

这些挫折的原因在整个人,产品中 并且流程缺乏开发人员之间的共同点,并且对每个平台的依赖和耦合过多。 因此,解决方案是集中这些开发工作并将其与平台分离。

代码共享(尤其是与Kotlin Multiplatform之类的本机框架共享)通过推动开发人员从更模块化的角度分离视图和逻辑,从而鼓励更好的体系结构。 通过将表示层与业务逻辑层隔离,您不仅可以简化体系结构,而且可以简化错误测试,维护和升级。 所有这些收益仅来自于朝着多平台友好体系结构迈进,甚至还解决了只需要为两个平台编写一次代码的明显好处。

(Sam Hill绘制的图,由Nelmer De La Cruz设计)

与React Native或Flutter等替代性多平台解决方案相比,KMP致力于最大化共享业务逻辑。 我们认为,通过为用户提供一致的平台体验同时共享尽可能多的代码,这比讨厌的“跨平台”模型更具优势。 要深入了解为什么我们更喜欢KMP而不是其他选择, 您可以在此处查看我们的网络研讨会

如何开始

那么,从Kotlin Multiplatform(KMP)开始的地方-总之, small

产品:从小处着手,避免大风险

首先隔离单个图层或组件或特征。 例如,您可以隔离持久层,实际上是为两个平台创建一个数据库实现。

隔离持久层使它能够在两个平台上对整个应用程序起作用。 换句话说,每次应用程序调用数据库时,它的行为都相同。 它不是特定于平台的。 可以使用SQLDelight的单个实现,而不是使用iOS的CoreData或Android的Room。

当您开始隔离诸如持久性之类的层并改进KMP中的体系结构时,开始重构其他层也变得更加容易。 例如,使用KMP,网络组件可以从iOS上的AlamoFire迁移到Android上的Retrofit,也可以使用KTOR从Android上的Retrofit迁移到共享层。

人:建立与平台无关的团队

使用KMP,您的开发团队不再需要孤立无援。 通过扩大共识并简化平台代码,您将有机会轻松升级iOS和Android平台工程师,成为移动工程师 。 一些低风险的方法可以做到这一点?

为Android工程师介绍学习iOS的弹性时间,反之亦然。在这两个平台上,坚持由同一平台特定的开发人员处理相同的用户案例。 (可以理解,这是一个较慢的过程,但是具有较高的长期投资回报率。)执行共享代码审查。 (例如,让一个Android开发人员编写一个拉取请求,并让一个iOS开发人员对其进行审查。)随着任务开始变得越来越多平台化,代码审查开始为开发人员提供了查看完整故事并在平台之间进行相似之处的机会。

过程:促进干燥(不要重复。自己动手)

创建与平台无关的环境不仅限于开发。 巩固驱动开发的流程同样重要。 在单个位置跟踪多平台功能可轻松维护平台对齐。 让您所有的多平台开发人员参与相同的计划流程可以改善沟通。 整合的缺陷跟踪可确保错误不会落在平台上的缝隙中。

因此,如果您正在寻找加速和优化开发的机会,那么KMP是开始精简产品人员流程并使其适应未来发展的好方法:

  • 产品: KMP专注于在业务逻辑层(大多数体系结构问题发生的地方)共享代码,并使您能够零碎地解决问题-无需重大决策。 您可以按照自己的步调从小做起,并在继续之前查看结果。
  • 人员:使用KMP,您的工程师将为未来作更好的准备,因为他们可以在多个平台上交付产品,因此可以为更广泛的组织增加部门的价值。
  • 流程:以KMP为中心,您将介绍更好的工程流程,以促进代码共享和多平台开发。
对于有兴趣从Kotlin Multiplatform入手并降低采用风险的工程经理,我们很高兴向Hacker Noon读者宣布The Touchlab Refactory。

它是什么?
Touchlab Refactory部署了一个专门的代码后勤团队来执行架构审查,重构代码,并为Kotlin Multiplatform的未来开发提供详细的路线图。

它如何帮助移动工程领导者?

  • 增量重构
  • 规定的时间范围
  • 独立的工作轨道,敬业的团队
  • 测试更多,时间更少
  • 改良的架构
  • 减少重复
  • Kotlin多平台专业知识

您可以在此处加入候补名单。

From: https://hackernoon.com/accelerating-development-with-kotlin-multiplatform-qel134ac

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值