现在开发安卓,是用 Kotlin,fluter, Java 还是 uniapp ?

2022-06-26 22:01:42 +08:00
 buxudashi

如果重新写一个 app ,该选择哪个?

有经验的人聊聊。

请不要说喜欢哪个用哪个这种没有价值的话。毕竟都没用过。对比是为了选择。

28272 次点击
所在节点    Android
102 条回复
tanranran
2022-06-27 23:47:15 +08:00
马德,楼上各种说方案的,有多少人都写过,都实际写过成熟商业项目过的?
作为一个都写过的人而且都上架过多款 APP 说明一下
1 、如果没写过原生,又想支持小程序,建议直接上 uniapp ,楼上不服的来辩,
2 、如果没写过原生,又想不想支持小程序,建议直接上 React Native
2 、如果写过原生,而又想跨平台,直接 flutter
3 、如果写过原生,又不想跨平台,Android 用 Kotlin 和 Java 都可以,iOS 用 Objective-C 和 Swift 都可以,哪个熟用哪个
ps:
1 、有说 k2 compiler 的,你用 k2 compiler 编译过 android ?
2 、有说原生能力的,你用 uniapp 开发过蓝牙,相机,wifi 、等硬件交互过的吗?
3 、有说 compose 的,你用 compose 写过成熟的商业项目?
James369
2022-06-27 23:56:08 +08:00
唉,flutter 好是好,但是要接受 dart
b1ncer
2022-06-28 02:11:47 +08:00
我这目前日活 5 万的项目,用的 RN ,写业务非常舒适,但是在对接国内各种平台 sdk 时麻烦很多。
另有一个日活千级的用的 flutter 。业务上效率略输,因为生态不如 rn 。但神奇的是国内厂商的 sdk 支持度,flutter 相比 rn 略好一些。
FightPig
2022-06-28 02:32:49 +08:00
@tanranran 我来说,uni 我们公司用的多,不过我们公司的大多会写原生,所以各种问题还好,我们公司合作的几个公司,好多用 uni 不会原生的,甲方给的 sdk 是个 jar 包,他们直接不知道怎么搞了,好多用 uni 的只会个云打包。你让自定义基座试试,有多少人会?而且官方文档写的就什么一样,要不是我们公司的人会写原生,估计后面直接嗝屁。而且这东西各种莫名的 bug ,最后还是要用原生的来处理。不过如果只是用来写写简单的业务不涉及到原生 sdk 啥的,还是可以一用。另外,写小程序也尽量原生,uni 的好处是插件多,你不会的,随便找个插件几乎都有,但如果有坑,你自身底子不行,那不好意思,你还是重写吧,因为你找遍全网,发现好多人有这个 bug ,但可能都好几年了,官方也没人说怎么解决。
debuggeeker
2022-06-28 09:09:18 +08:00
@buxudashi kt 和 java 使用 SDK 的 api 一样的,只是语法上有一点点不统一而,java 能做 kt 也能
debuggeeker
2022-06-28 09:13:51 +08:00
@buxudashi 不要想着只学一种东西,因为很多开源库其他问题,很多解决方案都不一定是你熟悉的语言。不然人家写的代码你都看不懂,就谈不上解决问题了。作为双端开发,其实我会的不只是双端的知识,还有后端,前端,flutter ,java ,kt ,py ,swift ,oc ,mysql ,nginx===。遇到问题干就是了,不要排斥某个语言,吹某个语言,他们都是你的工具罢了。我们目的是解决问题。
coolmint
2022-06-28 09:21:25 +08:00
只做过海外项目,不了解小程序,前公司做 Android ,用 Kotlin 和一部分 Compose 。现公司单兵 Android + iOS 。
推荐 flutter ,确实是一套代码一把梭了,很方便。
waltcow
2022-06-28 09:41:51 +08:00
KMP?
tanranran
2022-06-28 09:49:23 +08:00
@FightPig #64 技术选型是多方面考虑和业务场景的,任何技术都有技术曲线,
1 、答:而是在好多用 uni 不会原生的 [前期 uni ,后期需要原生那么,就得原生上,这点你换任何跨平台的框架都得遇到这个问题]
2 、答:uni 的好处是插件多,你不会的,随便找个插件几乎都有 [随便找个插件都有问题?这个怪 uni ?]
3 、答:但如果有坑,你自身底子不行 [底子不行,换任何框架都不行]

我们得目的是快速解决问题,快速迭代
fiypig
2022-06-28 09:51:24 +08:00
现在很多 sdk 都支持 fluter , 但不一定支持 uniapp ,很恶心的, uniapp 如果是简单基础开发还好 ,如果功能多了,真的去掉
FightPig
2022-06-28 09:57:11 +08:00
@tanranran 2 、我感觉你没看清楚,我说那是 uni 的好处,3 、uni 的坑你要会前端 和原生两种,不是所有人都会这个,有时候原生更方便。uni 好处是快速出原型,但真不适合写 app 来用来正式商用上,当然了,可能你把 uni 吃的透透的,那我们比不了。
iXInbo
2022-06-28 10:20:10 +08:00
其实用什么,看公司而不是群友说的;
如果你是刚入门,准备做安卓;你要做的第一步就是看你当地的招聘
看看要求,如果 kotlin 多,就学 kotlin ;如果 flutter 多学 flutter ; java 多学 java (学这个总没错)
因为你要靠这个吃饭的找工作的
况且都会也没坏处,程序员就是不断的学学学。。。

但是如果你只是学着自己玩自己搞,那就试试新的,flutter 、kotlin ,甚至 RN 都可以。就如你标题写在,喜欢什么学什么。
superchijinpeng
2022-06-28 11:12:02 +08:00
kt
Vaspike
2022-06-28 13:12:09 +08:00
kotlin yes! Jetpack Compose yes!
zoharSoul
2022-06-28 13:22:09 +08:00
首先排除 uniapp

其次 kotlin/java 还是 flutter 都 ok
huobazi
2022-06-28 16:31:08 +08:00
flutter 大法好!
chrisia
2022-06-28 16:40:19 +08:00
公司项目我用的 Jetpack Compose ,有一些坑,最大的问题是第三方库都是基于 View ,有时候调用 View 会有 bug 。建议 xml + compose ,在 view 视图中嵌套 compose ,应该是最佳方案。以后趋势的话肯定是 Jetpack Compose 了。
chrisia
2022-06-28 16:41:25 +08:00
我只能用两个字来形容 Jetpack Compose ,“优雅”
BearCookie
2022-06-28 17:04:58 +08:00
@chrisia 褒义还是贬义??
chrisia
2022-06-28 17:07:41 +08:00
@neochen13 褒义啊,比 xml 那套好多了吧

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/862347

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX