当前位置: 首页 > Web前端 > JavaScript

现在是2021年!你用过哪些跨平台框架?

时间:2023-03-27 10:56:52 JavaScript

现在跨平台开发已经不是什么新鲜事了。各跨平台框架百花齐放,各有千秋。2021年有哪些跨平台框架值得推荐?本文不谈石器时代的平台开发框架,当然不谈不靠谱的,只谈能用的!RactNative(FaceBook出品,强大社区JScore+原生组件渲染)适用对象:B/S技术栈程序员,有react开发经验有一定SDK集成经验首先要说的是ReactNative(RN),我个人更喜欢。程序员编写react组件编译成native组件进行渲染,jscore执行js程序。学习RN,首先要学习React。React最先提出虚拟DOM的概念,之后的vue等框架开始效仿。因为虚拟DOM的概念过于强大和超前,不受平台的限制,从而衍生出RN。背后还有大厂对facebook的支持。天冷都是谣言,大家可以放心学习。它的原理是可以通过react来开发app。它可以把我们用JS写的组件编译成原生组件,而不是H5应用或者webapp。因此,用户体验还是很好的。小公司可以选择追求效率,但RN毕竟是APPUI解决方案。如果需要集成复杂的SDK,需要原生开发。目前,它的生态非常完整和完善。您不必担心您的应用过于复杂而无法实现,因为它可以与原版无缝对接,随时调用原生支持。那么它的表现如何呢?有些人在性能问题上挣扎。说实话,它和远程肯定是有差距的。毕竟中间有多个JS层,是基于jscore运行的,但是一般的APP用户根本察觉不到其中的差距。没有垃圾框架,只有垃圾。程序员们,我们可以用技术来弥补一些性能上的差距,这样我们就不用在意那些微小的性能差距了。强烈推荐学习使用。适用场景:可用于中大型APP开发,配合原生开发。RN主要用于业务开发,而native用于扩展和赋能。所需人才素质高,难招,业绩问题不大。介于webview和original之间,不适合做太耗性能的APP开发。uni-app(国内零学习成本社区的强大外包工具)适用于:Vue技术栈零学习成本快速交付其次要说的是国内流行的uniapp,编译成原生组件组合用webview渲染方式,V8和jscore执行js程序。号称拥有370W开发者,在国内非常火爆。背后的公司是国内的dcloud,技术栈基于vue。React在国际上很流行,但是在国内;不好意思vue已经是大哥了。可以说dcloud把vue玩的很好。基本上可以说是国内vue最受欢迎的公司了。uniapp的优势在于可以一次编写编译app和小程序,这对于国产程序来说真是福音。它的优势因为成本低(学习成本低,开发成本低),uniapp结合weex的概念推出了nvue。它的原理是可以将web组件编译成远程组件,有点类似于RN。但是uniapp还不够开源。现在选择它的都是一些小公司或者外包公司。uniapp提供了很多与原生/小程序交互的“桥梁”。目的是让你不假思索的发展。微信支付、蓝牙、分享、定位、推送等??我们都可以轻松开发,而且uniapp上架是完全合规无风险的。有人说是基于webview的,性能是个问题。亲身体验过,用的是uniapp开发。我觉得uniapp做了很多优化,用户体验比我们自己的shell用的webview好多了(小公司不建议shell开发)。高频页面可以用nvue开发,效果更好。如果我们前期开发为了快速上线,可以选择uniapp,非常符合国内的情况,给国内的程序员带来了很大的福利。vue技术栈的同学可以学习掌握。适用场景:企业快速开发引流,适合中小型APP开发,不适合集成第三方SDK较多的APP,不适合开发大型高质量、高性能APP,容易上手招贤纳士,Vue基础好,顺利过渡。Flutter(谷歌出品,性能强,噱头满满)适合:对APP质量要求高的开发者,最好是原生开发B/S程序员不推荐(学习成本高)第三个要说的是flutter,它是Google推出的,是基于dart语言开发的,dart语言是一种强类型解释型语言。之前出现了Dart和js的较量,但是结果可想而知。js虽然在设计上有缺陷,但也有它的优点,不是那么容易被打败的。现在,dart在flutter中卷土重来。Flutter声称可以达到60帧。它也有自己的渲染引擎。性能完全可以与原版相媲美。我已经用了一段时间了。推荐学习原生APP开发。如果你是前端开发者其实没必要涉猎,因为跟前端无关。如果你必须学习,你可以学到一两件事。当然,flutter在web开发方面还是有点不成熟。我也认为flutter无法取代web领域。和RN一样,flutter是一种UI解决方案。它的开发可能不适合前端程序员。感觉就像嵌套娃娃。好的是它有热重载,会大大提高开发效率。编译程Android和iOS都是原生代码,中间没有中间层,和JS完全分离,也就是说没有中间商做差价,所以性能是个问题。追求绝对质量和性能的同学可以学习,但我个人对flutter的理解不会走得太远,因为它出自于不太完美但很普通的JS和JS程序员。.适用场景:因为flutter和native基本一样,适用于任何场景,成本高,人才招聘最难。适合CS程序员学习,BS程序员学习成本较高。当然,跨平台的框架还有很多,这三个只是代表。他们的原理无非是以uniapp和Cordova为代表的webview派。二是编译成原生组件,以JS为桥梁:RN、weex、uniapp(nvue),还有编译成原生代码、无中间商的flutter等,大家可以根据自己的实际情况选择,不过我WhatI想说的是,我们能用好框架才是最重要的。好的程序员可以通过H5做壳,让App媲美原生,而有些程序员无法通过使用原生App来弥补技术上的差距。因此,选择你和你的团队擅长的事情是最重要的。Taro(有京东出品的react/vue技术栈)基于JD-O-ConvexLab,技术栈:vue/react,对React比较友好。后来出现了对Vue的支持,可以编译成H5、小程序、APP(编译成RN代码)。太郎做个小程序是完全可以的。至于APP~~我只能说,有胆的你还是放轻松试试看吧。Electron(VScode技术栈桌面开发首选)是一个基于BS开发电脑桌面的框架。著名的VScode就是用它开发的(当然是微软团队开发的)。现在已经成为前端人员开发桌面应用的首选。.最后大家也可以关注一下滴滴和腾讯新的跨平台框架,下期再说。