因为前段时间,对dcloud推出的Nativejs和facebook推出的reactNative都做了一点点浅薄的研究。因为研究的很浅薄,所以仅代表我个人观点,谈谈对运用这两个产品的些许感受。

说起dcloud的Nativejs,还是先从他的IDE编辑器开始说起。他们推出的Hbuilder,确实蛮好用,写起代码来确实很快。之前觉得sublime好用,但是当你用了Hbuilder之后,sublime顿时逊色不少。用了一段时间的Hbuilder,感觉其唯一的缺点就是用git库pull下来的文件,不会时时刷新。

说到用Hbuilder开发APP。我们可以下载其官方的案例,开发学习成本是很低的,入手极快,因为它就是运用html5及一些css做得一些开发。再看看他们用js封装的一些原生用法:

安卓:http://www.html5plus.org/doc/zh_cn/android.html#

ios:http://www.html5plus.org/doc/zh_cn/ios.html

囊括了大部分的APP开发接口。

Nativejs打开窗口,用的是openWindow的方式,类似创建一个新的Webview,关闭窗口,就是类似与关闭一个Webview。窗口之间的传值,可以用

extras:{.....//自定义扩展参数,可以用来处理页面间传值},

这种方式。也可以用触发自定义事件的方式。运用openWindow的这种方式,解决了h5中历史返回死循环的问题。

但是,我用下来有些问题,因为很多代码都是用html5写的,当有些功能用html5和它封装的js都能实现的时候,我们会不自觉地运用之前老的html5的方案解决一些问题,最终还是导致我们的APP效率变低。说白了,用Hbuilder开发的APP和我们之前用APPCan和phoneGap开发的移动应用没有什么区别,都是hybrid开发。

但是当facebook推出reactNative之后,迅速火了!我身边不少做安卓开发的同学,开始研究js了,他们开始研究reactNative了,因为reactNative可以跨平台做安卓和IOS开发,而且效率并不低!

为什么这么说呢!因为reactNative逻辑是用js写的,但是UI全部是原生的,他把js渲染成android和ios代码了。

但是呢,reactNative学习成本相对较高。可以看一下他的文档,我们搭建环境,要我们安装nodejs,java运行环境,win7电脑要安装android的SDK等等。它运用的是全新的语法jsx。在学习reactNative之前,最好要先学习一下reactjs,关于reactjs入门,我个人觉得阮一峰写的一篇博客还不错,推荐大家看一下:http://www.ruanyifeng.com/blog/2015/03/react.html

谈谈近期学习Nativejs和reactNative的一些感受的更多相关文章

  1. Android开发学习之路--React-Native之初体验

      近段时间业余在学node.js,租了个阿里云准备搭建后端,想用node.js,偶尔得知react-native可以在不同平台跑,js在iOS和android上都可以运行ok,今天就简单学习下rea ...

  2. Proxy源代码分析——谈谈如何学习Linux网络编程

    Linux是一个可靠性非常高的操作系统,但是所有用过Linux的朋友都会感觉到, Linux和Windows这样的"傻瓜"操作系统(这里丝毫没有贬低Windows的意思,相反这应该 ...

  3. Proxy源代码分析--谈谈如何学习Linux网络编程

    http://blog.csdn.net/cloudtech/article/details/1823531 Linux是一个可靠性非常高的操作系统,但是所有用过Linux的朋友都会感觉到,Linux ...

  4. CSP2019-S2参赛总结 暨 近期学习反思

    前言 岁月不居,时节如流.眨眼间,2019的联赛就已经落下帷幕了,回忆这一年的学习,有许许多多的事情想写下来.趁联赛结果还未出来,赶紧写下这篇文章,以记录我这段时间的学习和生活. "你怎么又 ...

  5. 献给初学者:谈谈如何学习Linux操作系统

    本文出自 “技术成就梦想” 博客,请务必保留此出处http://ixdba.blog.51cto.com/2895551/569329. 为了能把这篇不错的文章分享给大家.所以请允许我暂时用原创的形式 ...

  6. hadoop data 相关开源项目(近期学习计划)

    计划学习几个hadoop相关的开源项目: 1.spring hadoop 2.spring batch 3.spring redis 4.spring mongo 相关项目样例:https://git ...

  7. SHELL 近期学习

    由于项目中很少使用到shell脚本所以.只是偶尔自学一点.慢慢积累.下面就把近段时间积累的发出来.学习. #sort sort 按首字母排序 sort -n 按数字大小 从小到大排序 sort -rn ...

  8. 谈谈如何学习Linux操作系统

     献给初学者:为了能把这篇不错的文章分享给大家.所以请允许我暂时用原创的形式展现给大家. @hcy 更多资源:http://blog.sina.com.cn/iihcy 一. 选择适合自己的linux ...

  9. 近期学习python的小问题及解决方案

    ①定义空的二维列表来读取放置文件的内容: 在python中定义二维数组 - woshare - 博客园https://www.cnblogs.com/woshare/p/5823303.html ②调 ...

随机推荐

  1. .net core 中api 模型验证

    AddControllers/AddMvc方法允许添加自定义ActionFilterAttribute进行过滤 文档中这么定义Filter: 可以创建自定义筛选器,用于处理横切关注点. 横切关注点的示 ...

  2. eclipse一直不停building workplace

    找解决方案的时候自己好了 然后又卡在了updating maven project 暂无解

  3. Dart中类的getter和setter

    Dart类Getters和Setter Getters和Setter(也称为访问器和更改器)允许程序分别初始化和检索类字段的值. 使用get关键字定义getter或访问器.Setter或存取器是使用s ...

  4. VMware与Centos系统安装之重置root密码

    VMware与Centos系统安装之重置root密码   今日任务 1.Linux发行版的选择 2.vmware创建一个虚拟机(centos) 3.安装配置centos7 4.xshell配置连接虚拟 ...

  5. egg 提交数据 防csrf 攻击 配置

    await ctx.render('from',{csrf:this.ctx.csrf}); 或者 使用中间件 ctx.state.csrf = ctx.csrf;

  6. Node.js核心模块-fs文件系统

    fs是file-system的简写,文件系统的意思.在Node中如果想要进行文件操作,就必须引入fs这个核心模块. 引入 const fs = require('fs') fs.readFile(pa ...

  7. AQS源码分析总结

    AQS是并发编程的一个最基本组件,是一个抽象同步器. 网上有很多详细介绍AQS的博文,在这里我就不仔细介绍了,主要写一些重要的内容. AQS中重要的几个属性: //同步队列的头节点 private t ...

  8. ArcGIS Server 地图服务,查询出错 Error performing query operation

    Error: Error performing query operation Error Message Querying a layer from a Map Service that retur ...

  9. Minion 主机同步失败问题,全过程

    如果出现以下状态 token也有了 这个是salt-api  说明你salt-api没问题 点击同步主机 查看你产品线管理那里,添加了你这个salt-api没? 配置参考文档 https://gith ...

  10. JavaDay9(下)

    Java learning_Day9(下) 本人学习视频用的是马士兵的,也在这里献上 <链接:https://pan.baidu.com/s/1qKNGJNh0GgvlJnitTJGqgA> ...