前段时间,团队在尝试用ReactNative来进行开发项目,事实上ReactNative相对原生或者纯h5是拥有极大的优势和便利的,这种尝试对于对于非前端开发人员来说当然是有一些阻力和阵痛的,但是这些都是必要的,因为国内当前开发的大环境对于这种快速迭代,敏捷开发的需求是巨大的。所以付出当然是值得的,更何况技术的探索和追求是永无止境的。
一、ReactNative的理解
序: 不太喜欢用官方的说明来解释,太咬文嚼字,用自己的语言来阐述对她的理解比较通俗,当然可能不太精确或者有漏洞,但是其实对于探索和理解总是一步一步来的,总之要先有个大概的理解。
做客户端开发的同学都知道,原生开发其实有很多的限制,特别是苹果的审核机制,可谓是着实令国内的开发人员头疼不已,而且一旦线上出现问题,必须又要经过这套审核流程。所以苹果在保护广大用户方面的确是下了很大功夫,但是对于开发人员来说,特别是对一些需求变更频繁的公司业务来说,很令人头疼。在这之前要解决这样的问题,基本上就是靠加载在线前端页面来实现,但是这样一方面回消耗手机大量内存,另一方面,在之前手机配置特别是安卓手机在渲染方面,显卡效率较低,在手机上体验较差,通常在app中仅会加载某个活动页面使用纯线上h5页面。
ReactNative就是在这种情况下更空出世。他不仅解决上述快速迭代遇到的瓶颈,可以快速开发,不经过审核远程下发更新,而且因为它使用js底层封装了对原生控件的调用,所以体验异常的接近原生水准。自此以后,开发人员可以通过一套代码跨平台开发iOS和安卓应用,并不需要每次经过审核,可以快速迭代,体验接近原生效果。从这个角度来看,你似乎感觉到它似乎像是一套前端框架,事实上没错,的确是这样。React Native (简称RN)是Facebook于2015年4月开源的跨平台移动应用开发框架。是方便于前端开发人员开发出媲美于原生体验的一套框架。
二、一些基本认识
1.开发环境搭建的详细教程,参考下列链接,毕竟这种都是都是固定流程。环境主要是包含node和命令行工具(react-native-cli)。
2.RN的基本架构。简单来说RN是react(框架)和api的结合。所以你最基本要掌握是react框架和fetch(API请求的框架,rn内置)的使用。
3.组件的理解。如果react是一个庞大的母体,那么,一个个的组件就是组成这个母体的不可或缺的载体。比如导航组件、list组件甚至包括fetch本身也可以理解成是一个组件。这点其实从原生端来理解。即iOS的控件,在基础控件之上封装的一个个可自由组合的控件称之为组件,可插拔式是组件的基本功能。就是拿出来是一个个的单独个人。而组合起来可以组成一个完美的结合体,所以目前原生端很流行的组件化的概念就是这个意思。说起来复杂,其实很简单,就是封装一个个的控件。
4.RN的项目组成
项目截图可以看到,在生成项目之后,里面包含的很多文件夹和文件,其中android和iOS文件都是在创建项目的时候自动生成的,如果要兼容双平台。我们在app里面进行开发项目。所以在index.js中需要指向项目的入口文件。
index.js5.npm。npm大致可以理解成iOS中的cocoapods或安卓中的gradle。所以你也应该知道它有多好用了。
6.任何一个项目的开发到完成都是需要一步一步的开发,一个文件一个文件的不断写出来的。所以不要着急,慢慢来。
7.这次主要先把一些rn的探索和基本组成进行介绍和剖析,项目的细节,我们下次开始一步一步来学习。最后,抛出这段时间跟着团队大神这段时间以来开发出来的成果,让大家相信,代码的世界不仅是由0和1组成的,我们的成长也是从0-1发展的。
网友评论