简评:跨平台开发五彩斑斓,本文作者简单介绍 RN 和 Cordova 的两种不同终端跨平台流程,从与原生开发联系中分析其利弊。

什么是原生(Native)?

原生是一个相对概念。其实软件开发最后意义指在操作硬件(大量晶体管和电路等),而操作硬件的原始指令对普通人类来说几乎是天书。不断发展中为了方便理解和操作,软件被划分成很多层,一个框架运行在另一个框架上,而越贴近硬件的框架,就越原生(More Native)。

React Native 相对 Cordova 更原生

以 iOS 和 Android 开发为原生开发基准。Cordova 是基于本机的浏览器框架进行扩展开发,它的按钮,UI,你能看到的一切都是基于浏览器页面模拟展示的。RN 则是直接基于本机框架中运行,也就是前面说的相对 Cordova 而言 More Native。

如何抉择?

其实原文作者的整体描述都是偏向于选择 RN,我倒不认为这有什么绝对的选择,RN虽然相对流畅性能较好,可也意味着开发成本学习成本的提高,而 Cordova 确能使前端开发人员快速上手,快速集成到终端应用,这一高效性也是不能忽略的,虽然是在牺牲性能情况下。

当然有的开发者会说性能用户体验难道不是第一生产要素吗?那这样直接基于原生开发不是更好,所以都有利弊,结合自身情况考虑抉择才是硬道理。

有兴趣的朋友可以继续探讨下。

原文:React Native vs. Cordova, PhoneGap, Ionic etc.

React Native vs. Cordova.的更多相关文章

  1. 使用CodePush实时更新 React Native 和 Cordova 应用

    近期公司的React native App(云订货)用上CodePush实时更新App技术了.棒棒的 CodePush 是微软开发的.能够实时更新 React Native 和 Cordova 应用. ...

  2. React Native之code-push的热更新(ios android)

    React Native之code-push的热更新(ios android) React Native支持大家用React Native技术开发APP,并打包生成一个APP.在动态更新方面React ...

  3. Cordova VS React Native 谁是未来? - b

    对于原生native还是倍加推崇的,极佳的用户体验和性能让我学的如痴如醉,可是互联网这个世界可以用一句话可以总结:没有什么是不可能的.自从阿里淘宝天猫横空出世,它们教会了人们如何在网上购物,然后仿佛一 ...

  4. 慢牛系列三:React Native实践

    上次发布了我的慢牛股票APP之后,有园友反馈有点卡,这个APP是基于Sencha Touch + Cordova开发的,Sencha本身是一个比较重的框架,在Chrome里运行性能还是不错的,但是在A ...

  5. React Native(ios)项目中logo,启动屏设置

    由于logo和启动屏尺寸多,react native(ios)中没有命令可以自动生成各种的尺寸,所以可以使用以下办法:在ionic项目中生成(使用命令:ionic resources)后,再粘贴到re ...

  6. Hybrid App 和 React Native 开发那点事

    简介:Hybrid App(混合模式移动应用)开发是指介于Web-app.Native-App这两者之间的一种开发模式,兼具「Native App 良好用户交互体验的优势」和「Web App 跨平台开 ...

  7. 使用React Native来撰写跨平台的App

    React Native 是一个 JavaScript 的框架,用来撰写实时的.可原生呈现 iOS 和 Android 的应用.其是基于 React的,而 React 是 Facebook 的用于构建 ...

  8. iOS 写给iOS开发者的React Native学习路线(转)

    我是一名iOS开发者,断断续续一年前开始接触React Native,最近由于工作需要,专职学习React Native也有一个多月了.网络上知识资源非常的多,但能让人豁然开朗.迅速学习的还是少数,我 ...

  9. React native开发中常见的错误

    react native环境搭建请移步:react native环境搭建 这里说说react native创建完成之后,运行中出现的常见问题, 问题1: java.lang.RuntimeExcept ...

随机推荐

  1. gpg的使用

    [gpg的使用] 在Linux系统中,gpg程序可以实现非对称加密. 下面简单介绍gpg命令的用法:一.创建密钥:$ gpg --gen-key Please select what kind of ...

  2. 为Eclipse安装功能扩展插件

    ---------siwuxie095                 关于 Eclipse 的下载.安装与配置,详见本人博客分类:利剑出鞘, 里面的 Eclipse的配置         本人博客( ...

  3. weblogic 初始化

    weblogic无法启动,或是忘记了登陆密码,需要初始化,可以删除weblogic配置然后重新生成配置.步骤如下 1> 找到weblogic的启动路径,打开jdeveloper,run后,查看日 ...

  4. polymer技巧

    1.添加一个div元素 我们完全可以自己造一个这样的东西出来,比如下面例子我们给 div 元素添加一个 is="demo-test" <script> var Poly ...

  5. NideShop项目的安装部署教程

    本文档为微信小程序商城NideShop项目的安装部署教程,欢迎star NideShop商城api服务:https://github.com/tumobi/nideshop NideShop微信小程序 ...

  6. Android-startService后台运行

    什么时候使用startService? 答:APP在后台长时间运行并执行业务的时候,可以用服务,主要是看服务的特点(在后台长时间运行): Service相关代码: package liudeli.se ...

  7. MSP430 G2553 LaunchPad设置GPIO

    一. 背景知识:逻辑运算符的使用 当程序初始化时,对于复位状态有不确定性的寄存器(如PxOUT),建议采用直接赋值:其他情况下最好使用逻辑运算符修改寄存器. 直接赋值 REGISTER = 0b111 ...

  8. .NET框架源码解读之MYC编译器

    在SSCLI里附带了两个示例编译器源码,用来演示CLR整个架构的弹性,一个是简化版的lisp编译器,一个是简化版的C编译器.lisp在国内用的少,因此这里我们主要看看C编译器的源码,源码位置是:\ss ...

  9. 遇到了IE10不能登录的问题,很早就有解决方案了

    1..net 2.0 的程序,请打开项目,打开vs开发环境的工具菜单下的  Package Manager Console ,中文名:程序包管理控制台,在打开的控制台中输入如下命令:Install-P ...

  10. 清除浏览器缓存meta标签

    <meta http-equiv="Cache-Control" content="no-cache" /> <meta http-equiv ...