使用react native一年后的感受 -pg电子游戏网站

2顶
0踩

使用react native一年后的感受

2016-06-14 11:29 by 副主编 mengyidan1988 评论(0) 有15381人浏览
引用
英文来自:
译文来自:


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


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

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

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

性能

react native在后台线程运行javascript并发送极小的代码到主线程中。事实证明,react native相比于objective-c或swift编写的原生ios应用来说有一些性能差异!
引用
reactiflux小组的性能演示,该组有超过1.1万个会员 —— ui和js线程大多数都是60fps


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

注: 作者称该应用仅聊天视图和抽屉动画是原生代码实现的,其他均由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还不太成熟,资源有限,也不完整。但随着它越来越流行,在不久之后一定能赶上其他成熟的技术。下面列出了一些实用的资源,我也经常在它的仓库上提问和获取最新的信息:
  • reactiflux上的。
  • —react native开源组件列表。
  • —大量的react native文章、教程和示例。

引用
译注:中文资源:

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

发表评论

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

相关推荐

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

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

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

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

  • pg电子游戏网站官网: react 官方网站:https://reactjs.org/ react github网址:...react native官方网站:https://facebook.github.io/react-native/ react native github网址:https://github.com/facebook/...

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

  • react-native学习指南 本指南汇集react-native各类学习资源,给大家提供便利。指南正在不断的更新,大家有好的资源欢迎pull requests! 同时还有awesome react native系列 ...

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

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

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

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

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

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

  • vb语言vb光盘管理系统设计(源代码 系统)本资源系百度网盘分享地址

  • h型脚架疲劳测试机sw16可编辑_零件图_机械工程图_机械三维3d建模图打包下载.zip

  • 笔记.zip

  • python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。python社区提供了大量的第三方库,如numpy、pandas和requests,极大地丰富了python的应用领域,从数据科学到web开发。python库的丰富性是python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,matplotlib和seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

  • python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。python社区提供了大量的第三方库,如numpy、pandas和requests,极大地丰富了python的应用领域,从数据科学到web开发。python库的丰富性是python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,matplotlib和seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

  • python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。python社区提供了大量的第三方库,如numpy、pandas和requests,极大地丰富了python的应用领域,从数据科学到web开发。python库的丰富性是python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,matplotlib和seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

global site tag (gtag.js) - google analytics
网站地图