网站建设可以修改吗,成都手机微信网站建设报价单,免费网站的建设,重庆网站建设团队前言 随着kotlin代码跨平台方案的推出#xff0c;kotlin跨平台一度引起不少波澜。但波澜终归没有掀起太大的风浪#xff0c;作为一个敏捷型开发的公司#xff0c;依然少不了Android和iOS的同步开发#xff0c;实际成本和效益并没有太多变化。所以对于大多数公司来说依然风平…前言 随着kotlin代码跨平台方案的推出kotlin跨平台一度引起不少波澜。但波澜终归没有掀起太大的风浪作为一个敏捷型开发的公司依然少不了Android和iOS的同步开发实际成本和效益并没有太多变化。所以对于大多数公司来说依然风平浪静…… 时过境迁如今kotlin已经支持Android、iOS、Web、PC的桌面UI开发了并且iOS已经进入Beat的里程碑kotlin即将迎来一统天下的时刻——一人一语言码完所有端。
上手一试 kotlin作为Android官方语言并且完全支持Android Studio所以KMM对Android来说完全0门槛不需要任何学习就可以上手并且完全能自主解决各种问题。
1.首先下载官方demo也有对应插件但不建议使用Kotlin Multiplatform Wizard | JetBrains防失效方式Create your multiplatform project | Kotlin Multiplatform Development Documentation (jetbrains.com)点击“Open the Kotlin Multiplatform wizard”即可。Android、iOS、Web、PC、Server都可以选这里建议全选然后下载。
2.此处默认你已经会了Android Studio我们解压后不要急着打开打开巨慢下载还总是超时
将gradle/wrapper/gradle-wrapper.properties文件修改为tx镜像
distributionUrlhttps\://mirrors.cloud.tencent.com/gradle/gradle-8.4-bin.zip
将settings.gradle.kts文件的repositories2个地方都修改成如下 repositories {maven(https://maven.aliyun.com/repository/central)maven { setUrl(https://maven.aliyun.com/repository/public) }maven { setUrl(https://maven.aliyun.com/repository/google) }maven { setUrl(https://jitpack.io) }google {mavenContent {includeGroupAndSubgroups(androidx)includeGroupAndSubgroups(com.android)includeGroupAndSubgroups(com.google)}}mavenCentral()gradlePluginPortal()maven { setUrl(https://repo1.maven.org/maven2/) }maven(https://maven.pkg.jetbrains.space/public/p/compose/dev)}
然后使用Android Studio打开按上述改法预计10分钟左右就构建完成了当然如果报错请自行解决和Android基本一致
跑起来
Server
运行java服务端算是最简单的一个了等到构建成功找到“serversrcmainkotlin包名Application”然后对着main函数点击run就行了如果第一次出现找不到main的错误再次run就行了。然后根据日志提示使用任意浏览器打开链接如“127.0.0.1:8080”即可看到返回信息。 Android
由于Android本身就支持kotlin并且框架也是jetpack所以跑到Android设备上也是非常轻松的选择composeApp应该是默认项下方截图后直接右侧的run三角形就行了如图如果有错误直接搜索Android相关的问题基本上没有什么坑这里不再多说 PCWindows、Mac、Linux
pc完全基于jvm的运行到pc端应该也不会有什么难点你只需要配置好java的环境变量就行了运行方式右侧边栏GradlecomposeAppTaskscompose Desktoprun。当然运行时需要安装到电脑上根据各系统的安装提示就行了。 Web
运行到网页端第一次可能需要科学一下因为kotlin用到了nodejs的功能而nodejs一般是访问不了的不开科学会出现长时间等待好几分钟后才会提示超时。当然你还需要一个较新版的谷歌119以上、edge119或者火狐121浏览器。如果你都已经准备好了那运行到网页端也应该不是问题依然是右侧边栏GradlecomposeAppTaskskotlin browserwasmJsBrowserRun。 iOS
要想运行到iOS手机上要求就相对高很多了
1.一台较新的Mac电脑博主用的m1再低可能会出现跑不起来也没任何提示
2.安装好xcode建议App Store下载不然安装位置不对也可能导致跑不起来也没任何提示
3.配置完整的java环境完整的完整的完整的 由于博主省懒之前配置了Android Studio自带阉割版的java环境变量导致跑不起来也没任何提示你可以去官网下载JDK或者简单一点“Android Studio设置Gradle……Gradle ToolsGradeGradle JDKDownload JDK”然后记住下载的目录配置到环境变量上即可。
4.添加模拟器或者使用真机
5.Android Studio内安装插件“Kotlin Multiplatform”设置PluginsMarketplace搜索Kotlin Multiplatform重启AS
6.添加iOS设备选择Edit Config点击加号选择iOS Application选择xcode路径应该都会自动出来框选里的都要填完一般自动填的填完后点击确定后点击右侧的run三角形即可运行到iOS上 [Mac不在暂无运行截图]
运行提醒多个端只能同时运行一个运行前请先停止其他端的task
现状
作为横跨所有端并且语法统一的kmm它的优点自然很多不需要过多赘述当然到目前为止依然有不少问题有待解决
1.ktor server框架目前还算比较年轻自身尚有很多优化空间。
2.jetpack虽然谷歌一直在推但是由于这是属于革命性架构变更目前占有率估计连20%都没有。
3.Web端必须要求浏览器支持wasm并且支持GC功能目前谷歌和火狐也是去年才支持的Safari到现在仍旧在开发中其他小众浏览器更不用提支持了。
4.iOS手机目前还没发布release并且只支持iOS15iPhone13以上更早的版本暂不支持。
5.各端权限相关问题对于权限、文件、图片各端需要单独自行处理这算是所有跨平台方案的通病属于无解型。
6.对于鸿蒙系统目前还没有支持的意愿这一块几乎空白。
7.作为开发者当然最重要的还是岗位了目前看下来这种岗位几乎为0。
当前应用方向
虽然kmm的问题不少有些甚至比较致命但就目前来说仍可以在某些方面有一席之地并且后期潜力巨大完全可以当做初期铺垫。
1.对于偏应用的初创项目kmm的Android、iOS还是比较方便和快速
2.对于小型服务端ktor也是有不少优点并且也能在app端人员中快速上手
3.对于内部网页系统那如果app端人员也会写那何乐而不为呢
4.当然没有ui的Multiplatform早已经正式发版并跨所有端了如果先共享逻辑后期再考虑共享ui不失为一种比较友好的解决方案不少大厂已经开始尝试了 转载请注明出处王能的博客Kotlin真·全平台——Kotlin Compose Multiplatform Mobilekotlin跨平台方案、KMP、KMM-CSDN博客 后续
1.如何打包发布
2.如何修改分类源集Android、iOS为一类Web、PC为一类