KMM是什么 KMM的全称是Kotlin Multiplatform Mobile,与之对应的是KMP—Kotlin Multiplatform Project,其实就是一个是Kotlin移动端跨平台,...KMM更像是营销术语,我们不用纠结Mobile这个词,你要知道的是,下文我们所说的KMM就是指的Kotlin跨平台不仅限于移动端就行了。 KMM可以简化多平台应用程序的开发。...在KMM早期推出来的时候,那个时候Compose Multiplatform还没有发布,所以大家都觉KMM很鸡肋,因为90%的开发者认为移动端的主要工作都在编写UI上,跨平台不能跨UI叫做哪门子的跨平台...这样我们就确保多平台下使用同一API来调用,调用方不需要关注具体的实现。...中可以通过使用 UIKitView,在共享用户界面中嵌入复杂的特定于平台的小部件,如地图、 Web 视图、媒体播放器和照相机等。
Kotlin 在移动端的跨平台框架子集叫做 Kotlin Multiplatform Mobile,简称为 KMM。...而这两者是目前为数不多可用的 Kotlin 多平台库。...2.4 业务 Model 模块 根据由下至上的开发顺序,在基础底层架构都搭建完毕后,在 KMM 工程业务层代码的编写中应该首先要规范 MVVM 模式中 Model 层代码的编写。...从 1.4.x 版本开始 JetBrains 将 Kotlin 迭代的重点放在了多平台领域。...Ktor 与 kotlinx 库等官方库是目前 Kotlin 跨平台的中坚力量,Ktor 目前可以在多平台环境提供稳定的 HTTP 请求、数据序列化/反序列化功能,是相当强大的 Kotlin 多平台网络库
而KMM却与之相反,接下来让我们来一起了解一下吧~ 什么是KMM KMM 即 Kotlin Multiplatform Mobile 是一个 SDK,旨在简化跨平台移动应用程序的开发。...上面官方的描述说了这么多,简单的来说就是KMM注重业务逻辑跨平台,和Flutter、Compose完全相反。即使如此,在这个都想着跨别人的年代,KMM也称自己并没有说过不会做UI的跨平台......KMM的HelloWorld 环境配置 这里假设,你已经有了一台Mac、安装了高版本的AndroidStudio(这里不会介绍Xcode的配置), 在AndroidStudio中搜索插件Kotlin Multiplatform...在 Kotlin Multiplatform 中,共享模块中的不同源集可以针对不同的平台。 如下图所示。 支持多个目标的多平台库,可以在公共源集 commonMain 中使用。...因为我的电脑配置不允许我安装Xcode... 实现元旦倒计时 接着我们看如何实现元旦倒计时的功能,其实就是计算现在距离元旦还有多少天。
而现如今, Kotlin 经过 1.0 正式发布 ? 1.1 正式支持 JavaScript 并开始试验协程 ? 1.2 开始试验多平台 ?...KMM 插件 KMM 算是 Kotlin Team 为多平台这个重磅特性挖掘的一个重要的应用场景。 ?...不过,如果想要将 KMM 直接应用于移动端跨平台上上,还是有些问题需要解决的,这主要就是 Kotlin Native 对于 iOS 的支持的问题,例如: Kotlin Native 的并发模型比较严格,...Kotlin Native 可用的框架目前仍然比较少,如果想要编写 Kotlin 多平台的代码,也需要我们引入的框架支持 Kotlin 多平台,例如序列化框架可选的目前主要就是官方的 kotlinx-serialization...当然,视频直接收看可能需要一些操作,后面的话我看看能不能跟官方的小伙伴商量下尽快搬到国内的视频平台上。
本文将深入探讨Kotlin开发框架的核心优势,包括其与Jetpack组件的完美结合、MVVM架构的实现,以及Kotlin在网络请求和跨平台开发中的应用。...的跨平台开发能力除了在Android开发中的出色表现外,Kotlin还具备强大的跨平台开发能力。...通过Kotlin Multiplatform Mobile(KMM),开发者可以在iOS和Android应用程序之间共享通用代码,并仅在必要时编写特定于平台的代码。...KMM注重业务逻辑的跨平台共享,这使得开发者可以更加高效地利用代码资源,减少重复工作。...五、结语综上所述,Kotlin开发框架以其高效、简洁和跨平台的特点,为移动应用开发带来了革命性的变革。
➡️ 什么是 Kotlin Multiplatform Mobile? Kotlin Multiplatform Mobile (KMM) 是由 Jetbrains 提供的跨平台移动开发 SDK 。...借助 Kotlin 的 跨平台能力,你可以使用一个工程为多个平台编译。 使用 KMM,具备灵活性的同时也保留了原生编程的优势。...在写这篇博客的同时,KMM 仍然处于 Alpha,你可以开始尝试在你的应用中共享业务逻辑代码。 在移动开发领域,KMM 目前没有为大众所熟知。...然后,在所有的其他模块中编写平台特定代码来实现对应的类或函数,并用 actual 修饰。 注意,如果你使用了 expect,你必须提供对应名称的 actual 实现。...Kotlin-Multiplatform-Libraries 译者说 在已经一片红海的移动端跨平台开发领域,Kotlin 另辟蹊径,让你可以继续使用平台原生方式开发 UI,在业务逻辑上做到 “Write
一、什么是KMM? Kotlin Multiplatform Mobile ( KMM ) 是一个 SDK,旨在简化跨平台移动应用程序的创建。...KMM用纯Kotlin编写一次代码,即可在iOS和Android上运行,开发应用的公共业务逻辑只需要编写一次。KMM减少了为不同平台编写和维护相同代码所花费的时间。...KMM SDK层:如alog、PlatformMMKV写成一个SDK可以供其他KMM模块(business)使用。...6.1 sdkframework模块的iosMain需要有一个kotlin文件 如果iosMain没有kotlin文件,将无法生成 iOS framework,为其添加一个文件即可,如SDKTest.kt...3、Multiplatform programming 4、KMM 求生日记二:Kotlin/Native 被踩中的坑 5、KNDemo
Compose 能应用于跨平台,主要是基于 KMM 架构,KMM 的介绍可以查看官方文档《Get started with Kotlin Multiplatform Mobile[1]》,我们来看下 KMM...实现这个方法,这样,在不同的平台集成 KMM 时就可以实现各自平台的效果。...KMM 架构可以实现各端的通用逻辑,那基于 KMM 的 Compose 主要目的是为了实现各平台的 ui 统一。...我大致列了一下: 路由、状态、生命周期统一 图片资源统一 多语言统一 1、路由、状态、生命周期统一 在 Android 平台,可以使用 androidx.navigation:navigation-compose...我觉得,如果有一款能直接让客户端的编程语言(kotlin、swift)直接实现跨端,而不是再学习一款新的语言(dart) 来实现多平台开发,那真是一件美好的事情。
当然,我这篇文章不是来对比这两个技术的,而是来介绍另一个新的移动跨平台技术的选择 -- KMM KMM KMM的全称是:Kotlin Multiplatform Mobile,它是jetbrains公司的产品...但原生开发这种一个APP,两端分别开发,始终在成本上是企业非常想避免的事 (虽然实际上原生开发的成本并不一定比跨平台开发多,只是大家感觉跨平台开发似乎只需要一半的成本,但这并不是事实) 于是KMM则完全从另一种思路来解决这个问题...KMM官网:https://kotlinlang.org/lp/mobile/ myddd-kmm-scoffold示例项目发布 我一直在关注与调研移动开发的技术,对iOS的SwiftUI,Android...而KMM也是我关注的一个移动开发技术方向,因为它一方面重用了业务,另一方面又维持了原生开发,似乎是个挺不错的实现思路。 最近五一假期时,基于KMM做了一个可运行的示例项目。...• github: https://github.com/mydddorg • Gitee: https://github.com/mydddorg 未来 对于KMM这个技术,我也仍然在学习与尝试中,
作者简介 禹昂,携程机票移动端资深工程师,专注于 Kotlin 移动端跨平台领域,Kotlin 中文社区核心成员,图书《Kotlin 编程实践》译者。...携程机票移动端团队在2021年介绍过 KMM 技术在机票产线的落地情况(参考链接 1),2022 年年中开源了团队首个 KMM 项目—— MMKV-Kotlin(参考链接 2),并撰文(参考链接 3)详述...它支持 Kotlin Multiplatform,除了 Android、iOS 这样的移动端平台,还通过 Kotlin/Native 直接支持 macOS、Linux 以及 Windows 等桌面端平台...再往上就到了 KMM common 层,我们希望 DSL API 的实现应该是完全平台无关的, 因此我们需要 sqllin-dsl 的下层提供了一个叫做 sqllin-driver 的模块,它在不同的平台上提供不同的具体实现...并且我们也能通过 SQLiter 的多平台支持能力,扩展到除 iOS 外的多个 Native 平台。
同时Kotlin也表示将在2023年发布KMM的稳定版本。 届时Compose-jb + KMM 将实现Kotlin全平台。...创建好KMM项目后我们需要添加Compose跨平台的相关配置。...Compose-jb很久之前已经发了稳定版本只是Compose-iOS目前还没有开放出来,而KMM当前还处于试验阶段,不过在2023年Kotlin的RoadMap中,Kotlin已经表示将会在23年中发布第一个稳定版本的...所以,这个系列我觉得改名为:Kotlin跨平台系列更适合一些,要不然以后就会存在KMM跨平台第n弹,Compse跨平台第n弹.......因此,从第四弹开始,此系列将更名为:Kotin跨平台第N弹:~ 写在最后 从自身体验来讲,我觉得KMM+Compose-jb 对Android开发者来说是非常友好的,不需要像Flutter那样还需要额外学习
作者简介 禹昂,携程移动端资深工程师,专注于 Kotlin 移动端跨平台领域,Kotlin 中文社区核心成员,图书《Kotlin 编程实践》译者。...由于目前 Kotlin Multiplatform 生态尚处于起步阶段,大部分 Kotlin 开源库都是 JVM only 的,因此在我们团队的日常开发过程中迫切需要一些能够支持 KMM(Kotlin...在经过了大半年的线上实验证明了其稳定性与功能的完整性后,携程机票研发团队决定将其开源,为 Kotlin Multiplatform 开源生态添砖加瓦。...MMKV-Kotlin 的总体设计见下图: 四、实现简介 在《携程机票 App KMM 跨端生产实践》(参考链接 1)一文的 2.2 小节中我们曾以 MMKV 作为 demo 来介绍 KMM 的...起初,MMKV-Kotlin 只支持 Android 与 iOS 两个移动端平台,但在 1.1.1 版本中已经添加了对 macOS(包括 Intel 与 M1&M2 芯片架构)的支持。
1 为什么选择 Kotlin 跨平台? 我先介绍一下我们团队的情况,交代清楚我们技术选型的背景。...在下文中,我会多次提到 KMM 这个简称,这里先简单讲一下 KMM 是什么: 基于 KMP(Kotlin Multiplatform)派生,全称 Kotlin Multiplatform Mobile。...Android 平台产物 aar,iOS 平台使用 Kotlin Native 编译,产物 framework 与平台无关的 common 逻辑可以跨更多的平台,如 Mac、Linux、Windows、...Web 等 2 Kotlin 是如何实现跨平台的?...对于常规业务开发来说,我更推荐 MVP 设计法则,把 M 和 P 层收拢在 Kotlin 中。
类和对象:Kotlin 中类是默认final的,继承需要显式标注。控制流:如if表达式、when、for循环等。二、中级特性2.1 高阶函数和Lambda表达式学习如何传递函数作为参数或返回它们。...Kotlin 作为一种多平台的编程语言,除了在 Android 开发中广受欢迎之外,还在多个领域和应用场景中展现出了它的灵活性和强大功能。以下是 Kotlin 的一些其他主要应用场景:1....前端开发Kotlin/JS:Kotlin 可以编译成 JavaScript,与流行的前端库(如 React)集成,或者直接使用基于 Kotlin 的框架,例如 Kotlin/React 或者通过 Kotlin...移动跨平台开发Kotlin Multiplatform Mobile (KMM):使开发者能够共享业务逻辑代码在 iOS 和 Android 平台之间,同时仍然可以针对每个平台编写特定的用户界面代码。...游戏开发虽然游戏开发通常不是 Kotlin 的首要应用领域,但它可以与其他游戏引擎结合使用,如 LibGDX 或 Unity 中的 C# 插件。8.
安卓 超宽带 (UWB) API、Jetpack Compose、Kotlin Multiplatform Mobile (KMM) 和聊天机器人是 Android 应用程序开发的主要亮点。...Kotlin 多平台移动 (KMM) Kotlin Multiplatform Mobile (KMM) 技术允许您编写一次代码,然后在 iOS 或 Android 等多个平台上使用此代码。...KMM 支持许多移动目标,包括 Android 应用程序和库,以及 ARM32 和 ARM64 平台上的 Android NDK。...多平台功能 2022 年 React Native 可能增长的另一个领域是其多平台功能。对多平台编程的支持有助于减少一遍又一遍地编写相同代码所花费的时间,但它也确保您可以保留本机编程的灵活性。...React Native 框架非常适合复杂的多平台应用程序开发,预计 2023 年移动应用程序收入将达到 9350 亿美元,RN 已为增长做好准备。
2、多平台框架 多平台开发的意思是说,同一套代码能够在不同的平台上运行。随着重用代码以及其他劳动成果的难度降低,多平台也变得越来越普遍。Jetbrains团队通过Kotlin语言很好地实现了这一点。...分享:46 张 PPT 弄懂 JVM 性能调优,不仅如此,你还可以使用KMM(Kotlin Multiplatform Mobile,Kotlin多平台移动开发SDK),创建可同时在iOS和Android...上运行的移动应用!...话虽如此,其实我也非常看好Flutter的发展前景。它已经取得了很大的成功。即便你是一位资深的原生应用开发人员,尝试一下Flutter也没有坏处。...随着iOS和Android操作系统在市场中的主导地位日益提高,应用开发领域的投资在短期内不会减少。
从验证电子邮件地址到执行复杂的代码重构器,正则表达式的用途非常广泛,是任何软件工程师工具箱中必不可少的条目。 ? 什么是正则表达式?...替换模式(\3\2\1\2\4)简单地交换了表达式中月份和日期的内容。 以下是我们如何在Javascript中进行这种转换: ?...同样的脚本在Python中是这样的: ? 4 – 电子邮件验证 正则表达式也可用于输入验证。 ? 以上是一个(过于简单的)Regex,用来匹配电子邮件地址。...注意——在现实应用程序中,使用Regex验证电子邮件地址对于许多情况,例如用户注册,是不够的。但是一旦你确认输入的文本是电子邮件地址,那么你应该始终遵循发送确认/激活电子邮件的标准做法。...我真的不建议在你的应用程序中使用上述表达式;最好是使用一个有信誉的电子邮件验证库或继续探索更完整的电子邮件验证Regex。
在GitLab中,可以使用电子邮件来进行通知、邀请等操作。为了使用这些功能,您需要在GitLab中配置一个可用的邮箱服务器。在本文中,我将介绍如何在GitLab中配置电子邮件服务器。...通常,这是与您的GitLab帐户关联的电子邮件地址。...例如,如果您的电子邮件地址是yourname@example.com,则应该将以下行添加到配置文件中:gitlab_rails['gitlab_email_from'] = "yourname@example.com...在点击按钮之前,请确保您的发件人地址和收件人地址都是有效的电子邮件地址。如果您的设置正确,您应该收到一封测试电子邮件。...您还可以尝试使用其他电子邮件客户端,如Outlook或Thunderbird,来测试您的SMTP服务器是否可用。
介绍 我有一台Ubuntu服务器,上面运行了若干应用。我希望某个应用崩溃或出问题的时候,系统后台自动把故障信息发到我的邮箱。这样,免去了我远程登录服务器,查看运行故障日志的烦恼。...Postfix是Linux平台上应用广泛的邮件系统。本文中将在Ubuntu平台上安装配置Postfix,实现发送邮件功能。...而绝大部分收件人的邮件服务器会对发件电子邮件地址有效性做出判断,如果不与常规域名后缀(如xxx.com, xxx.net等等)一致,会判定为垃圾邮件而丢弃。所以,我们需要进入步骤四。...打开以下文件: sudo vi /etc/postfix/generic 添加以下内容: 你的用户名@你的服务器名字 你希望对方看到的电子邮件地址 如我在服务器登录用户名为user1,我的服务器名字为...svr5,我希望对方看到的电子邮件地址为user@126.com,那么添加内容为: user1@svr5 user@126.com 如果你希望对方回复,user@126.com应该是你希望收到回复邮件的地址
事实上,据 JetBrains 称,超过480万名开发者已经将 Kotlin 用于服务器端、移动多平台、Android 和前端开发。...当然,由于领域的特殊性,服务器端的增长不会像 Android 那样快,但 Kotlin 会长期坚持,我们并不着急。 作为一种全栈、多平台的语言,Kotlin 才刚刚起步。...基于过去的历史,随着我们从 Kotlin Multiplatform Mobile (KMM) 开始稳定 Kotlin multiplatform 的各个部分,我们预计对 Kotlin multiplatform...InfoQ: 你希望看到 Kotlin 在未来 10 年内如何发展? Elizarov: 我们未来 10 年的主要重点是多平台生态系统。...在过去的几年中,他一直专注于移动平台和相关技术的开发。他目前在 BigML,Inc. 工作,负责 iOS 和 OS X 开发。
领取专属 10元无门槛券
手把手带您无忧上云