Open luics opened 9 years ago
mark 持续关注
mark
mark
make
mark
mark
mark
mark
mark
mark
实践中发现ListView性能问题严重,特别是在加了renderFooter后,cannot find single active touch 和 JS has only made partial progress to catch up to UIKit 这两个问题也是狠头疼
mark
mark
mak
mak
mark
mark
Mark
mark
mark
mark
mark
mark
mark
mark一下
别mark了大家,邮件提醒会烦死
@az8321550 可以 unsubscribe
@kalasoo 在哪里?
@az8321550
@kalasoo thanks :+1: :+1: :+1:
mark
:+1:
mark
:+1:
mark
mark
mark
mark
mark
mk
mark
mark
mark
mark
thx
windows党表示 :-(
我竟然没找到猜你喜欢那个模块。。。
mark
Facebook在3.26 F8大会上开源了React Native,本文是对React Native的技术背景、规划和风险的概述。看得比较仓促,问题处请直接回复。
组里的同学于4.2完成了天猫iPad客户端“猜你喜欢”业务的React Native改造(4月中发版)。本周开始陆续放出性能/体验、稳定性、扩展性、开发效率等评估结果。
图1 - 4.2已完成React Native改造的业务
背景
为什么需要 React Native
摘自3.26 React Native的发布稿,加粗的关键字传达了React Native的设计理念:_既拥有Native的用户体验、又保留React的开发效率_。这个理念似乎迎合了业界普片存在的痛点,开源不到1周github star破万,目前是11000+。
图1 - React Native github
React Native项目成员Tom Occhino发表的React Native: Bringing modern web techniques to mobile(墙外)详细描述了React Native的设计理念。Occhino认为尽管Native开发成本更高,但现阶段Native仍然是必须的,因为Web的用户体验仍无法超越Native:
Occhino没提到的还有Native能实现更丰富细腻的动画效果,归根结底是现阶段Native具有更好的人机交互体验。笔者认为这些例子是有说服力的,也是React Native出现的直接原因。
图2 - Occhino在F8分享了React Native(Keynote)
“Learn once, write anywhere”
“Learn once, write anywhere”同样出自Occhino的文章。因为不同Native平台上的用户体验是不同的,React Native不强求一份原生代码支持多个平台,所以不提“Write once, run anywhere”(Java),提出了“Learn once, write anywhere”。
图3 - “Learn once, write anywhere”
这张图是笔者根据理解画的一张示意图,自下而上依次是:
前文多处提到的React是Facebook 2013年开源的Web开发框架,笔者在翻阅其2013年发布稿时,发现这么一段:
图4 - 摘自React发布稿(2013)
React本身也是个庞大的话题不再展开,详见React wiki。
笔者认为“Write once, run anywhere”对提升效率仍然是必要的,并且和“Learn once, write anywhere”也没有冲突,我们内部正在改造已有的组件库和HybridAPI,让其适配(补齐)React Native的组件,从而写一份代码可以运行在iOS和Web上,待成熟后开源出来。
下图展示了业务和技术为React Native所做的改造:
图5 - 业务和技术改造
自下而上:
React Native相对于Webview和Native的优势和劣势 @berg 也给出了较详细的描述,可以相互参照。
鬼道
2015.4.6