首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

KMM跨平台开发入门,看这一篇就够了~

通过KMM开发者可以 iOS 和 Android 应用程序之间共享通用代码,并仅在必要时编写特定于平台代码。 ...KMMHelloWorld 环境配置 这里假设,你已经有了一台Mac、安装了高版本AndroidStudio(这里不会介绍Xcode配置), AndroidStudio搜索插件Kotlin Multiplatform...源集是一个 Gradle 概念,用于逻辑上组合在一起多个文件,其中每个组都有自己依赖项。 Kotlin Multiplatform ,共享模块不同源集可以针对不同平台。 ...首先我们将用到依赖添加进来,这里主要有Kotlin协程、序列Ktor使用要求)、和KtorKtor是一个可以用于HTTP请求网络框架,如果读者不熟悉的话可自行查看。代码如下所示。  ...添加接口 这里我们仍然使用「wandroid」每日一问接口 :https://wanandroid.com/wenda/list/1/json 与Compose中使用Paging分页库使用接口和实体类是一样

4.3K20
您找到你想要的搜索结果了吗?
是的
没有找到

Compose也能开发iOS了,快来体验~

前言 之前,我们已经体验了Compose for Desktop 与 Compose for Web,目前Compose for iOS 已经有尚未开放实验性API,乐观估计今年年底将会发布Compose...gradle.properties,代码如下所示: compose.version=1.3.0 然后我们shared模块build文件引用插件 plugins { kotlin("multiplatform...实现一个双端网络请求功能 之前第1弹和第2弹,我们分别实现了Desktop、和Web端网络请求功能,现在我们对之前功能在iOS上再次实现。...添加网络请求配置 首先在shared模块下build文件添加网络请求相关配置,这里网络请求我们使用Ktor,具体可参照之前文章:KMM初次尝试~ 配置代码如下所示: val commonMain...Compose-jb很久之前已经发了稳定版本只是Compose-iOS目前还没有开放出来,而KMM当前还处于试验阶段,不过2023年KotlinRoadMapKotlin已经表示将会在23年发布第一个稳定版本

1.2K30

只会用 Spring Boot 创建微服务?这 4 种替代方案绝了!

前言 Java 和 Kotlin , 除了使用Spring Boot创建微服务外,还有很多其他替代方案。...首先,Koin 启动,然后初始所需依赖并调用startServer()方法—-其中创建了一个WebServer类型对象,应用程序配置和路由设置传递到该对象; 启动应用程序后Consul注册:...方法Render请求阶段(Send阶段之前执行)首先确定被调用服务名称,然后consulClient请求服务实例列表,然后通过循环算法定义一个实例正在调用。...因此, Helidon 和 Ktor 服务, 我使用了Java类库方式Consul 客户端。...图片 启动时长 每个应用程序启动时长都是不固定: 图片 值得注意是,如果你将 Spring Boot 不必要依赖排除,并注意设置应用启动参数(例如,只扫描必要包并使用 bean 延迟初始

12310

只会用 Spring Boot 创建微服务?那你就 OUT 了,还有这 4 种替代方案!

点击关注公众号,Java干货及时送达 前言 Java 和 Kotlin , 除了使用Spring Boot创建微服务外,还有很多其他替代方案。...首先,Koin 启动,然后初始所需依赖并调用startServer()方法—-其中创建了一个WebServer类型对象,应用程序配置和路由设置传递到该对象; 启动应用程序后Consul注册: object...方法Render请求阶段(Send阶段之前执行)首先确定被调用服务名称,然后consulClient请求服务实例列表,然后通过循环算法定义一个实例正在调用。...因此, Helidon 和 Ktor 服务, 我使用了Java类库方式Consul 客户端。...Spring Boot 不必要依赖排除,并注意设置应用启动参数(例如,只扫描必要包并使用 bean 延迟初始),那么你可以显著地减少启动时间。

5.9K20

Java微框架兴起,流行微服务框架点评

Javalin, Micronaut, Spark 和其他很多东西让构建REST api变得轻而易举。本文中,我将研究这个令人兴奋领域,并分享我对它们使用看法。 什么是微服务框架?...Javalin是Kotlin编写,它支持Java和Kotlin。如果您想编写一个漂亮REST API,那么Javalin是一种乐趣。 Javalin正在积极开发,每隔几周就会发布新版本。...spark Spark -Kotlin和Java 8创建web应用程序微型框架,只需最少努力。 早在2011年Java就采用了微框架。...ktor 易于使用,有趣和异步。 不是Java,而是Kotlin微框架。Ktor是由JetBrains公司赞助和开发,JetBrains是Kotlin创造者,它致力于使开发变得简单和有趣。...它不是web框架,而是提供和使用基于http服务通用工具包。 Dropwizard是一个用于开发操作系统友好、高性能、基于restweb服务Java框架。

2.5K41

只会用 Spring Boot 创建微服务?这 4 种替代方案了解一下!

来源:www.kubernetes.org.cn/9526.html 前言 Java 和 Kotlin , 除了使用Spring Boot创建微服务外,还有很多其他替代方案。...首先,Koin 启动,然后初始所需依赖并调用startServer()方法—-其中创建了一个WebServer类型对象,应用程序配置和路由设置传递到该对象; 启动应用程序后Consul注册:...方法Render请求阶段(Send阶段之前执行)首先确定被调用服务名称,然后consulClient请求服务实例列表,然后通过循环算法定义一个实例正在调用。...因此, Helidon 和 Ktor 服务, 我使用了Java类库方式Consul 客户端。...图片 启动时长 每个应用程序启动时长都是不固定: 图片 值得注意是,如果你将 Spring Boot 不必要依赖排除,并注意设置应用启动参数(例如,只扫描必要包并使用 bean 延迟初始

2.4K40

Kotlin 异步框架 Ktor 2.0 发布,提供新插件特性

它还引入了 Kotlin/Native 支持,这是对 Ktor 1.6 添加 GraalVM 支持补充。...其他改进包括随机端口支持、经过改进测试 API、类型安全路由、XML 序列和插件子路由(subroutes for plugins)。...客户端,Ktor 2.0 带来了一个经过简化 API,用于管理常见 HTTP 请求;响应现在是HttpResponse类型,可以简单地使用 bodyAsText 访问响应体。...Ktor 应用程序可以托管在任何支持 Servlet 3.0+ API Servlet 容器,如 Tomcat,或使用 Netty 或 Jetty 独立运行。...Ktor 使用 Kotlin coroutines 以直观命令式流程实现异步编程,而为了避免阻塞线程,上述所有服务器容器都使用异步 I/O 工具。

82830

谷歌社区说|聊聊Compose跨平台与KMM

通过KMM,开发者可以 iOS 、 Android、Desktop与Web 应用程序之间共享业务逻辑通用代码,必要时也可以编写特定于平台代码。所以,KMM只负责跨平台下业务逻辑部分。...这里添加网络请求库Ktor和序列依赖,因为是Kotlin跨平台嘛,KtorKotlin推出网络请求库,所以肯定使用Ktor是最佳选择。...社区对KMM支持 目前官方许多库都已经支持了跨平台,比如我们刚刚使用网络请求框架Ktor、依赖注入Koin还有序列组件等。...最主要是,paging-commonAPI与AndroidX 下API完全相同,仅仅是将包从androidx.paging迁移到了app.cash.paging,所以这部分使用我们直接按照AndroidX...这样我们就确保多平台下使用同一API调用调用方不需要关注具体实现。

48010

UiPath List 集合实例使用

前言 大家好呀,我是 白墨,一个热爱学习与划水矛盾体。 最近刚接触 RPA ,在学习 UiPath ,昨天需求要用到 List 集合,直接创建 List 集合并使用会报错,需要对集合进行实例。...实例 List 变量 UiPath 虽然是拖拉拽编程方式,内部还是 VB 语法。所以,初始 List 集合,还是得从 VB 语法入手。...我们UiPath创建项目时,需要选择 VB 和 C# 语言,这其中VB就是 VB.NET 。默认是 VB.NET。...当然","不好也可以","随便你"} 其中 listName 是变量名, as 后 New List(of String) 就是实例一个泛型为 String List 集合, From {...Int类型也一样,其他类型以此类推: dim intList as New List(of int32) From {5,2,0} 现在我们 UiPath 里面来实例

2K30

KotlinConf 2019 观影指南 – 前端与 Web 开发篇

Kofu 是讲师几个月前 Spring Fu 孵化器开发 Kotlin DSL。...Ktor 是由 JetBrains 自主研发 Web 框架,100% 由 Kotlin 打造。身为安卓程序员、已经会写 Kotlin 你,将可以用自己已经熟悉语言写服务器端 API!...在这场演讲里,讲师 Dan Kim 将通过一个真实示例来说明如何轻松使用 Ktor 构建 API 服务,以及常见业务需求包括:身份验证、获取数据、发布数据和部署。...而对 Kotlin 在后端应用有兴趣同学,则可以参考官方文档里服务器端概览,以及 Ktor 官网、Kotless Github 上页面。对了!...Ktor 1.3 版日前发布了,详情可以参考这篇博文。 这系列观影指南就在这篇告一个段落了,希望对各位同学有所帮助。

85620

今天Kotlin 1.3正式发布:支持协程和多平台组件Kotlin 开发者社区

Kotlin 生态现状 今年以来,Kotlin 使用率有了很大增长,自今年 1 月份以来,约有 150 万开发者使用了 Kolin 编程,是去年同期两倍,来自 Stack Overflow 一项问卷调查显示...详解 Kotlin 1.3 新功能 Coroutines 已经稳定 Coroutines 是 Kotlin 1.1 引入新异步 API,它是一个强大工具,之前该特性一直处于试验阶段,而在最新 v1.3...,Coroutines 语法和标准库 API 都已稳定,你可以开始使用它了。...虽然 Kotlin 多平台功能仍处于试验阶段,但 1.3 版本算是向前迈出了一大步。 Kotlin 1.3 还附带了一组多平台库,涵盖了 HTTP、序列和协同管理等日常任务。...编写多平台代码最简单方法是依赖这些库,你还可以创建自己多平台库,将特定平台依赖项包装到通用 API

1.3K20

Kotlin 委托属性Android开发几个使用场景!

如你所见,委托属性并没有什么神奇。但是,它虽然简单,却非常有用,让我们来看一些 Android 开发例子。 你可以官方文档中了解更多关于委托属性内容。...所以让我们来写一个扩展函数用于往Bundle 存储某种类型值,类型不支持时候抛出异常。...我们把这个类型设为非空,并且不能读取时抛出了异常,这让我们可以 Fragment 获取非空值,避免了空值检查。...Kotlin Android Extension视图绑定来获取布局控件。...总结 我们看来一些 Android 开发中使用 Kotlin 委托属性例子。当然了,你也可以用别的方式来使用它。 这篇文章目标是展示委托属性是多么强大,以及我们可以用它做什么。

4.5K41

【错误记录】Kotlin 代码运行时报错 ( init 初始调用还未初始成员属性 )

文章目录 一、报错信息 二、问题分析 三、解决方案 该问题本质就是 , 成员属性 init 初始代码块中进行初始 , 但是初始之前调用了该 成员属性 , 编译时没有报错信息 , 但是运行时会报异常...角度分析 上述代码执行顺序 , Kotlin 类 对象实例 时会执行一系列 初始操作 , 这些操作按照如下顺序执行 : 主构造函数 属性赋值 类属性赋值 init 初始代码执行...次构造函数 代码执行 首先 , 上述代码没有主构造 函数 , 因此该项忽略 ; 然后 , 执行属性赋值 , 代码定义了 name 属性 , 但是没有进行赋值 ; var name: String...再后 , 执行 init 初始块 , 其中先执行 nameFirstLetter 函数 , 该函数调用了 fun nameFirstLetter() = name[0] name 属性 ,..., 成员属性 init 初始代码块中进行初始 , 但是初始之前调用了该 成员属性 , 编译时没有报错信息 , 但是运行时会报异常 ; 三、解决方案 ---- 调换 初始代码块 代码顺序

1.7K10

解读spring5源码实例单例bean调用

Spring 5 源码实例单例 Bean 调用链可以从 Spring Boot 主类 SpringApplication run 方法开始。 下是大致调用链路: 1....SpringApplication.refreshContext 方法 该方法 run 方法内部被调用,用于完成应用上下文初始和刷新。 3....AbstractApplicationContext.refreshBeanFactory 方法 该方法使用在步骤4获取 BeanFactory 实例进行应用上下文配置和初始。 6....它会调用相关实例策略和处理器来创建 Bean 对象。 12....整个过程,Spring 通过调用一系列方法和处理器,完成了单例 Bean 实例和初始化工作,最终将可用单例 Bean 放入容器供其他组件使用。 术因分享而日新,每获新知,喜溢心扉。

7610
领券