我先来。
用我掉过的头发和修过的bug,聊聊开发者对RN的爱恨情仇吧
先说我们会选择RN最主要的原因:
1、跨平台省钱大法好:我记得当年团队组长拍着桌子说“安卓和iOS各招5个人”的画面,后面一个同事用RN写了个Demo,成功把团队砍到3人。react native的跨平台大法让同一套代码跑双端,是真的省心好用。
2、热更新堪比后悔药:RN的热更新是我非常喜欢的能力,基本可以让我像做PPT一样随时修改,对比原生每次发版都要跪求App Store审核的样子,压力都会小好多。
3、JavaScript宇宙的通行:RN上手门槛低,会写网页就能上手RN,React生态里的组件库多得像火锅店的配菜。还记得之前用react-navigation搭导航栏时,顺手抄了GitHub上5个开源模板,开发速度是真的顶。
但react native也被一堆的同行嫌弃,确实RN在某些方面还是存在不少的问题,例如性能、对原生的依赖都让人头大。
例如用RN做个静态页面还行,遇到需要疯狂调用相机API的AR功能,RN的性能就直接摆烂了。
另外虽然80%的功能能用JS搞定,但遇到蓝牙打印、人脸识别等硬核需求时,还是要含着泪写Native Modules。这时候你就会发现:原来自己JavaScript、Java、Swift都要会,活被RN逼成了传说中的“全干工程师”。
其实我发现一个比较神奇的搭配,把RN和FinClip配合使用。
首先FinClip作为小程序容器,能让你把小程序像乐高积木一样嵌入任何App。
如果有了它,我感觉这些场景都能很快被实现:
举个我们团队的真实案例吧。
我们的电商App直接用RN开发的商品详情页,同时用FinClip接入了5个品牌小程序。大促期间新增的“AR试妆”功能直接以小程序形式上架,避免原生发版导致的技术冲突。
用了之后一个明显的感觉,这场面就像在React Native造的航母上,停满了FinClip出品的战斗机。
如果你的项目需要快速试错、动态迭代,react native+FinClip这个组合能让你在老板面前稳如泰山,但如果是做大型游戏或工业级应用,建议还是抱紧原生开发大哥的大腿。
各位大佬对React Native的评价如何?
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。