当前位置: 首页 > news >正文

跟公司产品做网站免费创建个人网站

跟公司产品做网站,免费创建个人网站,网站风格设计视觉,页面设计时最好前言 Kotlin可以用来开发全栈, 我们所熟悉的各个端几乎都支持(除了鸿蒙) 而我们要开发好KMP项目需要一个好的基础架构,这样不仅代码更清晰,而且能共享更多的代码 正文 我们可以先将KMP分为前端和服务端 它们两端也能共享一些代码,比如接口声明,bean类,基础工具类等 前端和…

前言

Kotlin可以用来开发全栈, 我们所熟悉的各个端几乎都支持(除了鸿蒙)

而我们要开发好KMP项目需要一个好的基础架构,这样不仅代码更清晰,而且能共享更多的代码

正文

我们可以先将KMP分为前端和服务端

它们两端也能共享一些代码,比如接口声明,bean类,基础工具类等

前端和服务端共享

基础工具类

首先是基础工具类,module可以命名为stdUtil

这些工具类应该是可以仅使用Kotlin基础库的一些工具代码

比如空判断,协程,集合,字符串类的工具等

接口声明和类

这些可以放到一块,module可以命名为shared

其中可以放一些前后端通用的bean类,比如接口序列化返回的bean

还可以放接口的声明,这样前后端都实现这个接口

shared中声明:

声明中限制了接口的url,参数和返回值

后端实现:

(使用的spring,也可以用ktor)

可以看到后端直接实现了这个接口并重写了这个函数,url,参数和返回值直接就确定了,后续如果有变更后端就可以直接知道(不修改会编译不过去)

前端实现:

该代码也是实现了其接口,然后通过下面这个开源库用ksp自动生成的,这样前端可以什么都不写就有了此接口的声明,并且调用返回值Call的相应执行函数可以通过网络请求获取到后端的响应

开源库:LazyPeopleHttp: Kotlin跨平台的网络请求客户端, 比Retrofit更容易声明

前端共享

前端目前可以分为几个前端,对应的module可以命名为:

androidApp

iosApp

desktopApp

webApp

前端共享的module可以叫 frontEndShared

几个前端同时依赖 frontEndShared, shared, stdUtil

后端(backend)依赖 shared, stdUtil

前端ui和逻辑共享

页面

首先ui共享一般可以使用页面,比如Activity,这里可以参考这篇文章(ui当然就Compose了)

Compose之跨平台Activity页面-CSDN博客

这篇文章使用了页面对应平台的页面,也可以使用文章里desktop页面的方式,自己去管理页面展示,打开和关闭等(比较推荐,可以少很多平台的坑,且代码更通用)

ps:如果需要将页面按照desktop的方式完全自己管理,需要通过class构造出相应的类,而KMP中并没有反射,这时需要使用这个库:VirtualReflection: 解决kotlin跨平台没有反射的问题

键值对存储

不同平台可以桥到不同平台的键值对存储上,比如安卓的sp,但desktop上没有好用的键值对存储,可以使用这个库:SharedPreferencesOfDesktop: 在Windows, Linux, MacOs中方便的存取配置文件

数据库

数据库可以使用这个:ctripcorp/SQLlin: A DSL SQLite library for Kotlin Multiplatform. (github.com)

网络请求

网络请求推荐使用这个,可以更好的共享代码(就如上面的前后端代码共享那样)

Kotlin跨平台的网络请求框架-跨平台的Retrofit_android kotlin 网络框架_李小白lt的博客-CSDN博客

序列化

序列化应该没得选,只能用这个,性能好,但使用稍复杂,支持json,Protobuf等多种结构

Kotlin/kotlinx.serialization: Kotlin multiplatform / multi-format serialization (github.com)

图片加载

qdsfdhvh/compose-imageloader: Compose Image library for Kotlin Multiplatform. (github.com)

目前可以用这个,据说coil3后会支持KMP

资源管理

可以参考这篇文章:KMP中的资源处理(字符串,图片等)-CSDN博客

BuildConfig

KMP中的BuildConfig_李小白lt的博客-CSDN博客

导航

没啥推荐的,多试试吧,找到一个适合自己的

其它

说实话KMP目前生态还很缺,很多东西没有一个好用的库,所以有能力可以补充下,后续如果我找到更好用的就随时修改文章

end

对Kotlin或KMP感兴趣的同学可以进Q群 101786950

如果这篇文章对您有帮助的话

可以扫码请我喝瓶饮料或咖啡(如果对什么比较感兴趣可以在备注里写出来)

http://www.yayakq.cn/news/842238/

相关文章:

  • 外贸网站建设信息大自然的网站设计
  • 建设部监理资质申报网站wordpress编辑器文件
  • 网站制作要求网络维护服务合同模板
  • 台州做网站哪家公司好好的平面网站模板
  • 网站建设的基础常识专业的天津网站建设
  • 做网站美工未来规划wordpress fold主题
  • 网站域名备案查询wordpress生成接口
  • 高端品牌网站建设(杭州)北京网站优化实战
  • 手机网站建设可行性分析江苏品牌网站建设
  • 注册外贸网站有哪些哪个网站可以做淘宝代码
  • 网站界面设计简单公司网站建设前期情况说明
  • 昆山网站建设 熊掌号免费创建社区论坛网站
  • 免费的软件下载网站宁乡网页设计
  • 宝山宜昌网站建设百度推广没有效果怎么办
  • 网站建设的报告分析工信部查网站备案
  • 网站个人空间郑州哪家专业做淘宝网站
  • 网站运行团队建设做竞价要会做网站吗
  • 网站建设swf播放器源码阳江招聘网最新招聘信息网官网
  • 时尚工作室网站源码个人业务网站免费制作
  • 工业和信息化部网站备案系统酒店类网站开发策略
  • 炫酷网站首页拼多多网站建设过程
  • 网站建设用的软件阜创汇网站建设名额
  • 大连网站制作杭州网站定制开发
  • 西安有哪些做网站的公司好郑州网站建设制作费用
  • 公司网站百度地图app科技产品网站建设
  • 广州网站制作公司优化wordpress关闭评论窗口
  • 射阳做网站的公司在哪苏州外发加工网
  • 郑州网站建设网页设计花蝴蝶免费视频在线观看高清版
  • ps怎么做网站一寸的照片珠海北京网站建设
  • 网站做访问追踪校园网络工程设计方案