有多少人是放弃 react-native,转向原生了?

2021-05-04 22:22:51 +08:00
 find456789

最近用 rn 开发了一个 ios 的 app, 就几个简单的页面 ,打包后体积 220m,

在开发中,遇到了各种 nodejs 特有的错误,光排错就花了一大半的时间

而且好几个错误,第二天就自动好了, 完全不知道错在哪里

后来我用了一下 xcode (原生开发), 发现 代码提示、 界面拖拽也都很方便

所以我就考虑,要不要放弃 rn, 转用原生


因为我要开发的 app 都不复杂,所以用原生并不会花很久的时间

如果我要开发的 app 很复杂, 那我估计用 rn,坑会多的让我头疼

所以,不管开发简单的、复杂的, 似乎用原生,才是最划算的, 因为坑可能更少,反而节省了时间,节省了情绪支出


所以我想问问, 我的分析对吗? 是否原生会更好呢?

这里有朋友是 放弃 rn,最终选原生的吗?

能说说 你用 rn 、 用原生的理由吗?

谢谢

8525 次点击
所在节点    React
51 条回复
williamx
2021-05-05 14:25:46 +08:00
取决于你的 app 要不要跨平台以及跨平台用原生的成功有多高。都是投入成本和产出的博弈,仅此而已。
janxin
2021-05-05 14:48:24 +08:00
现在原生确实要比之前的简单和方便很多了,比如苹果的 SwiftUI 和安卓的 Jetpack,这两个框架基本上都在像目前的网页开发学习很多姿势。目前看你的需求对跨平台的需求本身不强烈,原生真的很不错。
yuhaoyuhao
2021-05-05 15:17:54 +08:00
@xuanbg 我从安卓转 Web 的
jeffwcx
2021-05-05 15:42:13 +08:00
@xuanbg 前端也是 client 的一种啊,什么叫前端不理解什么叫 client
jsq2627
2021-05-05 16:03:13 +08:00
开发体验差之类的都能忍

不能忍的是 fb 自己现在对 RN 也是半放弃状态
maskiii
2021-05-05 17:08:44 +08:00
RN 做 GUI 框架挺好,热更新美滋滋
xuanbg
2021-05-05 17:11:39 +08:00
@jeffwcx 那你认为什么是前端,什么又是 Client 呢?所谓的前端工程师需要做什么?思考什么?解决什么问题呢?
ruandao
2021-05-05 17:17:41 +08:00
220m 你这个包应该是多种架构的包在一起了
如果针对专门的架构进行打包,包会变小的
abcbuzhiming
2021-05-05 17:25:19 +08:00
@jsq2627 fb 对 rn 是半放弃状态?这是哪里的说法?
vaccer
2021-05-05 18:07:39 +08:00
和你相反, 忍受不了原生画页面的费时, 直接转 rn
jeffwcx
2021-05-05 18:18:41 +08:00
@xuanbg 我的理解,web 前端也是 client 的一种,只不过它的宿主环境是浏览器(即时加载应用,动态化程度高);原生应用不管是 pc 端,移动端,其宿主则是系统应用层框架,也是就是大家熟知的客户端。
jeffwcx
2021-05-05 18:40:51 +08:00
@xuanbg 另外我个人认为前端工程师首先是工程师,程序员,web 这种东西每个公司的职责划分都不一样,有时候并不是你完成页面就完事儿了,有时候还制定统一的 UI 规范,交互规范,那么就得做组件库;有时候构建系统有问题,就得去写构建工具( figma 的 CTO 就写了 esbuild,他是前端,但最重要的是他是工程师);有时候得搞同构,那照样得去折腾 node,折腾后端。一切的一切都是为了系统功能完善,运行快速而稳定,用户体验一流。
skiy
2021-05-05 18:51:54 +08:00
nodejs 的项目久不久就有一些依赖被弃用(Deprecated),有时候高版本的 node 比如 node 14.16.0 使用 npm i 拉不下依赖,然后切换为 10.16.0 再执行 npm i 就能拉下依赖。(这个问题我遇到好几回了)

所以我的结论是,nodejs 开发,要踩的真的不少。
charlie21
2021-05-05 18:54:52 +08:00
不要把自己的技术栈绑定在小公司的决策上 ... rn 的爹不行
nicevar
2021-05-05 18:58:52 +08:00
RN 的 ListView 都是好几年解决不了的问题,可想而知,没事尽量原生,同时做 iOS 和 Android 平台不一定比跨平台慢
ReferenceE
2021-05-05 19:09:30 +08:00
英语单词 native 啥意思来着...
shayuvpn0001
2021-05-05 20:20:31 +08:00
@ReferenceE 原生
oxogenesis
2021-05-05 21:35:36 +08:00
借楼问个问题,原生环境( ios 、android ),如何调用 nodejs 的库,比如这个库 oxo-keypairs,谢谢!
jones2000
2021-05-06 01:16:43 +08:00
原生开发好, 一般做原生项目预算都比较充足, js 开发的那种就是图个便宜.
xuanbg
2021-05-06 06:23:27 +08:00
@jeffwcx >我的理解,web 前端也是 client 的一种,只不过它的宿主环境是浏览器(即时加载应用,动态化程度高);原生应用不管是 pc 端,移动端,其宿主则是系统应用层框架,也是就是大家熟知的客户端。

你说的没错,但有一阵子 B/S 的概念泛滥成灾,有些搞 web 的甚至将 B/S 和 C/S 对立和污名化 C/S 。造成很多前端根本不了解 Client,而且被带进沟里,认为 Client 是过时的落后的,web 才是先进的。殊不知 web 一开始就走了弯路,直到前端 3 大框架的出现,实现了前后端分离,兜兜转转回到了 Client 的老路,才算是走上了正确的发展道路。

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

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

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

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

© 2021 V2EX