前端框架:React Native开发前景如何?

开课吧开课吧科科2021-03-22 17:00

我用React-Native 开发过2个产品,其中一个算是比较复杂的产品了,涉及音视频和直播(两端已上线应用商店)。

选择RN的初衷很简单,当时创业团队没有一个做客户端开发的,招聘的话需要Android、iOS 都到位才能完成App 开发,而显然对于创业团队来说这些都等不得,于是,对比了下当时主流的跨平台解决方案,最终选择了React-Native。

ReactNative

React-Native虽然看起来很美好,但真正产品开发中坑确实也很多。

社区生态很完善,你需要的功能,社区基本都有开源实现方案,但不好的一点是开源代码质量良莠不齐,当时项目依赖的第三方组件基本全都自己修改过。

用JS和类CSS写UI界面确实要比Flutter 层层组件的方式舒服很多,虽然使用了 CSS的属性 ,但RN里面的CSS也只是个CSS属性的子集,很多属性都没支持,尤其一些CSS3属性。

看起来似乎解脱了多平台的开发,但你仍然需要了解些原生的知识,万一需要依赖于原生实现的组件你还得去写原生代码,起码要知道如何把接口暴露给RN。所以其实原生开发的比前端技术栈的转RN 要有优势,我培养RN开发都是招原生的转过去的。

代码上了规模升级RN版本非常困难,但有些bug fix 你又不得不升级,所以当时在后期我们自己fork了一份代码独立维护一个版本分支。

在React-Native实践上,airbnb的产品是深入使用者,虽然现在他们已经弃坑转原生了,但React-Native开发者也不要灰心,他们面临的问题可能是你产品整个生命周期都不可能遇到的场景,具体可以看airbnb 那一系列关于RN的文章。

我个人还是比较看好React-Native现阶段的前景,虽然他现在有很多让人诟病的问题存在,但短期来看在Flutter 生态不完善的情况下不失为一种跨平台最适合的解决方案。

React-Native在未来规划中会进行一次大的重构,删除无用组件、将一些组件移到社区,减少core 的代码量,更加轻量可维护;Facebook 内部与开源社区统一使用一套API,从而保证api 的稳定性和兼容性。

结论:React-Native是现阶段跨平台最合适的方案选择,当然只限于现阶段,所以这个阶段你可以放心去用,未来很难说。

虽然现在社区中有一些React Native式微的声音,但我们不能被“孕妇效应”蒙蔽双眼,站在整个前端开发者社区看,React Native依然是一款非常重要的前端框架。

如果你想详细了解React Native,不妨点击“2021年React Native还能否一战?”一文,了解如何利用React Native快速迭代你的移动业务。

内容来源于缪斯的情人知乎回答。

有用
分享