有哪些 App 项目用了 React native 技术?

问与答 · littlecoder · 于 发布 · 最后由 stuhua回复 · 4051 次阅读
420

React Native有什么优势?能跟原生比么?

共收到 9 条回复
1526
miserylee · #1 ·

想了下也没有新东西想说,暂且引用一下我在知乎的回答吧~
内容仅供参考,还需要和大家多讨论 :D

作者:MiseryLee
链接:https://www.zhihu.com/question/36722811/answer/89385180
来源:知乎
著作权归作者所有,转载请联系作者获得授权。

1.环境配置简单:装好npm,装好RN-cli,就可以愉快地开始初始化工程了。当然,如果是做Android项目需要另外装sdk等等,iOS则要装XCode。
2.实时远程调试:不得不说,RN的调试比Cordova不知道好到哪里去了。开启了实时重载之后,代码一改,app就自动更新成最新,对于UI的搭建简直是省了不少的编译时间。同时可以打开XCode实时的看到所有的log信息。
3.媲美原生应用:RN提供的组件是对原生API的暴露,这样就算是用js写出来的代码,实质上是调用了原生API来搭建的UI,在UI体验上足以媲美原生应用。虽说在逻辑计算上是用的js,但是要知道js的运行效率也是不慢的,基本上能够满足大部分的应用的需求了。
4.开发效率高:这一点其实不用多解释了,js学习成本低,使用组件式的架构开发,灵活的js语法,还有大量的第三方组件框架等等,在开发起交互比较复杂(非原生最基础的组件)的应用来,绝对是比原生开发起来要快得多的。
5.代码热部署:终于可以绕过AppStore超级久的审核流程了!不得不说,这个优势是选择RN最根本的原因,因为是用的js来写的代码,实时编译的过程能让我们实现应用的热部署,真正能够审核一次,永久0审核更新。这里要提一下微软提供的CodePush服务了,亲测好用!当然,从目前苹果引入BitCode以来,说不定不久的将来,原生也将支持热部署了。当然,这是一个好消息!

96

楼上都把ReactNative的好处基本上说完了,我来说说不足的地方。

  • 首先是学习成本并没有想象的那么低,除非你正好有过React的开发经验。

  • 其次我个人不喜欢JSX的写法,将HTML和JS代码写在一起的方式会让我觉得代码很乱,当然我不反对这这种做法。

  • 由于ReactNative实际上是通过JS调用原生代码来实现的,其实这点也限制了它,
    当Android,iOS新版本发布的时候,新特性的支持上,ReactNative势必会慢一步。

  • 我最厌烦的是,现有的Android三方库然而并不能直接用于ReactNative,除非有人把它转换成ReactNative支持的组件形式。也就是说,假如我有一个新需求,需要自己写一个三方组件,那么我需要先写一个Android组件,然后根据ReactNative指南,将其转换成ReactNative支持的组件形式,然而这种需要自定义组件的状况,在实际的项目开发中其实是很多很多的。

所以,相比原生的灵活,ReactNative其实是差很多的,不过这些缺点和ReactNative的热更新,以及开发效率比起来我觉得都可以接受。

1562
  1. 整体来讲自己觉得 RN 对于熟悉 React 的前端工程师比较友好,有一套和前端开发相似的构建工具,用起来还算是比较舒服的。
  2. 热更新、远程调试、组件化什么的不知道高到哪里去了。
  3. 性能上和 Native 比并没有很大差距,毕竟最终还是使用的 Native。
  4. 扩展性就比较弱了,很多第三方的库和 SDK 集成起来很麻烦,不如原生灵活。

以上是刚写出来的,以下摘自曾经的知乎回答。


作者:Flyow
链接:https://www.zhihu.com/question/37275973/answer/71911339
来源:知乎
著作权归作者所有,转载请联系作者获得授权。

96

应邀来发表一下意见。主业留学公司老板,副业搞点编程。

公司官方app用RN做的http://aadps.net/app

之前写的笔记在这里http://zhuanlan.zhihu.com/p/21411171

结论是还是一大坑,不过向我们这种业余的凑合用用还行吧。真要把公司身家性命压上面的还是算了。

1612

站在前端开发人员的角度, 没有很多的原生平台的开发经验, 优点很多.

但是会写原生的代码的话, 我同事反馈来看, 性能的各方面仍然有明显的差距. 特别是长列表渲染的性能, 打包的体积. React Native 的优点主要是在开发的门槛和灵活度方面有改善, 而这些特点未必是移动端开发最为重要的部分.

48
jonsnow · #6 ·

react-native技术迅速发展,跨平台开发越来越方便,react-native-macos 已经可以方便构建桌面版的App,随着Facebook 的推动,未来一定是react技术会越来越成熟。热部署实时更新特性带来了非凡的价值。性能等特殊场景功能可以由native辅助提供。react使用flex布局简单易懂,JBX中js和html语法略有不适应。

来自剑指人心微博 http://www.weibo.com/1787521145/E3RdqvTlT

420

#5楼 @jiyinyiyong react-native来看是否会取代 原生开发呢?毕竟原生其实缺点也很明显,类似淘宝、京东等电商类网站都希望可以更加灵活,做到千人千面这种效果,而这种效果原生无法实现。

420

#4楼 @cathiabi 主业留学公司老板,副业搞点编程这个有点6啊!!!您说RN是个大坑?坑哪里呢?

96
stuhua · #9 ·

我觉得用Ionic来开发也是不错的哎,虽然在Android 机上性能不怎么好,但是手机也是越来越牛逼,有一天肯定会克服这个的

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册