/ react native

React Native跨平台移动应用开发实战 - 开篇

React Native介绍

React Native (简称RN)是Facebook于2015年4月开源的跨平台移动应用开发框架,是Facebook早先开源的UI框架 React 在原生移动应用平台的衍生产物,目前支持iOS和安卓两大平台。RN使用Javascript语言,类似于HTML的JSX,以及CSS来开发移动应用,因此熟悉Web前端开发的技术人员只需很少的学习就可以进入移动应用开发领域。

RN运行时包含一个原生主线程和一个JS线程,JS线程执行JS代码,负责界面布局和业务逻辑处理,原生线程负责界面渲染和原生功能执行。RN尽量使用原生组件(现有原生组件经过封装后可在JS里调用),以避免重复造轮子。这样有很多好处,一是可以利用现有的大量的原生组件;二是可以达到跟原生组件一样的性能;三是通过JS封装过后的组件可以支持跨平台。

JS在RN里面的作用类似于Python这样的支持调用原生C库的脚本语言,都是起着“胶水”的作用。复杂计算和系统功能通过调用原生接口来完成,流程控制和业务逻辑则在“胶水”语言里完成。这样既提高了开发效率,又兼顾了性能。

起源

本文章系列是 Go + Docker API服务开发和部署 的姊妹篇,都是笔者在开发 在球场 这款体育社交类应用过程中的技术总结。该应用已经发布到AppStore、GooglePlay和腾讯应用宝,覆盖iOS和安卓两大平台。平台之间的代码复用率超过90%,流畅度接近原生应用。相比而言iOS的体验更为流畅一些,毕竟RN最先支持的就是iOS平台,优化做得更好。

经过这次的实际开发体验,笔者相信RN以后将成为绝大多数移动应用开发的首选技术。除开那些对性能要求非常苛刻的应用,比如游戏类。RN目前的短板在于代码的稳定性不够,经JS封装的原生组件还比较少。不过这些随着时间的发展将会很快解决,毕竟RN从开源到现在也才一年多时间就达到了目前的水平,发展速度非常之快。

内容目录

Lite版的代码已在GitHub开源,在球场Lite版

  1. 开篇
  2. 搭建开发和调试环境
  3. 技术栈
  4. 布局和导航
  5. 启动
  6. 数据同步
  7. 登录注册
  8. 首页
  9. 打包发布

其它资料

  1. 视频课程 - React Native跨平台移动应用开发
  2. 源代码 - 在球场Lite版
  3. 技术文章 - Go + Docker API服务开发和部署
  4. 在球场官网