各位大佬们, 准备做个 mobile app, 大概是一个前台 apps call 后台 service. 主要面向海外市场, 准备从苹果开始,后面安卓也需要支持
请教下各位大佬,apps 用什么技术栈比较合适啊? apps 本身的功能应该不复杂, 所以 ui 也应该比较简单。 目前想到的要求是 开发效率高, 用的技术栈用户多, 有问题好找支持, 以后方便跨平台。
我主要用的是 jave, type script. 不过如果新语言开发效率高的话 我不介意学个新的语言
1
cssk 268 天前
flutter ?
|
2
Terry166 268 天前 via iPhone
flutter or react native
|
3
hhecoder 268 天前 5
不涉及底层调用,跨平台首推 flutter
---------- 你这文字看的贼难受,mobile app 直接说手机 app 呗,apps 为什么要加 s ,看不懂什么叫前台 apps call 后台 service ,jave 、type script 两个单词都拼写有问题 |
4
estk 268 天前 via iPhone
expo
|
5
bfox OP 多谢各位大佬们。 看样子 flutter 是首选。
我的理解 flutter 跨平台是优点,请教下 主要的缺点是什么呢? @hhecoder 大佬, 不好意思啊。 应该是周末躺床上半梦半醒直接状态不在线, 拼写错误太多。 看不懂什么叫前台 apps call 后台 service 。 有些 app 是可以离线工作的, 我说这个主要是强调这个 app 需要在线调用后台。 |
6
TimeRain 268 天前
原生开发
|
7
importmeta 268 天前
功能复杂并且大量开发时间不着急上线还得是原生.
|
8
gdrk 268 天前
RN 先糊一个
|
9
imPrk 268 天前
如果要跨端,那就 JS / TS 技术栈着急选 UniApp ,有时间学选 Flutter ,Flutter 算是趋势了,没有时间学就 React Native 。
如果不需要跨端,那就原生开发,苹果 Swift ,安卓 Kotlin ,华为鸿蒙 ArkTS 。 |
10
Jirajine 268 天前
只有 flutter ,现有的移动端跨平台 ui 唯一最优选,地位堪比 electron 。其他的什么 uniapp 红蒙都出来了纯瞎说。
|
11
XCFOX 268 天前 7
Flutter 本质上是一个游戏引擎,它所有的视图都是自绘的。自绘使得 Flutter 可以在所有平台上保持视图一致。但也导致许多原生视图的特性在 Flutter 上无法使用,比如 Android 12 的滚动回弹动画。
另外比较致命的一点是,Flutter 的绘图性能是比不过原生的,这体现在翻页滚动流畅度、手势反馈延迟等许多方面。假如原生的用户体验是 100 分,Skia 引擎的 Flutter 的上限是 90 分,希望 Impeller 引擎的 Flutter 的上限能达到 95 分以上。 相比于天生是游戏引擎的 Flutter ,React Native 则是一个为普通 APP 而生的。RN 在各平台上始终使用 原生视图,能获得原生级别 100 分的流畅度上限。 再者,Flutter 在视图写法、状态管理上都落后 RN 一个版本。Flutter 使用嵌套地狱、RN 使用 jsx ; Flutter 的 Riverpod 、bloc 等状态管理方案还遵守 Redux 的思想,React 新一代的 zustand 、jotai 、valtio 大幅减少了模板代码。 在开发效率上 React Native 显然高于 Flutter 。 我的建议是,如果你的 APP 不需要复杂的绘图操作,也就是普通 APP 的话,应该首选 RN + expo ;如果你要开发具有复杂视图的 APP ,比如游戏、谷歌地球、高德地图、Wonderous ,应该首选 Flutter 。 建议体验一下 V2EX 的 Flutter 客户端和 React Native 客户端,Flutter 版本滑动、翻页的时候存在明显卡顿,RN 的体验明显好得多。 https://github.com/guozhigq/flutter_v2ex https://github.com/liaoliao666/v2ex |
12
magic3584 268 天前 via iPhone
目前有个 flutter 项目,但是涉及到原生功能就很难受,数据层得来回调用和同步
|
14
jixiaopeng 268 天前 via iPhone
最近使用 react native ( expo )正在开源中,感觉很好用,代码结构很干净,你可以来看看。
https://github.com/huanghanzhilian/c-shopping-rn https://github.com/huanghanzhilian/c-shopping |
15
akring 268 天前
原生 Flutter 都用的开发者路过,就我自己的经验来说:
1. Flutter 的开发体验是比原生要好的,热重载能提升巨量的幸福感。 2. Flutter 的性能严重落后原生,哪怕在最新的 15 pro max 上卡顿现象都比较严重,更不用提先天性最高 60hz 的刷新率限制了。 |
16
roundgis 268 天前 via Android
用 ionics 随便糊一个
|
17
frankies 268 天前
国内市场首选 UniApp ,国内特色生态功能适配好,还真别看不起,出活快就是王道。
flutter 和 RN 当然技术上更好一点,除非你主打国外市场,否则你大概率会在支付、三方登录、桥接原生上浪费更多精力和时间。 |
18
frankies 268 天前
@frankies PS:没太注意说是国外市场,按你的需求对原生性能要求不大,那么首推 React Native 。React Native 在国外开发生态是极好的。
|
19
NewTab12138 268 天前 via iPhone
@akring flutter 不支持高刷? 你需要更新一下你的知识点了
|
21
wdhwg001 268 天前 via iPhone
flutter 是你可靠且唯一的跨平台选择,出活快,人好招,后面维护优化也好弄。
你完全不能相信后面的人会不会把 rn 糊成一坨屎山,js 系的下限实在太低了,真的是什么牛鬼蛇神都会写 js 。 |
22
laters 267 天前
Flutter
|
23
okakuyang 267 天前
建议用 webview 套壳这个最方便
|
25
unco020511 267 天前
其实最简单的用 webview 套壳就行了,性能体验差一点而已
|
26
hugebug 266 天前
期待 tauri 的 mobile 跨平台 不过要先学习 rust 哈哈哈
-------------------------------------------------------------- 推荐 react native + Expo 性能不错 第三方包很多 |
27
SWALLOWW 266 天前
maui - -
|
28
debuggerx 266 天前
@magic3584 所以我的经验就是,原生层越轻越好,数据和逻辑尽量全在 flutter 层去实现,这样维护难度、扩展性、bug 率和体验都会好非常多。
我就接手过一个项目,ble 连硬件设备的,硬件接口和数据库逻辑在原生的 sdk 依赖里,数据处理在原生层,flutter 调用要靠 method channel 和 stream 监听,flutter 拿到以后可能还要再包装一次成 json 数据给 webview 用,整个项目维护起来要死要活。 而我以前自己搞得一个类似的项目,就直接全部用 flutter 和纯 dart 实现,ble 蓝牙连接、状态维护和数据包解析全用 flutter_blue 做,数据库用 sqflite ,webview 直接用后端接口而不是用 jsbridge 从 app 拿数据,整体维护起来就非常清爽可控。 |