阅读更多

2顶
0踩

移动开发

转载新闻 使用React Native一年后的感受

2016-06-14 11:29 by 副主编 mengyidan1988 评论(0) 有15550人浏览
引用


当我在面试Discord的时候,技术主管Stanislav跟我说:
引用
React Native代表着未来。等它一发布,我们就会用它从零构建iOS应用。


作为一名原生iOS开发者,基于先前使用PhoneGap的经验,我非常怀疑使用Web技术构建移动应用的这种方式。但是当我学习并使用React Native一段时间之后,我非常庆幸我们做了这个决定。
开发效率

虽然iOS“团队”只有我自己一个人,但是iOS应用开发依然可以赶上Web和桌面应用开发闪电般的速度。Apple公司已经允许开发者使用JavaScriptCore进行应用的升级,而无需等待App Store的审核流程。这对于那些缺乏专业的iOS QA(质量保障)团队的小公司来说是非常便利的,因为iOS团队可以在发布新功能之后进行热更新。

使用React Native一年之后,我们的iOS开发周期明显变快了,这得益于很高的开发效率。比如:
  • 基于现有的前端架构,我们在两周之内就发布了V1.0的版本。
  • 相比于Auto Layout,基于Flexbox的样式可以节省一半的代码,并且更容易理解。
  • 使用Flux设计模式,iOS和Web应用共享了store和action的98%的代码。

性能

React Native在后台线程运行JavaScript并发送极小的代码到主线程中。事实证明,React Native相比于Objective-C或Swift编写的原生iOS应用来说有一些性能差异!
引用
Reactiflux小组的性能演示,该组有超过1.1万个会员 —— UI和JS线程大多数都是60FPS


然而,我们当初开始构建iOS应用时发现聊天滚动视图的性能并不令人满意,尤其是一些活跃的聊天分组。于是,我们决定使用ComponentKit构建聊天视图并编写必要的桥接代码代替原有的方案。当JS线程在完成一些繁重任务的时候,类库也无法提供原生那样流畅的动画(译注:之前动画是在JS线程执行,目前有人提交了一份代码,有望使用原生iOS动画接口),因此我们在抽屉侧滑动画上继续使用PopAnimation

注: 作者称该应用仅聊天视图和抽屉动画是原生代码实现的,其他均由React Native实现。

当React Native Android版本发布时,我们也尝试在Android设备上运行应用,但遗憾的是,我们遇到了一些性能问题,只好暂时放弃。Android开发主管Miguel是这样说的:
引用
很遗憾,不同Android设备的性能差异很大,这点明显落后于iOS。我们可以让应用运行地很快,但是性能——尤其是触摸事件,即使在更高端设备上也不能令人满意。并且在早期,由于React Native Android缺乏完善的功能,我们从产品原型过渡到成品应用比iOS花费了更多时间。


可用性



React Native让开发工作更简洁,使得开发者可以专注于每个新版本核心功能的开发。应用内自带的开发者菜单为我节省了大量的时间。

其中我最喜欢的一个功能是Show Inspector(审查工具),它可以即时展现交互视图的层级结构以及被选组件中所有必要的样式信息,这无疑是我用过的最棒的iOS审查工具。
社区

React Native项目每两周会发布一个新版本,其中包含一些新的特性以及修复的bug。这有利有弊,好比iOS几个月的稳定版本的发布,新的代码需要额外的时间进行升级,尤其是生产环境中的应用。因此,这也是到目前为止我们fork的React Native仓库只有四次主要升级的原因。

由于React Native还不太成熟,资源有限,也不完整。但随着它越来越流行,在不久之后一定能赶上其他成熟的技术。下面列出了一些实用的资源,我也经常在它的仓库上提问和获取最新的信息:

引用
译注:中文资源:React Native学习指南

总的来说,React Native很有潜力,它把我们团队的移动应用开发带上了一个新的台阶。像我这样原生的iOS开发者可以平滑地过渡到React Native,这有些出乎我的意料。同时,它也帮助我扩展职业技能,因为我也可以很轻松地向React编写的Web应用贡献代码了。
  • 大小: 7.5 MB
  • 大小: 126.8 KB
