背景:我们公司是做运维监控,需要接受报警(需要推送消息),目前公司只有前端团队。没有安卓和 ios 开发团队
作为一个 React 前端团队,在 2023 年中这个节点
我个人粗浅的理解,flutter 用 dart 写的,会不会上手难度比 swift 难度更大一些呢,会有些不同环境需要兼容的地方。有没有熟悉移动端开发的老铁指点一二。
1
findex 157 天前
建议都学,就知道区别了
|
3
AuYuHui 157 天前
flutter
|
![]() |
4
KC35 157 天前
flutter 就行
|
5
daijiePro 157 天前
如果你学 flutter 的话,其实都要学
|
![]() |
6
estk 157 天前
怎么不考虑 Rteac Native ?
|
![]() |
7
ryan4290 157 天前
火速转后端,别问,已死
|
8
divilbs 157 天前
对啊 Rteac 团队为什么不直接 Rteac Native ?
|
![]() |
10
guguji5 OP @daijiePro 我也看到相似的论点( https://www.zhihu.com/question/365367503 ),就是学 flutter 原生的东西是绕不开的,如果我一点都不会,碰到就会一脸懵逼,所以是不是先学 swift 和 kotlin 更合适( native )一点呢?
|
11
x2420390517 157 天前
运维监控,移动端顶多就是一些报警通知和一些基本的查看,主要还是靠网页。这个时候,有一个 App 能用就行,我觉得确实像大家说的,干嘛不 React Native
|
12
bryce 156 天前
看你们业务场景,选 flutter
|
![]() |
13
murmur 156 天前
react native 因为处处 native 可以做到 rn 和 native 混写,直接把 native 界面当组件用,这个对于 sdk 开发者很友好
|
14
ciki 156 天前
flutter 也离不开对原生框架的理解,迟早都要接触
|
15
x77 156 天前
Flutter ,对于前端来说 Dart 上手不难。
Flutter 打包平台应用时需要调用平台应用的构建程序,对于 Android 、iOS 端,你还需要搭建 Android 、iOS 的开发环境才能打包出它们的应用。 |
16
i979491586 156 天前
都有 react 前端团队了,为什么不考虑 RN 呢?
|
17
fresco 156 天前
学原生开发,还是一下学两端,任重而道远
|
18
ytll21 156 天前
看 APP 的复杂度,除非对性能要求高,或者有什么奇葩需求,或者高难度的 UI 要求,否则 Flutter 够了。
|
19
a132811 156 天前
可考虑 PWA ,更简单,不用换技术栈。只是国内网络下,需要用代理或第三方推送
https://juejin.cn/post/6844903856007020557#heading-29 |
21
omgr 156 天前
直接 webview 不就行了…… 手机上小程序之类的做了吧,为啥辛苦去做 native 的 App…… 如果是个人兴趣,推荐 swift ,如果是公司需求,还让你一人两端都上 native ,建议跳槽
|
22
dcsuibian 156 天前
可以肯定的是,目前就算大公司也撑不起多套代码的成本了,native 可以选,做起来优先否定了吧
|
![]() |
24
hahastudio 156 天前
需求:接受报警
发短信或者邮件不行么,或者接微信钉钉之类的? |
![]() |
25
wa143825 156 天前
都学,先 flutter ,学会布局和基本功能开发,然后学插件开发,开发插件的时候顺便学学 kotlin 和 Swift ,语言没什么难的,主要就是不同的平台不同的 api 。
|
![]() |
30
milukun 156 天前
就开发体验来说,flutter 是更爽一点的。热更新直接在手机、模拟器上预览,不需要等待构建。虽然 swiftUI 也有预览,但是那个是模拟出来的,不是实际运行,而且局限很大。
而且 flutter 和 swiftUI 在界面开发方面,其实没有哪个更难哪个更简单,这种声明式 UI 其实都差不多。 个人建议 flutter 开始,我看前面有人说学 flutter 就要学 swift ,其实并不准确。 例如你要做一个 todo 、记账等,完全纯 flutter 开发上架安卓和 ios 了,除非你要额外添加小组件,这个在 ios 和安卓端都是需要单独原生开发的。 我觉得你还是先评估一下你要做什么,然后再选框架。 |
![]() |
31
guguji5 OP @milukun 就是
1. 嵌入 webview 2.推送 3. 如果有了新版本希望能自动更新 4.然后希望能上架。(上不了,就先放安卓,让用户自己下载) 您帮看看,先学 kotlin ,还是 flutter |
32
saviourdog 156 天前
flutter!95%场景下都不会到写原生代码地步,除了原生的一些配置文件要改下
|
![]() |
33
lululau 156 天前
跨平台框架只是用来提升效率的,任何一个款平台框架都不能 100% 覆盖原生功能,所以都要学
|
![]() |
34
superchijinpeng 156 天前
都学
|
![]() |
35
coolmint 156 天前
有兴趣就都学,如果只是想快点开始解决一下手头的问题就 flutter
|
36
suyulingxm 156 天前
flutter
|
![]() |
38
arnosolo 156 天前
Ionic 人表示做应用开发想要达到高级原生开发是一定要学的.
|
39
okakuyang 156 天前 via iPhone
根本不需要学任何一门,推送独立 ,app 点进去是 webview ,现实网页。原生代码不超过 200 行。
|
![]() |
42
putaozhenhaochi 156 天前 via iPhone
做小程序
|
43
dode 156 天前
微信的消息推送多好呀,客户不用安装 app
|
44
iOCZ 156 天前
当然是做网页
|
45
anjingdexiaocai 156 天前 via Android
不要做原生,你的需求 webview 完全够了,没必要折腾。
|
46
dwzrlp 156 天前
功能简单,需求简单,直接 flutter 就好了,省时间省钱
|
![]() |
47
zhcode 156 天前
前端上手 flutter 比较快,dart 跟 js 语法有很多相像的地方
|
![]() |
48
99s 156 天前
flutter 曾经花了一个月时间学习,后来还是实在受不了层层嵌套的写法放弃了。如果要选的话还是选 RN 舒服。
|
49
meteor957 156 天前
dart 不如 js ,flutter 不如 rn
|
50
owen800q 156 天前
@anjingdexiaocai IOS app 純 webview 沒有任何一個原生介面可以上架 app store?
|
![]() |
52
xiaoshan5733 156 天前
op 不想考虑 react native 是不是因为 op 印象中的 react native 很不好,建议 op 了解下 expo ,结合 APP 功能和 op 目前的技术栈我还是极力推荐 react native
|
![]() |
53
gyt95 156 天前
非要选还是原生好,最后你的出路会是原生壳套 webview
|
![]() |
55
bunny189 156 天前
flutter 就行,嵌套就拆分。
|
![]() |
56
Bijiabo 156 天前 via iPhone
远离 Flutter
|
57
AvilCore 156 天前 via Android
React 团队不用 react native 是为啥,除了 UI 库这俩一模一样根本分不出来,一点点学习都不用
既然很简单就拿 react-native-webview 一套,这不就是半天的事儿 |
![]() |
58
changwei 156 天前 ![]() 如果是 react 前端团队并且没有任何原生 app 开发经验建议直接使用 react native + expo 这套方案,几乎不需要任何原生开发经验就能开发跨平台完整 app ,expo 的编译流程也是在其官方的 CI 平台上进行,构建产物传送到应用商店也是 expo 全自动进行,只是送审需要你自己填写版本号和更新记录等等,意味着你本地甚至不需要配置任何 Android SDK 或者 iOS xcode 开发环境,也不需要阅读太多原生 APP 开发文档,非常方便友好。
下面这个 APP 就是我用 react-native 0.71 + expo 48 开发的,里面有原生 View 实现主要界面,也有套 react-native-webview ,也有用 react-native-render-html 直接把 html 渲染到 View 中,也有 expo-linking 直接在内置 chrome 浏览器打开网页等等各种渲染方式,目前除了 react-native-render-html 这套方案可能需要对一些特殊 html 标签进行一些微调和转换以外都没发现太大问题,性能问题暂时没发现(可能是因为我用的都是小米旗舰),最近几个版本的 rn 官方也有更新 JS 引擎以及把 react 升级到 18.2 版本,理论上性能也有一定提升,你可以直接打开下面的链接下载亲自试用一下就知道。 https://play.google.com/store/apps/details?id=tw.edu.ntust.library.app https://apps.apple.com/app/id6444852934 |
![]() |
59
guguji5 OP @changwei 哇,感谢分享,我之前写过 RN ,几年前了吧,也没涉及到原生的知识就完成了,想学点不一样的。而且当时我就搞了几个页面,加调用摄像头,打包就 100M 了,不想用了,想看看 flutter 和原生的,听说也不太复杂
|
![]() |
60
guguji5 OP @xiaoshan5733 楼下也有一个详细的评论推荐 expo ,我先简单吧 flutter 浏览一遍,就像第一楼说的,都学一下!才知道哪个更合适。其实现在就我目前的需求,无脑选一个都能搞定。
|
![]() |
61
silvernoo 156 天前 ![]() flutter 足够,你不会有多少机会接触原生代码的,原生任何一端都是庞大体系,学完就废
|
![]() |
62
xiaoshan5733 156 天前
https://github.com/wengqianshan/WuKongIMReactNative 这是一个用 react native + expo 开发的聊天 app ,op 可以本地运行一下试试,不需要安装原生环境,只要手机上安装 expo go 扫码即可预览调试
|
63
sunbreak 156 天前
@guguji5 没有银弹,看团队、看项目、看框架发展潜力
1. 有 React 、JS/TS 团队,首选 ReactNative (其实还有 Ionic ,不过国内太小众) 2. 有客户端开发经验,首选 Flutter 3. SwiftUI 和 Kotlin/MMP (或者 Compose )目前都不成熟,长期发展不明,除非资深客户端开发,否则强烈不推荐 你目前的情况 RN 最好,如果你喜欢学习新的知识,选 Flutter 也行(长远看跨平台更容易): 1. 你这个项目简单,两个框架包体积、性能差距不大( Fabric 之后 RN 可以媲美 Flutter ) 2. 多少都会需要一些客户端的知识(打包、bridge 代码、plugin 组件),GPT 搞定就行(我们日常 Shell 脚本也不会特地去学习) 利益相关:原 MIUI 开发,现跨端技术专家,Flutter 和 RN committer |
![]() |
64
raykle 156 天前
@guguji5 #59 打包 100M 是不是没有打 release 包导致的啊,我们的应用业务挺多的,也没超过 100 。。
我觉得楼上 #63 的推荐很合理,可以试试。 其实如果只是为了推送,接入微信也是可以的,或者 PWA 应该是最简单的了吧,看楼主需要什么了。 |
![]() |
65
andyxic 156 天前
本人也是 react 前端,刚做完一个 flutter 项目,现在正在用 swiftui 撸 ios 端。从我个人经验来看。flutter 我刷了一遍文档加几个 demo 就上手了,不会就 chatgpt ,完全无压力。如果你只有 js 的语言经验的话, swiftUi 建议后上。
|
![]() |
66
guguji5 OP expo 的定价好 tm 复杂啊,刚开始我还是得做个 demo 出来,然后才能跟公司讲,并且继续推动。expo 这得先让我自己垫不少钱啊。我决定先搞 flutter 了 🆒
@changwei |
![]() |
67
guguji5 OP @sunbreak 感谢来自专家的建议,今天我弄了下 flutter ,内嵌 h5 打包 apk 已经成功了,只有 6M 。但是我没弄签名,后边研究一下 1 、推送 2 、签名 3 、ios 打包。RN 就不看了,想探索点不一样的,拓展一下技术面
|
![]() |
69
debuggeeker 155 天前
推送,直接原生!
|
![]() |
72
abc12334 154 天前
本人前端,我从今年年初开始写 flutter ,首先说 dart ,可以负责任的说 js 玩的不差的选手,熟练使用 dart 也就 1-3 天(那些高级的语言特性另说,直说简单使用),flutter 的使用 简直是和 react 一毛一样,如果项目不涉及和 native 平台交互,比如:蓝牙 ,相机,视频剪辑啥的,,真是可以无脑使用
|
![]() |
74
guguji5 OP @changwei 是吗? 我只是粗略的浏览了 https://expo.dev/pricing 。没仔细研究。学到了,感谢
|
![]() |
75
guguji5 OP @debuggeeker 我不知道我的认知对不对哈。要推送消息,必须先上架不同厂商的应用市场(华为、小米等等),然后通过他们才可以推送
|
![]() |
76
aahao 154 天前
看起来你对移动开发很感兴趣,那推荐你学 Flutter ,学的过程自然会接触很多原生的东西。
我是原生开发+Flutter ,不了解 RN ,但如果我是你我会选 RN 。首先你 RN 就是前端的人搞的,让写前端的可以写移动端,其次 Flutter 虽然是现在最强势的跨平台框架但是还不能完全替代 RN ,热更新依然是很多团队选择 RN 的原因。 |
![]() |
77
guguji5 OP ![]() 1. 我这里边内嵌的 h5 ,热更新似乎对我没啥价值。
2. 然后这是一个完全由我兴趣发起的水下项目,从公司层面还没时间卡点,所以我想选一个新鲜一点的东西接触一下 3. 我是这样想的,无论我用 flutter 还是 RN ,改的文件都会涉及到原生的(哪怕只是个 gradle ),既然这样我为何不去直接看原生的呢,本来我想直接去看 kotlin 呢,被本贴的热心群众劝住了 4. 最后,感谢你的回复,flutter 已经打包成功了,接下来我该研究下签名、上架、push 了 @aahao |