读iOS开发是否要采用React Native感想
现况
国外目前硅谷对于 React Native 也普遍持保守态度,采用 React Native的科技巨头也只有 Facebook,Amazon,Uber,Airbnb 四家,而且都是局部小功能、小App采用。
国内:像之前的腾讯,美团,百度(已弃)等都尝试用RN技术,集成了APP部分模块,国内也有一部分RN做的APP。
移动端使用RN优缺点和适用范围。
RN开发的优点:
-
编译速度快。
-
跨平台开发。
-
快速发布。
-
渲染和布局更加高效(RN运行效率经测试与原生相比只有毫秒只差,基本不会影响用户体验)。
RN开发的缺点:
-
过度依赖于FaceBook的维护,一些新出的平台特性RN也不能像原生一样第一时间支持。在加上苹果的政策的不确定性;百度和开发者弃用迫使Facebook修改开发者权限事件,证明了开发依旧与第三方的风险确实存在。
-
逻辑上的额外开销;针对不同的设备和平台,还需要做针对性处理;API功能的不完善,不能实现复杂的动画,iOS的底层优化和兼容等等。
-
联调的困难。
合适引入RN的开发需求
-
第一种是APP原型简单,需要快速开发,节约成本的情况,基本采取RN
-
第二种是混合型开发,在APP里部分功能引用RN,有点类似Hybride开发
个人心得:
-
RN本身是可以用的,并非是苹果禁止的技术。
摘录在网上的一段话:苹果禁止的是“基于反射的热更新“,而不是 “基于沙盒接口的热更新”。而大部分的 应用框架(如 React-Native)和游戏引擎(比如 Unity ,Cocos2d-x,白鹭引擎等)都属于后者,所以不在被警告范围内。
-
由于RN的缺点,RN跨平台开发更多时候是一种对原生的补充和部分替代方案。
-
对公司核心复杂功能的APP,这类技术要慎用。
-
从使用ReactNative这项技术做个延伸思考,平常的开发中,是否引入一个技术或者框架的的一些标准,单从技术上来说,个人觉得有几点:
(1)该框架是否符合目前的开发需求。
(2)框架代码本身的业务逻辑是否成熟,可靠。
(3)有没成熟的代表作品。
(4)对原有代码的侵入性,集成难度。
(5)在框架未成熟前,框架能否持续,稳定的维护 。
网友评论