2
0
评论 共 0 条 请登录后发表评论

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 使用 React Native 一年后的感受

    当我在面试Discord的时候,技术主管Stanislav跟我说: React Native代表着未来。等它一发布,我们就会用它从零构建iOS应用...但是当我学习并使用React Native一段时间之后,我非常庆幸我们做了这个决定。 开发效率 ...

  • React Native 的未来与React Hooks

    近期和一些朋友聊到了 React-Native 的官方重构状态,而刚好近期发布的 0.59.x 系列版本中,上层设计出现了比较大的调整,结合体验之后的状态,就想聊聊 React-Native 的现状、新版本的升级体验、还有新支持的 React...

  • React Native 迁移的阵痛

    另外,新功能应该使用 React Native 还是 Native 开发也是个问题。尽管大家都知道,新功能应该尽可能地用 React Native 开发,但是有些时候,不得不用 Native 开发,因为很多模块还没有被迁移。那么当前要用 Native...

  • 全网最全 Flutter 与 React Native 深入对比分析

    在去年也整理过 《移动端跨平台开发的深度解析》 的对比文章,时隔一年之后,本篇将重新由 环境搭建、实现原理、编程开发、插件开发、编译运行、性能稳定、发展未来 等七个方面,对当前的 React Native 和 ...

  • React Native学习资料

    官网: React 官方网站:https://reactjs.org/ React Github网址:...React Native官方网站:https://facebook.github.io/react-native/ React Native Github网址:https://github.com/facebook/...

  • 值得推荐的React Native学习资料

    转:值得推荐的React Native学习资料 https://github.com/reactnativecn/react-native-guide React-Native学习指南 本指南汇集React-Native各类学习资源,给大家提供便利。指南正在不断的更新,大家有好的资源...

  • React Native指南汇集了各类react-native学习资源、开源App和组件

    React-Native学习指南 本指南汇集React-Native各类学习资源,给大家提供便利。指南正在不断的更新,大家有好的资源欢迎Pull Requests! 同时还有Awesome React Native系列 ...

  • 谈谈学习ReactNative那些资料

    学习ReactNative的现阶段,学习资料并不是那么的多。我们要寻找适合自己的资料才能有效的达到开发的要求。 * **构建 Facebook F8 2016 App / React Native 开发指南** http://f8-app.liaohuqiu.net/ ...

  • React-Native学习指南

    本指南汇集React-Native各类学习资源,给大家提供便利。指南正在不断的更新,大家有好的资源欢迎Pull Requests! 同时还有Awesome React Native系列https://github.com/jondot/awesome-react-native 目录 教程 ...

  • react-native 入门学习指南

    本指南汇集React-Native各类学习资源,给大家提供便利。指南正在不断的更新,大家有好的资源欢迎Pull Requests!同时还有Awesome React Native系列 https://github.com/jondot/awesome-react-native目录教程React ...

  • React Native学习指南

    本指南汇集React-Native各类学习资源,给大家提供便利。指南正在不断的更新,大家有好的资源欢迎Pull Requests!同时还有Awesome React Native系列 https://github.com/jondot/awesome-react-native目录教程React ...

  • H5、React Native、Native应用对比分析

    Native发展的一年,2016年必定是React Native蓬勃的一年!2016年React Native很可能成为最为成功的开源技术之一。为什么React Native这么火呢?那么React Native相比H5、Native又有哪些优势呢?使用React Native的...

  • React Native初探

    React Native初探 转自:博客园叶小钗 前言 很久之前就想研究React Native了,但是一直没有落地的机会,我一直认为一个技术要有落地的场景才有研究的意义,刚好最近迎来了新的APP,在可控的范围内,我们可以在...

  • C++ 实现新年倒计时与烟花显示效果的图形界面程序

    内容概要:该文档介绍了一个用C++编写的控制台应用程序,主要功能是在新年来临之际展示倒计时、播放音符以及渲染烟花效果,最终以艺术字体显示新年祝福语。具体实现了粒子系统来模拟烟花绽放,并定义了不同形状(如“2025”)由小点组成的图像,再逐帧更新显示,营造烟火燃放的视觉冲击力。此外还有通过 Beep 函数发出不同频率的声音以配合倒计时刻度,同时加入了输入姓名和许愿的功能增加互动感。 适用人群:熟悉C/C++语言基础的学生群体及开发者。 使用场景及目标:适用于希望通过生动有趣的小项目加深对控制台操作的理解的学习者;也可以作为一个简单有趣的案例用于节日庆祝活动中。 其他说明:由于使用了许多特定于 Windows 平台的API函数,比如 Beep(), SetConsoleTextAttribute() 和 GetStdHandle(), 本程序仅能在 Windows 上运行良好。并且涉及到了较多关于粒子系统和声音处理的知识点,在教学过程中可以借此讲解一些图形渲染的基本原理和音频处理方法。

  • 儿歌、手指谣、律动.docx

    儿歌、手指谣、律动.docx

  • 基于Msp430设计的环境监测系统(完整系统源码等资料)实物仿真.zip

    【文章链接:https://blog.csdn.net/2403_86849624/article/details/145739426?spm=1001.2014.3001.5502】基于 MSP430 微控制器的环境监测系统的设计与实现。该系统集成了温湿度、光照度、烟雾浓度以及 PM2.5 浓度等多参数的监测功能,具备数据显示、阈值设置和报警等功能。通过硬件电路与软件程序的协同工作,系统能够实时、准确地获取环境信息,并为用户提供直观的数据展示和有效的预警。文中深入探讨了系统的硬件选型、电路设计、软件编程思路及关键代码实现,经实际测试验证,该系统运行稳定、性能可靠,在环境监测领域具有一定的应用价值。关键词:MSP430;环境监测;传感器;数据处理 随着工业化进程的加速和人们生活水平的提高,环境质量对人类健康和社会发展的影响愈发显著。准确、实时地监测环境参数,对于预防环境污染、保障人体健康以及推动可持续发展至关重要。

  • 基于COMSOL仿真的电磁超声压电接收技术在铝板裂纹检测中的应用研究,COMSOL模拟:电磁超声压电接收技术在铝板裂纹检测中的应用,comsol电磁超声压电接收EMAT 在1mm厚铝板中激励250kH

    基于COMSOL仿真的电磁超声压电接收技术在铝板裂纹检测中的应用研究,COMSOL模拟:电磁超声压电接收技术在铝板裂纹检测中的应用,comsol电磁超声压电接收EMAT 在1mm厚铝板中激励250kHz的电磁超声在200mm位置处设置一个深0.8mm的裂纹缺陷,左端面设为低反射边界。 在85mm位置处放置一个压电片接收信号,信号如图3所示,三个波分别为始波,裂纹反射波(S0模态)和右端面回波(S0)。 ,comsol;电磁超声;压电接收;EMAT;裂纹缺陷;信号接收;波;始波;S0模态;右端面回波,电磁超声检测技术:裂纹缺陷定位与信号分析

  • MATLAB环境中基于PSO算法的机器人路径规划系统:可视化界面下的障碍物自定义与终点规划,MATLAB实现PSO算法的机器人路径规划系统:支持自定义障碍物、起点终点的可视化界面操作,基于MATLAB

    MATLAB环境中基于PSO算法的机器人路径规划系统:可视化界面下的障碍物自定义与终点规划,MATLAB实现PSO算法的机器人路径规划系统:支持自定义障碍物、起点终点的可视化界面操作,基于MATLAB的粒子群优化(PSO)算法的机器人路径规划,可视化界面,可自定义障碍物,起点和终点。 ,MATLAB; 粒子群优化(PSO)算法; 机器人路径规划; 可视化界面; 自定义障碍物; 起点和终点,MATLAB PSO算法机器人路径规划与可视化界面

  • 五电平无刷直流电机BLDC矢量控制仿真模型研究:转速稳定、多电平可调参数的Matlab Simulink模型应用,五电平无刷直流电机BLDC矢量控制仿真模型研究:转速稳定、多电平可调参数的Matlab

    五电平无刷直流电机BLDC矢量控制仿真模型研究:转速稳定、多电平可调参数的Matlab Simulink模型应用,五电平无刷直流电机BLDC矢量控制仿真模型研究:转速稳定、多电平可调参数的Matlab Simulink模型应用分析,五电平无刷直流电机BLDC矢量控制仿真模型,给定转速1000r min,运行良好; 三电平,两电平均可做,可调参数; matlab simulink模型 ,五电平BLDC矢量控制; 仿真模型; 1000r_min; 三电平控制; 可调参数; Matlab_Simulink模型。,五电平BLDC矢量控制仿真模型:三电平可调参数,1000r/min良好运行,Matlab Simulink实现

Global site tag (gtag.js) - Google Analytics