美文网首页Android效果Android杂文
React-native项目入门与思考

React-native项目入门与思考

作者: wutongke | 来源:发表于2016-09-11 16:35 被阅读2952次

    引子

    有个前端同学说,等我学好了react-native,你们也就快失业了。楼主这小心脏一惊,真的假的,决定开始学习一下react-native。其实之前一直做事native的开发,没有怎么接触过前端,对于React更是比较陌生,虽然从2015年开始它火的一塌糊涂。
    这里记录一下自己接触react-native过程中遇到的坑和作为一个native的思考。

    环境搭建

    React-native for android 都出来快一年的时间了,环境搭建这块有很多的文章,这里还是推荐官网的。React-Native 中文网的也不错环境搭建
    这里主要说一下自己遇到的坑:

    1. 编译运行问题
      Android端:
      安装好环境后,直接运行react-native run-android, 该命令实际是直接使用了android目录下的gradlew命令,运行后这里报错了,主要是一些依赖包的问题。这里使用Android studio导入工程目录下的android,然后运行安装,ok 了。
      Ios端
      由于之前没有ios端的经验,遇到的问题都是小白问题。这里需要注意的就是xcode要在7以上,然后注意修改AppDelegate.m中的server地址:
    jsCodeLocation = [NSURL URLWithString:@"http://电脑ip:8081/index.ios.bundle?platform=ios&dev=true"];
    
    1. Android手机上选项菜单不出现问题
      本文中使用的测试机是小米5,刚安装成功后,正常摇一摇手机可以出调试菜单的,然而并没有出来,这里需要设置该应用的悬浮窗权限,设置后可以使用。

    入门基础

    1. React基础
      当然首先是要有js基础,学语言个人经验是先找网上的入门教程也有一个大概的了解,这里推荐廖雪峰的blog,然后就是边实践边学习,有了一定基础后再去看大部头的经典教材,一般就会讲的比较详细,主要是知识更系统,原理也会了解不少,读完后会有一个很大的提升。
      react基础我看了阮一峰老师的博客,React入门实例教程.

    2. React-Native基础
      这里主要是跟着官网的教程练习就可以了,需要注意不能版本之间的一些区别。同时也要注意es5和es6的一些区别,es5和es6的区别这个文章介绍的比较好。


    项目练习

    1. react-native-android-guide
      这里收集了很多入门的资料,但是有几个月没有更新了。体验了一下文中提到的知乎日报Android版,整体来说效果不错,但是在界面切换的时候略卡。
      react-native-material-design中实现了materal-design,效果不错,但是作者有段时间没有更新,如果使用最新的React-native 有些问题。
    2. awesome-react-native
      这个地址在持续更新着学习资料但主要以英文为主,收集非常多react-native项目。这里fork了项目NBAreact单纯觉得nba不错,哈哈。在源码的基础自己练习了知乎日报的接口。
      这个app中使用了react-native-scrollable-tab-view,一个tab切换的库,react-native-router-flux一个界面跳转的路由库,个人认为很值得学习。
    3. 发现一个不错的react-native project, 代码很整齐,使用了Redux,非常值得学习。
      reading github 地址

    Debug

    debug需要借助于Chrome浏览器,首先下载react 的chrome插件,然后在应用菜单中选择远程调试,即可以进行实时断点调试,效果还不错。

    总结

    就接触的几个开源项目而言,在安卓手机上的应用表现略卡,主要表现在界面切换等动画上。但开放一套可以适用于两个端,诱惑力还是很大的。对于原有的native应用可以考虑把一些简单的界面用react-native来实现。

    思考

    总体感觉react-native 还是有挺多不完善的地方,与原生代码相比,还是有一些差距。但是react-naive 也是在不断的完善中,有点像早期android,有些常用的库比较缺失,可以考虑按照native的思路多造一些轮子。特别是android作为一个开源的系统,很多思路都可以应用于react-native。比如界面切换的路由设置、数据传递等,theme,style的通用实现等,native的同学可以考虑把这些功能加入到react-native中。愿react-native有一个美好的前景。

    欢迎关注公众号wutongke,每天推送移动开发前沿技术文章:

    wutongke

    推荐阅读:

    React-native项目入门与思考
    React native 项目入门(知乎日报,豆瓣电影,[one]一个)
    React native 项目进阶(redux, redux saga, redux logger)
    React Native 项目2(One 【一个】客户端)

    相关文章

      网友评论

      本文标题:React-native项目入门与思考

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