本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/577e16a7640ad7b4682c64a7
“8小时内拼工作,8小时外拼成长”这是大家共同的理想。除了每天忙于工作外,我们都希望能更多地区吸收领域内的新知识与新技能,从而走向人生巅峰。
Dev Club 是一个交流移动开发技术,结交朋友,扩展人脉的社群,成员都是经过审核的移动开发工程师。每周都会举行嘉宾分享,话题讨论等活动。
上一期我们邀请了腾讯SNG工程师“王少鸣”分享了《React Native项目实战总结》。
2016-07-14,下周四,我们将邀请腾讯WXG iOS开发工程师“姚海波”为大家分享《微信读书iOS性能优化》。
。
如何加入 Dev Club?
移动端开发经验 >= 2 年,微信扫描下方群管理微信二维码,备注姓名-公司(或产品) 申请加入。
———–下面是上一期分享内容整理———–
内容简介:
你是否想体验Web一样的发布节奏来发布终端的特性?
你是否想低成本让先前的H5特性拥有Native一样的流畅体验?
快来一起拥抱ReactNative吧!
分享人介绍:
王少鸣,社交平台部工程师。对前端系统的设计和开发有丰富的经验,先后从事PC Qzone前端开发,小Q机器人智能终端开发及微信群,手机Qzone终端开发等工作。
Hello,大家晚上好,我是来自QQ空间的王少鸣,大家可以叫我mango,目前主要负责 Qzone 玩吧业务,专注Hybrid开发,[QQJsSDK] 研发负责人,专注ReactNative在Qzone与手Q的应用和推广。照片里的这个人就是我,上周在GMTC分享拍的,请大家多多指教。
接下来进入正题,请大家先认识下这几个简写:
fb = Facebook
rn = ReactNative
jsc = Javascript Core
cxt = Context
ReactNative 让开发者使用 JavaScript 和 React 编写应用,利用相同的核心代码就可以创建 基于Web,iOS 和 Android 平台的原生应用。Facebook 在2015.9.15发布了 ReactNative for Android,把JavaScript 开发技术扩展到了Android平台,至此已覆盖当流主流平台。
目前ReactNative的版本节奏大概是两周一个版本,空间从11的版本便开始尝试接入,第一个上线的版本是15的版本,后面我们升级到20的版本,由于一些历史包袱的原因,导致我们升级并不能随时跟随fb的升级节奏。手Q方面目前使用的是17的版本。
我们从fb rn的官网中的showcase页面可以看到,目前已经有大量的app接使用了rn的技术,当前,还能看到我们公司的不少app,如QQ,Qzone,QQ音乐,全民k歌等,这个大家如果有兴趣想要把自己的app放到官网上,只需要要向fb提交一个pr即可。
目前在空间有三个业务使了用rn进行开发,有话题圈,情侣空间,结合版留言版等。在手Q方面,有消息流和资料卡等,当然,还有全民k歌的一些活动页。
接下来我们来对比下rn与原生开发或hybrid开发有些哪优劣势。
优势:
- 原生控件的体验,Web的版本节奏,Web的开发效率,跨平台等
劣势:
版本支持度 Android 4.1 (API 16) & iOS 7.0
项目尚不成熟,容易Crash,部分机器存在兼容性问题
性能,在高低端机呈现两极
Android仅基于Gradle,目前业界较多大平台项目均基于 Ant,如Qzone,手Q等
特别是最后一点,这个也是我们前面说的,版本升级不能跟随fb rn版本的原因,我们的每次升