随着移动开发的发展,以及在中国有特色的环境下.近阶段对于跨平台的方案有一种越来越流行的趋势,因为不论从人力成本还是更新频率上线速度来看 跨平台方案都有一定的优势。 现在主流的跨平台方案分别是 H5 ReactNative Flutter。那么我就从这三个主流方案说一说自己的理解和看法。
H5
H5作为存在时间最久的跨平台方案目前也是各大公司作为跨平台方案的首选。但是由于其有一定的性能问题以及和原生体验上的差异让各大公司都在另寻出路。但是作为最为稳定的跨平台方案绝对当仁不让。毕竟时间久积累的各种框架,经验,人才数量在市场上都是有一定优势的。
ReactNative
俗称RN,15年4月份由FB开源的项目。我接触RN应该也是在那个时候,但是当时还是比较保守没有投入使用。
现在2019年了,技术也逐渐趋于成熟,京东,携程等大厂也基于RN进行了许多生产项目的实践,可以证明这项技术是有他的使用场景的。对于一些简单交互和展示的需求 这项技术真的有如神奇,热加载,跨平台,热更新都是让人向往的点。但是 —— 如果选用的场景不当带来的坑能够让人非常痛苦。
Flutter
后起之秀,基于更底层进行了跨平台方案。但是就iOS平台来说,类似自实现了一套UIKit的方式来说,UIKit积累了那么多年的东西岂是短时间能够超越的。个人对这项技术任然保持着观望状态。
总结一下:
技术方案没有银弹,想要方方面面都好目前是没有这样的技术的。合适的业务场景合适的需求 采用合适的方案才是技术选型的上上策。RN和Flutter 对于简单的展示类需求和简单交互不涉及平台特性的场景还是能够Cover的,但是一旦有诸如音视频,线程调度,动画等平台特性明显的可能不用才是明智之选。
写在最后:
Better Late Than Never ,愿我们都能跨出自己的第一步。
站在巨人的肩膀上,感谢前辈们的文章。
推荐资料
https://www.zhihu.com/question/307298908/answer/569471390
https://zhuanlan.zhihu.com/p/64348609
https://www.zhihu.com/question/307298908
https://www.zhihu.com/question/50156415
https://mp.weixin.qq.com/s/kCa9qVBkvYRSAGmxyInIPQ