读“故胤道长”之iOS开发是否要采用RN感想

读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)在框架未成熟前,框架能否持续,稳定的维护 。

Refenence

https://www.jianshu.com/p/17cfac53578a

你可能感兴趣的:(读“故胤道长”之iOS开发是否要采用RN感想)