[Kotlin翻译]介绍KMMBridge for Teams

339 阅读5分钟

本文由 简悦SimpRead 转码,原文地址 touchlab.co

随着Kotlin多平台移动测试版的推出,Touchlab将推出KMMBridge,一个工具......。

介绍团队的KMMBridge

今天,我们宣布推出KMMBridge,它是Touchlab新的Faktory*工具套件的一部分。这套构建工具允许移动团队使用Kotlin多平台移动版成功发布共享代码,速度比以往更快。 

特别是针对iOS发布,团队现在可以实施内部SDK流程方法,这是当今快速将KMM集成到生产应用构建中的最佳实践。

要想自己尝试,请访问 github.com/touchlab/KM… !

KMMBridge允许团队发布和集成Kotlin多平台移动(KMM)Xcode框架作为内部SDK。

我们为什么要建立一个以团队为中心的工具

Touchlab多年来一直与处于Kotlin多平台旅程不同阶段的团队合作。评估KMP,将KMP投入生产,是的,甚至还花了相当多的时间与那些看过KMP并决定不使用的团队交谈。现在回想起来,我们学到的关键经验之一似乎很明显。

不同类型的团队以不同的方式工作

当然,每个团队都是不同的。每种情况都会有所不同。然而,有一些共同的模式。

开箱即用的KMP和Kotlin/Native工具包会让你建立一个Xcode框架,然后将其本地集成到你的Xcode项目中。如果团队中的每个人都构建了Kotlin,这就很好用。而在一个理想的世界里,每个人都能构建Kotlin。

但在现实世界中,大多数成功的团队都遵循内部SDK流程的方法。

内部SDK流程的方法

就像在团队中采用任何技术一样,早期的胜利有助于建立动力和信心,这样团队就可以随着时间的推移释放全部潜力。内部SDK流程已成为采用KMM时获得更快投资回报的最佳实践。在最简单的情况下,这种方法意味着Kotlin Xcode框架是预先建立的,并作为内部SDK(与您的团队共享的私有模块)发布,因此iOS开发人员可以包含它,而无需在本地建立Kotlin。

Kotlin Xcode框架是预先建立的,并作为内部SDK发布

其他人(团队成员、CI等)构建了Kotlin Xcode框架,并将其发布在内部某个地方。该框架然后被Xcode消费,就像其他的SDK一样。iOS的构建工作流程不需要添加Gradle或Kotlin,也不会增加其构建时间或风险。我们的构建工具让团队立即构建他们的方式,提高了效率,并消除了不必要的复杂性,开始了。

关于更多的背景,请看Nate Ebel在2022年Droidcon NYC的演讲:在棕地应用中采用Kotlin多平台。这是对团队面临的启动问题的一个非常好的概述。

KMMBridge如何工作

KMMBridge是一套Gradle工具,它与你的Kotlin多平台移动项目集成,协助构建和发布KMM Xcode框架。它是为内部SDK流程建立的,但你也可以用它来发布公共SDK。

其基本流程如下。

  1. 编辑和测试您的共享Kotlin代码,然后推送到您的源码控制库。
  2. 用KMMBridge启动CI构建。它将打包、版本和发布您的Xcode框架。
  3. 告诉Xcode更新到新的版本

iOS的构建工作流程不需要添加Gradle或Kotlin,不会增加其构建时间或风险。

image.png

对于iOS开发者来说,不需要安装或学习任何新东西。KMMBridge支持Cocoapods和Swift Package Manager。它可以发布到几个不同的后端,包括Github发布,更多支持即将到来。

为什么使用这种方法?

作为一个中型以上的移动团队的领导者或成员,这些听起来是否很熟悉?

  • 大多数Android开发人员对iOS的构建了解不多。
  • 大多数iOS开发人员从未接触过Gradle**
  • 这些应用程序都在不同的仓库中,或者至少有非常不同的构建工作流程。

Touchlab合作过的每个团队,只要成功将KMP添加到他们现有的iOS应用中,都是从内部SDK流程开始的。

有些团队有相对成熟的内部模块共享系统,Artifactory或类似的系统。大多数(你会惊讶于谁)没有这样的系统。即使有某种工件共享,也需要做大量的自定义工作来连接Kotlin Xcode框架,使之包含在生产的iOS构建中。

KMMBridge将帮助大多数团队加速解决这个问题,并开始有效地使用KMM。

内部SDK流程之后是什么?

当你想扩大规模,让共享代码更接近你的功能开发流程时,下一步是什么? 

表面上看起来很简单,但这可能会变得很棘手,这取决于团队结构和功能的开发方式。我们看到的一个例子是:随着时间的推移,两个团队都可能开始编辑代码,就好像它不是共享的一样,如果没有明确的指导,这些编辑会在多个方面开始冲突。

大多数在生产中使用Kotlin多平台移动的团队都使用了一个或多个Touchlab解决方案。如果你想扩大你的KMM开发规模(或者已经这样做了),我们应该谈谈


www.deepl.com 翻译