随着React Native和 微信小程序的出现,Native一家独大的局面出现裂痕,很多小公司使用已经正在着手微信小程序和React Native了,我公司就已经走上React Native之路。那么,React Native 和 Native 和 微信小程序 三者比较起来到底哪者更强呢?今天从适应性(适合什么项目)、开发限制、软件迭代更新、成本角度谈谈自己对三者的看法。

个人角度:

适应性(适应什么项目)

大项目、游戏项目:Native

中大型项目:react native

小项目:微信小程序

个人的角度是这样的,当然每个人的观点都不一样。我就说说自己的观点:一些大型商业项目和游戏项目使用Native开发起来更加方便,因为性能上更加有保证,开发起来也更加快捷。中大型项目可以使用React native开发,因为react native封装了大多数native组件,性能上虽然稍微低于native,但是开发一些常规项目还是绰绰有余的,主要是它的热更新真的完败Native,比较适合更新迭代。小项目更加适合微信小程序,为何这么说呢,主要是小程序在UI限制上太大,太死,很多UI界面我们无法使用自己想要的,再比如现在的api还在很少,很多功能完全无法实现,就连常用的navigationBar上都无法放置自定义的按钮,但是作为小项目来说,它的开发成本真的很低很低,所以我认为它更适合小程序。以上只是自己的观点,当然可以使用微信小程序开发出LOL的可以无视我。

开发限制(大--小)

小程序 > react native > native

在开发限制方面,主要谈谈API的限制,小程序限制最大,因为很多UI界面时被固定的,无法自定义,所以我把它放置在第一位,接下来是react native方面,因为它涉及都两个移动平台,所以有些api会有限制,再其次就是因为性能了,最后肯定是native原生了,在开发限制方面肯定最小啦。

软件迭代更新(快--慢)

React Native > 小程序 > Native

React Native拥有的热更新,肯定完败其他两者,至于小程序和Native都需要先上传至微信服务器和苹果再次审核,这个时间长短不一,但是我认为微信小程序的时间应该更短,限制更低。

开发成本(高--低)

native > react native > 小程序

这个个人认为,小程序成本最低,其次就是react native,最后是native。这里的成本包括开发人员的学习成本,技能要求,开发周期,项目维护,开发工具平台限制性等等综合考虑。当然这也得从什么项目入手,如果想使用小程序开发一款大型游戏,它的成本肯定比native高不是,所以什么项目也是一个关键点。

性能(高--低)

Native > react native = 小程序

至于性能上来说肯定是native更加站优势,但是react native 和小程序这两者呢,这个不太好比较。

以上只是自己的观点,不喜勿喷。我写博客只是为了自己可以成长更快而已。

