乐趣区

关于前端:2021了你都用哪些跨平台框架你学废了吗

当初跨平台开发不是新鲜事了,各个跨平台框架都曾经百花齐放,各有千秋。我自己是一名前端开发程序员,对各个跨平台框架都有所涉猎,明天大略说一下各个框架的劣势及劣势,供大家在开发过程中提供参考。

首先要说的是 React Native(RN),要学习 RN 你要先学会 react,react 是率先提出虚构 DOM 概念的,在虚构 DOM 中计算比照 DOM 树大大晋升了前端性能,后续 vue 等框架开始模拟,正因为虚构 DOM 的概念太过弱小和超前,导致它不受平台限度,从而衍生了 RN,它的背地也是大厂反对 facebook。说它凉了都是流言,大家释怀学习即可。它的原理是通过 react 的形式可开发 APP,它能够把咱们用 JS 写的组件,编译成原生组件 不是什么 H5 利用或是 webapp。所以用户体验还是很不错的,小公司谋求效率能够抉择,然而 RN 毕竟是一个 APP UI 的解决方案 须要集成简单 SDK 的话还须要会原生开发 目前它的生态曾经十分残缺欠缺,你不用放心你的 APP 太过简单它不能实现的问题,因为它能够和原生无缝连接配合 随时呼叫原生声援。那么它的性能如何呢?有的人对于性能问题纠结不放,瞎话说;它和近程必定还是有差距的,毕竟两头多个 JS 层,基于 jscore 运行的,然而个别 APP 用户根本无法觉察其中的差距,没有垃圾框架只有垃圾程序员,咱们齐全能够用技术补救一些性能差距,所以不用在意那些微不足道的性能差距,强烈建议学习和应用。

第二个要说的是国内很火的 uniapp,号称有 370W 开发者,在国内很火,它背地的公司是国内的 dcloud,技术栈是基于 vue 的 。react 在国内上很火,然而在国内;不好意思 vue 曾经是大哥了。能够说 dcloud 把 vue 玩的很透,根本能够说是国内 vue 用的最 6 的公司,uniapp 的长处是可能一次编写编译 APP 和小程序端全笼罩,对于国内程序真的是福音, 它的劣势在于成本低(学习成本低、开发成本低 ),uniapp 联合了 weex 的概念推出了 nvue,它的原理在于能把 web 组件编译成近程组件,跟 RN 有些类似的想法。然而 uniapp 开源水平不够,当初抉择它的都是一些小公司或是外包公司,uniapp 提供了很多与原生 / 小程序交互的“桥”,目标在于让你无脑开发即可,咱们能够轻松开发例如微信领取、蓝牙、分享、定位、推送等,而且 uniapp 上架商店是齐全合规没有危险的,有人说它是基于 webview 的,性能是个问题,我自己体验了一下和亲自用过 uniapp 开发,认为 uniapp 是做过很多优化的,比咱们本人套个壳子用的 webview 用户体验要好很多(小公司不举荐套壳开发), 高频页面能够用 nvue 开发,成果更好 如果咱们后期开发为了疾速上线,齐全能够抉择 uniapp,十分合乎国内的国情,为国内程序员提供了很大的福利,vue 技术栈的同学能够学习把握。

第三个要说的是 flutter,flutter 是 google 推出的,开发基于 dart 语言,属于强类型的解释性语言,之前是为了跟 js 抗衡呈现的,后果可想而知,js 尽管设计的有缺点,然而也有其劣势不是那么容易战胜的。然而 dart 在 flutter 打了个翻身仗,flutter 自称能达到 60 帧,渲染也有本人的引擎,性能齐全能够跟原生媲美 ,我也用过一段时间, 举荐原生 APP 开发的学习,如果你是前端开发人员其实没必要涉猎,因为跟前端关系并不大了,如果非要学习能够理解一二,当然 flutter 开发 web 还是有点不成熟的,我也置信 flutter 不能取代 web 畛域。flutter 跟 RN 一样是 UI 的解决方案,它的开发对于前端程序员来说可能不太适应,感觉就像是在套娃,好的是它有热重载,开发效率会提成一大截,编译成安卓 ios 都是原生代码,两头没有中间层,是彻底脱离 JS 的,相当于没有中间商赚差价,因而性能什么的都是问题了,对于谋求相对品质和性能的同学能够学习,然而我集体了解 flutter 不会走的太远,因为它脱离了不太完满然而很广泛的 JS 和 JS 程序员。。

当然跨平台的框架很多,它们三个只是代表,它们的原理无非是 webview 派,代表的 uniapp、Cordova。第二种是编译成原生组件,通过 JS 作为桥的:RN、weex、uniapp(nvue),还有就是编译成原生代码,没有中间商的 flutter 等,依据本人的理论状况抉择即可,但我要说的是,咱们要能用好框架才是最重要的,好的程序员用 H5 套个壳子也能做出媲美原生的 APP,而有的程序员用原生也不能补救技术的差距。因而 抉择本人和团队善于的才最重要

退出移动版