美文网首页
React Native与原生开发的对比

React Native与原生开发的对比

作者: Mars_pananting | 来源:发表于2021-01-17 22:57 被阅读0次

    基础对比

    1,环境搭建

    a)首选你要选择开发平台macOS/Windows/Linux
    b)其次选择你对应的目标平台iOS/Android
    不同目标平台要安装对应的环境依赖
    比如iOS需要Node、Watchman、XcodeCocoaPods。
    Android需要Node、JDKAndroid Studio
    c)创建项目
    执行cmd命令 npx react-native init YourProjectName,这里我命名为AwesomeProject
    项目创建成功后可以使用相关工具打开进行编程了
    开发RN的工具有很多,选择性也比较多,比如Facebook专门为React开发的IDE:Nuclide,还有做前端比较熟悉的WebStorm、Sublime Text 3、VS Code等。

    RN目录.png

    iOS/Android :对应的开发工具创建

    2,开发语言

    React Native本质上是JavaScript框架。
    RN类似于Vue开发,运用JSX与一些标签对来进行一些流式布局
    iOS:Object-C/Swift
    Android:Java/Kotlin

    3,Debug

    大家才能够目录中可以看到,RN项目一般是包括iOS项目和Android项目,调试的时候需要用对应的开发工具调试不同的平台。

    4,开发技能要求

    我所理解的最能运用RN开发的coder需要掌握JS开发(对公用模块的绘制与功能处理)、iOS开发、Android开发(主要处理端对端与第三方的兼容交互,一些功能集成处理例如推送、支付等)

    React Native 与原生开发的优劣

    1,React Native原理

    a)React属于JavaScript框架,每个HTML界面可以看做一个文档对象模型(DOM),React框架采用组件化方式简化Web开发,可以把一组相关的DOMJavaScript单独封装到一个组件类中,便于复用。
    b)RN底层是把React转换为对应的原生API,例如针对iOSRN会在一开始生成Object-C模块表,然后把这个模块表传入JS中,JS参照模块表,就能间接调用OC的代码。
    c)工作流程

    RN工作流程.png
    2,React Native与原生的比较

    a)相比原生各自维护一套(iOS、Android)业务逻辑大同小异的代码,React Native 只需要同一套javascript代码就可以运行于iOSAndroid两个平台,在开发、测试和维护的成本上要低很多。
    b)能即时更新 App,原生发布更新则需要提交审核到不同的市场,发布和测试新功能的效率大幅提高。
    c)动画性能。React Native在动画效率和性能的支持还存在一些问题,性能上不如原生Api
    d)React Native 严重依赖于Facebook的维护。苹果在iOS上每次技术的更新、政策的改变都会让原来使用了 React Native 代码库受到影响,等待 Facebook和社区的修复会妨碍 App 的更新和用户体验。
    e)原生应用开发人员需要更多指定给原生应用构建的模块,如访问摄像头、推送通知和其他设备传感器。
    f)性能。

    写在最后
    何时选择 React Native

    a)你想构建一款简单的电子商务App。
    c)你需要尽快进入市场,在人员不够的情况下。
    d)你的项目预算较少。

    参考文档
    https://reactnative.cn/docs/environment-setup
    https://www.jianshu.com/p/5cc61ec04b39
    https://www.infoq.cn/article/t3ypfdi88*gkzwhr2bpt

    相关文章

      网友评论

          本文标题:React Native与原生开发的对比

          本文链接:https://www.haomeiwen.com/subject/gwrzaktx.html