Native VS React Native VS 微信小程序的更多相关文章

  1. 微信小程序:原生热布局终将改变世界

    关于本文的所有观点都是网上收集,与作者本人没有任何关系! 最近朋友圈已经被微信小程序刷屏了,这也难怪,腾讯的产品拥有广泛的影响力,谁便推出个东西,都会有很多人认为会改变世界,这不,张小龙刚一发布微信小 ...

  2. 教程视频、项目源码、全部干货【微信小程序、React Native、Java、iOS、数据结构】

    把我收藏多年的教学视频.项目源码分享给大家,大神就可以忽略了,很多东西都是基础性的,都是期初学习阶段收集的东西. 微信小程序(入门级,有web前端基础的人群): 链接: https://pan.bai ...

  3. [RN] React Native代码转换成微信小程序代码的转换引擎工具

    React Native代码转换成微信小程序代码的转换引擎工具 https://github.com/areslabs/alita

  4. 【微信小程序项目实践总结】30分钟从陌生到熟悉 web app 、native app、hybrid app比较 30分钟ES6从陌生到熟悉 【原创】浅谈内存泄露 HTML5 五子棋 - JS/Canvas 游戏 meta 详解,html5 meta 标签日常设置 C#中回滚TransactionScope的使用方法和原理

    [微信小程序项目实践总结]30分钟从陌生到熟悉 前言 我们之前对小程序做了基本学习: 1. 微信小程序开发07-列表页面怎么做 2. 微信小程序开发06-一个业务页面的完成 3. 微信小程序开发05- ...

  5. 实时视频直播客户端技术盘点:Native、HTML5、WebRTC、微信小程序

    1.前言 2017 年 12 月,微信小程序向开发者开放了实时音视频能力,给业内带来广阔的想象空间.连麦互动视频直播技术在 2016 年直播风口中成为视频直播的标配,然而只有在原生的 APP 上才能保 ...

  6. wn-cli 像React组件开发一样来开发微信小程序

    项目地址:wn-cli wn-cli wn-cli 像React组件开发一样来开发微信小程序 名字由来:wn -> weapp native 取第一个字母 Install npm install ...

  7. 用 React 编写的基于Taro + Dva构建的适配不同端(微信小程序、H5、React-Native 等)的时装衣橱

    前言 Taro 是一套遵循 React 语法规范的 多端开发 解决方案.现如今市面上端的形态多种多样,Web.React-Native.微信小程序等各种端大行其道,当业务要求同时在不同的端都要求有所表 ...

  8. react与微信小程序

    由组员完成 原文链接 都说react和微信小程序很像,但是像在什么部分呢,待我稍作对比. 生命周期 1.React React的生命周期在16版本以前与之后发生了重大变化,原因在于引入的React F ...

  9. 微信小程序项目开发实战:用WePY、mpvue、Taro打造高效的小程序》(笔记4)支持React.js语法的Taro框架

    Taro本身实现的情况类似于mpvue,mpvue的未来展望中也包含了支付宝小程序,现在的版本中,也可以使用不同的构建命令来构建出百度小程序的支持,如第10章所示,但是现在Taro先于mpvue实现了 ...

随机推荐

  1. 《Linux内核设计与实现》课本第五章学习笔记——20135203齐岳

    <Linux内核设计与实现>课本第五章学习笔记 By20135203齐岳 与内核通信 用户空间进程和硬件设备之间通过系统调用来交互,其主要作用有三个. 为用户空间提供了硬件的抽象接口. 保 ...

  2. NAND flash sub-pages

    http://www.linux-mtd.infradead.org/doc/ubi.html#L_subpage NAND flash sub-pages As it is said here, a ...

  3. oracle异常:ORA-01422: exact fetch returns more than requested

    ORA-01422: exact fetch returns more than requested 神奇的错误,困扰了我一个下午. 问题描述:明明只有一行记录,结果是报了多条记录的错误.令我百思不得 ...

  4. Python之路,Day6 - 面向对象学习

    本节内容:   面向对象编程介绍 为什么要用面向对象进行开发? 面向对象的特性:封装.继承.多态 类.方法. 引子 你现在是一家游戏公司的开发人员,现在需要你开发一款叫做<人狗大战>的游戏 ...

  5. 【转】responseText,responseBody,responseXML差别

    为了做ajax的代理,研究了下服务器端的xmlhttp和客户端ajax中的xmlhttp,做了个比较 由于我一直使用JavaScript作为Asp的教本语言,所以比较起来更清楚.服务器端的xmlhtt ...

  6. JAVA 序列化

    一.概念 序列化:将对象转换为字节序列的过程. 反序列化:将字节序列恢复为对象的过程. 二.简单示例 package serialization; import java.io.Serializabl ...

  7. jdbc链接mysql插入数据后显示问号

    1.在cmd中进入mysql查看默认的编码格式:mysql> show variables like "%char%"; 若不是utf8(因为我用的是utf8),关掉mysq ...

  8. STM32时钟数

    在STM32中,有五个时钟源,为HSI.HSE.LSI.LSE.PLL. 其实是四个时钟源,如下图所示(灰蓝色),PLL是由锁相环电路倍频得到PLL时钟. ①.HSI是高速内部时钟,RC振荡器,频率为 ...

  9. Qt之C语言类型typedef a[]等

    01:typedef类型:给类型起别名,typedef int d[5];定义了一个类型即一个5个int类型的数据.所以d c;的长度是就是4 * 10:

  10. hibernate 返回新插入数据的Id

    例如 表明 studentInfo String sql="set set nocount on studentInfo(列名,列名) values('值','值');select @@id ...