1
chmlai 2018-04-24 14:49:03 +08:00
合适
|
2
Akkariin 2018-04-24 14:52:26 +08:00
看你是什么样的公司了,公司自己用的那种没问题。
|
3
murmur 2018-04-24 14:56:42 +08:00
等做大了早晚要改 native 层的
至少加固什么必须的得做 |
4
janxin 2018-04-24 14:57:24 +08:00
看需求看用户群体,对于开发产品而言 RN 对于快速发布和更新还是帮助很大的。
作为用户,反正我尽量不用 RN 的应用... |
5
huiyifyj 2018-04-24 14:57:58 +08:00 via Android
小公司很常见,大公司基本是原生好点
|
6
zhchyu999 2018-04-24 15:07:20 +08:00
大公司也会有迅速相应业务的需求,也得时刻都有上线的能力。之前是插件化,现在折腾 RN,至于用户体验,谁管呢,绩效拿到,老板用的都是最新款手机,不卡就行
|
7
game3108 2018-04-24 15:22:07 +08:00
RN 的好处是热更新,不用发版本,app 体积小。
坏处就是接入较为麻烦,任何横向的扩展都会生不如死。(例如全面的打点需求) |
9
lsyAndroid 2018-04-24 15:24:41 +08:00 via Android
只要你们有人能 hold 住就行
|
10
beginor 2018-04-24 15:42:54 +08:00 via Android
合适!
对于老板来水,可以少几个 native 开发,省钱,用什么技术不重要! 对于客户来说,只要不卡,谁管你用什么技术实现! |
11
icris 2018-04-24 15:57:48 +08:00
ReactNative 是 Native,问题不成立
|
14
lightening 2018-04-24 16:09:34 +08:00
ReactNative 做出来是是 OS 的 Native UI Elements 啊,不是跑在 WebView 里的。
就算是用 webview,也看你公司 app 的用途。如果是简单的信息类 app 而且 app 不是公司的主要产品,我觉得也没什么问题。 |
15
murmur 2018-04-24 16:12:49 +08:00 1
我来说几点我的看法:
对于小公司、圈钱就跑的公司或者企业应用规模不大时我认为可以,但是因为 rn 的渲染也是 native 层,比起 cordova 纯 webview+bridge 的解决方案,显然后者更好解决,因为如果是 wkwebview 或者 uiwebview 的 bug,受影响的是成千上万的 wap 网站和 app 内置页面,内测的时候把苹果辱骂一番你看他出不出解决方案,但是如果是 rn 层某个组件的 bug,等解决方案或者自己解决的难度是明显高于 cordova 的 另外做大时候整个 app 都是要加固的,bundle 或者 webview 里的东西的混淆视作不加密,基本是送给别人的,那你的核心逻辑、加密、协议这些要往 c 层转移,到头来还是需要优秀的 native 程序员来搞定 你记住一点 react native 不因为他是 native 坑就比其他的框架或者方案要少 大厂的东西长的像 cordova 或者长的像 react native,但是你不知道他的 native 层魔改了什么东西,就包括 pc 端长的像 electron 的应用是一样的 |
16
stabc 2018-04-24 16:50:23 +08:00 1
@murmur 你把 RN 和 Cordova 的 Native 当一回事做类比证明你一点常识都没有。像你现在这样凭空臆想出一堆理由做总结,还用“你记住一点”这么荒诞的词汇,对于新人是极大的误导,对技术社区也是一种危害。 建议你先用 RN 和 Cordova 开发一段时间,熟悉各自的坑和优劣都在哪里,再来就事论事发表相关言论,那才是对别人有帮助的事情。
|
18
liuzhedash 2018-04-24 16:53:17 +08:00
合适,React Native 的开发效率高,效率高才有可能活下来。做大了再招人扩 native 侧功能,或者直接 native 重写都行。
|
19
murmur 2018-04-24 16:53:26 +08:00
@stabc cordova 我用了快 2 年了 react native 一年还是两年前用过就弃坑了 一是他当时的 native 库远被 cordova 成倍数碾压 而是他的 webview 当时实在太弱了 连最基本的回调和钩子没有 而 webview 才是整个项目中最大的复用点,我们有很多地方都是直接提供页面在 app 里显示,没法给你转写 rn
|
20
liuzhedash 2018-04-24 16:59:49 +08:00
@murmur #15
举个极端的例子,如果用户坚持不更新 ios,那么当前版本的 webview 问题没任何办法解决; ReactNative 的某个组件实现有 bug,可以单独抽出来解决。 加固确实无解。 |
21
murmur 2018-04-24 17:02:26 +08:00 2
顺便跟楼主说一下
某些人认为我说的彩笔 但是根据我的经验,越是彩笔分享经验你越要记笔记,我这种彩笔说什么东西坑那对于经验没多少的新人基本都会踩到 反倒是牛人,他们因为经验丰富,精通各种语言开发,可能遇到什么问题就顺手解决了一下,结果最后的结局就是这个框架没什么问题,好的一批 这里不花过多篇幅讨论 cordova 和 rn 的优劣,但是你要知道插件和生态环境也是选型的重要因素,比如同样的 nfc 支持 https://github.com/chariotsolutions/phonegap-nfc 别人的项目和文档 ui 库 https://vux.li/ 相比 rn 那种动不动就 要 ios 和 android 差异化设计的也敢叫 ui 库 |
22
stabc 2018-04-24 17:07:24 +08:00
@murmur
>那只是嘲讽某些人自以为用了 react native 就敢说自己是 native 开发了,不要当真 事实是你确实说了没有常识的话。 如果有一种产品叫“ VueNative ”,你劝人放弃 RN 还可以理解。但是你现在劝别人放弃 RN 去用 Cordova,那你是不是要把各自优劣都摆出来呢?库多库少这种只有在同类产品上对比才有意义,说到现在你其实还是看不到 RN 和 Cordova 的实质区别,所以你说你用 RN 走过“快 2 年”,我是不相信的。 |
23
icris 2018-04-24 17:07:37 +08:00
@murmur #17
不知道是不是说我,我先提一点,我是用 kotlin 写 android 的。 然后,`With React Native, you don't build a"mobile web app", an"HTML5 app", or a"hybrid app". You build a real mobile app that's indistinguishable from an app built using Objective-C or Java. React Native uses the same fundamental UI building blocks as regular iOS and Android apps. You just put those building blocks together using JavaScript and React.` 你大可直接批判 Facebook,嘲讽用户算什么事儿。 然后,所有 react native 做不了的或者看起来 react native 做不了的东西的通用解,`Use native code when you need to`. 然后我现在没怎么看懂,你是支持 native 的还是支持 web 的? |
25
WildCat 2018-04-24 17:09:20 +08:00
什么公司,我想试试你们 app 体验
|
26
SourceMan 2018-04-24 17:11:24 +08:00
RN build 出来就是原生组件和代码呀~
没毛病 |
27
stabc 2018-04-24 17:12:30 +08:00
@murmur 顺便说一下,我个人也是更喜欢 Cordova 的,但是是纯个人喜好,并不推荐别人也用。我只是希望你说话多一些基本常识和逻辑。
|
28
murmur 2018-04-24 17:13:13 +08:00
@stabc react native 相比于 cordova 最大的优势是所有元素可以全用 native 渲染,在手势、动画、性能以及(内存占用?)上会有很大优势
但是现在已经是 2018 年,安卓 4.4 普及以及 ios9 的普及让 webview 有了很大的性能提升,即便不用 crosswalk 也能有不错的体验 而且在 cordova 下,因为是真的 js 和 dom 环境,所以一切你在 wap 下能用的东西都可以用,单独的页面去掉 native 部分还可以做成 wap 版给不愿意下载 app 的用户看一下 我不是来宣教 cordova 的,我只是顺手提到这个东西然后不小心水了一下而已,什么场景用什么技术,我们有很多过分的需求 rn 就是做不到 |
29
palxie 2018-04-24 17:14:40 +08:00
合适
|
30
stabc 2018-04-24 17:28:24 +08:00
@murmur
>react native 相比于 cordova 最大的优势是所有元素可以全用 native 渲染,在手势、动画、性能以及(内存占用?)上会有很大优势 我不知道这段话是你的切身体会还是刚刚百度学习的。但是我只注意到四个字:“很大优势”。那么能不能给大家解释一下,在 Cordova “也有不错体验”的前提下,RN 的这个“很大优势”,你在调试过程中实际的体验是如何的?以及为什么可以放弃这种体验。 |
31
Mikewu 2018-04-24 17:29:27 +08:00
表示 RN 没什么不合适的,至于用不用原生封装就看需求了,有需求的话做游戏、直播之类的也没问题的。
|
32
icris 2018-04-24 17:35:22 +08:00
@murmur #24
总结一下,react native 是 native,问题不成立,就算退一步算是 web 技术,你也不反对,意见一致了不? 加固这东西吧……正好今天看见一个帖子 https://www.v2ex.com/t/449256 . 也不能说没用,但我个人是感觉用处有限。实在不行编译个 aosp 跑起来不是要什么有什么。 |
33
xieren58 2018-04-24 18:16:57 +08:00
flutter 都出来了. react native 和 cordova 都要凉.
|
34
XinLake 2018-04-24 22:05:11 +08:00
加固 是什么操作,是什么样的技术处理,我经常看到互联网的 APP “加固” 服务,但是不知道是什么样的一种技术操作,谁能专业的解释一下?
|
35
feiyuGood 2018-04-25 00:27:34 +08:00
防止别人脱壳吧,核心代码写在 so 文件里面! 公司初期使用 webview mui 方式开发 在使用 原生方式 ,后来用了 react native 方式 和 weex 组件方式开发
|
36
tyrealgray 2018-04-25 00:48:11 +08:00 via Android 1
别的不说,这年头还头铁用 webview 框架的公司是真的勇士。
RN 是社区和解决方案决定了它用起来就很快,至于坑,目前还没遇到跨不过去的。 还有就是一定要多升级 RN 的版本,不管有多麻烦,提升是很明显的 |
37
HuangLibo 2018-04-25 01:26:05 +08:00
省经费可以这么干, 有钱的公司同一个项目有原生, RN, web, 多个版本.
|
38
Pastsong 2018-04-25 01:40:30 +08:00 via Android
客户端应用有不能被反编译的语言吗...反正都是混淆,用 JS 有啥区别
|
39
rqzheng2008 2018-04-25 01:42:04 +08:00 via Android
用整套 webview 框架还不如去搞小程序,真的。
|
40
vizards 2018-04-25 01:45:42 +08:00 via iPhone
RN 发展到现在还有人把它和 webview、热更新绑架在一起,对技术都带有偏见挺可悲的
|
42
xupefei 2018-04-25 02:11:36 +08:00
@Pastsong #38 程度是不一样的。JS 玩出花还是混淆,再混淆还是 JS。看不懂也可以,至少可以找到输入输出黑盒试一试。
现在有个 C++放出来给你反编译,你面对编译器优化出的海量汇编代码,能深入到哪一步?再来个加了 VM 壳的 C++程序,想看到汇编都得折腾到半死。 |
43
randyzhao 2018-04-25 02:41:22 +08:00
能赚到钱就合适
赚到了钱,想怎么弄怎么弄 |
44
kimown 2018-04-25 06:01:06 +08:00 via Android
jsc 已经支持 wasm 了,等 rn 内置 jsc 升级后,你需要的关键加密内容,完全可以用 c 写,然后 transform 到 wasm,不会出现泄密情况
|
46
fumer 2018-04-25 08:14:59 +08:00 via iPhone
@liuzhedash 为什么说加固无解
|
47
maemual 2018-04-25 08:53:04 +08:00 via iPhone
什么业务需求,上下文,公司背景,什么都不知道,在这怎么讨论合不合适,瞎扯淡
|
48
liuzhedash 2018-04-25 08:58:40 +08:00
@fumer #46
现在主流 App 加固方法都是针对 Native 层的,一个 React Native 应用的主要功能在 js bundle 里面放着,所以真要加固需要参考 44 楼提到的这些 |
50
kuxuan 2018-04-25 09:33:32 +08:00
Facebook 自己都用 React Native 有什么问题?
|
51
kuxuan 2018-04-25 09:35:17 +08:00
这么多大佬都用 RN 别人也没什么问题啊。
https://facebook.github.io/react-native/showcase.html |
52
xiangyuecn 2018-04-25 09:46:27 +08:00
React Native 作用之一不是为了解决跨平台的问题吗?
设计的同一个原型界面,IOS、Android、XXX 平台都重复写一遍多没意思,React Native、Hybrid App 你值得拥有。 我猜微信小程序就是一个破网页,底层还是 webview |
53
ii4Rookie 2018-04-25 10:04:53 +08:00
看各位大佬讨论 有点收货
|
54
projectzoo 2018-04-25 12:53:42 +08:00
flutter 安利一个。
楼主这个问题我觉得是这样的: 对公司 <---- 很合适 对个人 <---- 不是很合适 |
55
Dawnki 2018-04-25 12:56:56 +08:00 via iPhone
从头看到尾,学到很多.但是作为一个不搞客户端的人来说,谁可以通俗易懂地告诉我加固是什么?跪谢 23333
|
56
murmur 2018-04-25 13:00:48 +08:00
@xiangyuecn 小程序好像还真是山寨版 rn
|
57
fumer 2018-04-25 13:07:01 +08:00 via iPhone
@liuzhedash 加固一般采用第三方服务不就是把生成的 apk 交给第三方加固生成一个新的 apk 给你吗,和是否是采用 rn 有什么关系呢
|
58
iFlicker 2018-04-25 13:36:28 +08:00
flutter 要是不用 dart 我会爱上它的。。。
|
59
fyooo 2018-04-25 14:09:08 +08:00
羡慕
|
60
ZSeptember 2018-04-25 16:07:25 +08:00
我们公司很多业务直接用 WebView。
|
62
lvsemi1 2018-04-25 16:26:58 +08:00 via Android
@fumer 反过来,如果像 44l 那样,那也没必要加固了。对于牛逼到能分析 webassembly 字节码的人来说,什么加固都是假的
|
63
changwei 2018-04-25 16:35:27 +08:00
怎么木有人提到 Weex 呢?想问问这个怎么样啊?有木有什么成熟的 app 是用它开发的?
|
65
lvsemi1 2018-04-25 19:45:19 +08:00 via Android
@fumer 你不能这么理解,加固本来就是小众需求,当你需要加固来保护你的程序的时候,你自然期望是要有效果的,不然就是掩耳盗铃了
|
66
39499740 2018-05-11 09:46:04 +08:00
@iFlicker 开始感觉火箭挺恶心,但是看到了 idea 的优化,感觉也不是那么难以使用了,}的地方都有提示,比以前写别的要舒服很多
|
67
x58 2019-05-26 09:14:49 +08:00
|
68
yurnery 2019-08-19 09:57:16 +08:00
RN 坑很多, 如果主要是以展示为主的应用用 RN 还是很快的, 虽然我觉得原生写也很快, 但是用 RN 公司可以省一个人.
坑: 1. 很多三方库更新时间都是 2,3 年前了, 包括 star 比较多的项目 2. 三方库的水平参差不齐, 要有自己 fork 三方库更改的能力 3. 涉及到一些交互优化的地方, RN 很难搞定, 例如安卓上的缩放, iOS 和安卓上的列表嵌套滑动, 整个社区现在都没一个实现, 需要自己通过手势监听, 绝对布局等来实现 4. Flatlist 在长列表上还是有性能问题, 有时候点击列表没执行 onPress 回调等 这些问题可能 Flutter 也会有, 只是说扩平台的坑会比原生多很多, 如果要做大做优, 后面还是得用原生 |