Flutter 、React Native 、 Ionic、 NativeScript 、小程序和PWA哪一个值得学?

彬哥,我看今年前端分了俩方向啊,一个是Flutter和React Native这种,还有就是小程序,淘宝小程序这种微应用,咱们公司让我作React Native这块儿,这是否是对我将来发展好些?之前技术栈仍是Vue,我最近转React了,刚开始写第一个项目,我还看了看uni-app,学习成本更低一些,国内好像更吃香?到底第该学哪一个?javascript

图片描述

前几天有个学生问我上面的问题,由于前端技术领域最不缺的就是新技术,前端开发者比较头疼的不是没有技术可用,而是可用的技术太多了,学不过来,也不知道选哪一个。css

其实相似的问题争论在PC时代就存在过,太阳底下没有什么新鲜事。甚至在咱们生活中都有相似的选择问题。技术学习者要"看技术是技术,而后看技术不是技术"。若是你打算理解一项技术的产生和优缺点,就去追问他的应用场景,或者生活中的应用场景。若是一项技术你找不到生活中的对应,极可能你根本就不理解这项技术,而只是官方demo或者别人示例代码的搬运工。html

今天我就说说Flutter 、React Native 、 Ionic、 NativeScript 、小程序和PWA哪一个值得学?前端

话说long long ago,有一个土豪,他有两个儿子大明(IOS)和小明(安卓),土豪琢磨孩子年龄大了该准备婚事了,那就得先有房子,另外的家里的门房和厢房都该翻盖了,因此他想好好的规划一番,对了还要作好防盗,不能让闲杂人等进来影响安全。vue

他找老大谈话征求老大对房子的意见,老大说个人婚房要豪华气派,要高级装修,要住起来很是的舒服,闭路电视、宽带,能通的就通上,反正也是折腾一回,盖房子就大事,盖一次争取就是村里最好的房子要住不少年呢。html5

他又找老二谈话征求老二对房子的意见,老二说我又不着急结婚,房子就是个住的地儿,我呢又在上学,反正怎么快怎么来吧,这样周末和暑假还能够过来玩。房子老了,到时候结婚了再翻盖也不迟,如今盖了未来也旧了,对了要方便一些,能让个人朋友们跟我随便造。java

土豪一听都以为有道理,他以为都挺有道理,因而发了一个公告,寻找各路包工队帮盖房子。react

图片描述
因而发了一个招标公告:面试

本人土豪,家资殷实,诚招各路豪杰帮我家盖房要求:ajax

1.目前有主房两套,其他厢房、门房若干,要求尽量一次性充分利用材料,一次采购和加工建筑材料,可以多个地方能用。好比搅拌机搅拌一次搅机开一次就能把各个房间用的水泥搅拌出来,可以作出各个房子能用的砖块和柱子。(维护一套代码,可以在跨平台运营,write once,run any where)

2.房子的各项水电煤功能齐全。(可以充分利用设备的功能)

3.房子后期维护方便,最好能让家人或者个人工人们也能改造房子。(学习容易)

4.盖房成本要尽量低。(开发和维护都省钱)

虽然土豪也以为条件有些苛刻(跨平台的思路都是受质疑的),可是他想我有钱啊,我想试试(技术是在尝试和质疑中完善进步的)。

还别说,才招标就来了5路人马。每一路人马都身怀绝技。

他们分别是:

html5 派: 以html5 为首,能够说包队历史最老了,其中的PWA团队是新星,受人关注。

native派:java、kotlin两个团队瞄着小明的需求去的,Object-C和Swift团队瞄着老大的需求去的,他们能够说最懂各自瞄准的需求了。

HybridApp派:号称融合了h5派和native派的优点,有不少成熟的住宅建设经验,目前风头正劲。之前有phonegap ,后来有cordova,最近ionic表现也很抢眼。

纯真派:后起之秀,被认为是建筑行业的将来,能够说综合其它各个派系的优势,一出手变表现惊艳,可是初出茅庐,经验上欠缺些。好比 NativeScript 、React Native、Flutter.

小程序派:Taro、WePY 、uni-app 、 mpvue 、 chameleon 这些团队在专业的领域好比旅馆建筑颇有建树,实力不容小觑。

公开招标会开始了,招标主人人开始主持:

1.各位都是建筑业的精英,咱们实行集中陈述,互相答辩的方式。

第一个问题:

1.目前有主房两套,其他厢房、门房若干,要求尽量一次性充分利用材料,一次采购和加工建筑材料,可以多个地方能用。好比搅拌机搅拌一次搅机开一次就能把各个房间用的水泥搅拌出来,可以作出各个房子能用的砖块和柱子。(维护一套代码,可以在跨平台运营,write once,run any where)

这个需求各路豪杰谁想说说?

html5 派的PWA直接站起来,由于这个就是他的强项啊!

PWA开口了,你们都知道H5做为资历最老的建筑团队,从一开始就主张全部平台通用,目前咱们全部的建筑技术都是能够通用的,不论是住宅,商用仍是,写字楼,相比native派只能在具体的领域很厉害,咱们仍是优点很明显的,而是咱们有望成为下一代的通用标准。还记得咱们当初咱们公司的杰做ajax吗?不就成了数据交互事实标准了吗?

没想到还没到答辩环节,PWA一开口就怼人了,可是这句话确实怼的native派没话说。

HybridApp派,看PWA说完了,说到,你们看看淘宝以及各大主流平台都采用了咱们的建筑方式,因此我不想多说,咱们的建筑经验第一,相信Flutter你也认同吧。

虽然Flutter被人戳中了软肋,很不爽,可是仍是点了点头。对于前辈仍是要尊重的。

纯真派见HybridApp派坐下了,站起来,说到,咱们这一派都是精英中的精英,好比react native、nativeScrtip,它没好意思说本身,咱们在建筑业的表现你们也有目共睹了。

小程序派听着他们的阐述,由于看到土豪的那么多需求感受本身实现不了,因此心虚想看看再说,因此暂时这一轮弃权。

好,主持人又开始说话了,咱们看第二个问题:

2.房子的各项水电煤功能齐全。(可以充分利用设备的功能)

刚才被怼的native派一会儿站了起来,我就问一句话,说到可以把房子的功能盖到极致,咱们派说第二,哪一个团队敢说第一?H5大家敢吗?

由于这个问题native派派优点性很大,因此过。

主持人继续,咱们看第三个问题:

3.房子后期维护方便,最好能让家人或者个人工人们也能改造房子。(学习容易)

h5又站起来了,你就说咱们干活快不快吧?native?

native无话,

HybridApp派,咱们也不慢。

h5很仔细的说,比我呢?

纯真派虽然维护挺快,可是由于本身用了dart因此让人去学仍是存在必定困难的。

这个问题又过了,能让家人或者个人工人们也能改造房子。这点心虚,因此不说话。

主持人继续,咱们看第四个问题:

4.盖房成本要尽量低。(开发和维护都省钱)

h5又站起来了,大家就说我盖房子成本低不低吧?native。

native确实贵,被H5怼的真忍不住反驳,你那个也要叫房子?四处漏风,水电都不通。

主持人说一会答辩,土豪皱了皱眉。

HybridApp派和纯真派说,咱们也不慢啊。

主持人一看这要杠上,因此说,这样吧咱们开始答辩,你们说说大家打算怎么干,依次发言。

html5说到,我打算搭一个木头架子(html),而后外面贴上铁皮,一刷油漆完事(css),里面能够安个电风扇(js)。

native说到,你这个不就是活动板房吗?煤电燃气怎么解决?

PWA说咱们打算逐步解决这个问题,好比大明家能够安装空调,由于他家房子架子能够用钢筋的,门房由于比较老旧了,装空调费劲,可是咱们能够装空调。

native,笑道,你是在盖猪圈呢吗?native起来发言,我呢打算先挖坑,而后里面水泥浇筑,而后用压路机轧上200趟,而后我去山里拉石头,把石头磨得方方正正,而后垒起来,保证一百年不倒,重点是里面各类高级装修,闭路电视、监控只要是老大想装的,咱们全能装。

HybridApp笑了,你上次给村长儿子结婚盖的房子,人家儿子都上小学了,你完工了吗?

主持人说,你打算怎么干?

我呢主结构采用native的那套保证兼顾,装修和墙壁使用h5的,又快有时会。

纯真派问道,那前辈,活动板墙壁冬天取暖很费空调费啊,保暖性能也很差,怎么解决呢?

HybridApp,无话。由于纯真派知道此次小程序就是来陪标的,因此根本不放在眼里,因此阐述本身的想法。

我能打地基的时候采用native的方式,而主体建筑我采用混凝土钢筋结构,虽然没有把石头打磨平整一整块石头那种方式坚固,可是也是绝对坚固可以知足建筑的坚固需求的。同时混凝土浇筑速度快,同时可以解决内部精装和HybridApp的建筑方式保暖、通风问题。

土豪内心彷佛明朗了一些,基本上小程序打酱油、PWA不能立马知足全部需求,H5由于功能缺失出局,集中点就在HybridApp和纯真派上。HybridApp虽然成熟,可是确实性能很差,功能上也不如纯真派来的直接,可是又不想重复村长儿子的悲剧。可是一想到纯真派的经验不足,就想多问一些。

因而主持人问到,纯真派大家能详细说说吗?

这句话无疑就至关于说,我以为纯真派有戏,那么竞争就变成派系内部了,也就是三大主角。

react native、flutter、NativeScript .

react native先发言,

咱们隶属于fackbook公司,依托于react,语法上沿用了react,咱们使用javascript,能够很好的维护。

不用HybridApp的Webview,完全摆脱了Webview让人不爽的交互和性能问题,有较强的扩展性,这是由于Native端提供的是基本控件,JS能够自由组合使用,能够直接使用Native原生的动画。

rn说了一堆专业术语显得本身很专业听的土豪一头雾水,可是感受很厉害。

flutter打断道,说的好像你盖完老大的房子的东西就直接能用到老二家似的,何况你看看你建筑的那些组件的bug还用我说吗?

rn说,咱们确实存在一些问题,可是咱们在尝试解决。

flutter乘人之危,尝试解决?就是一堆坑没解决呗。

rn反击道,就算是没解决也比你还没遇到好吧?再说了你那个破dart,你以为非专业人员能学会吗?

NativeScript 一听这么说,心虚了,本身的东西比他们两个都复杂,赶忙闭嘴。

看来剩下就是flutter和rn的论战了,不过也没有什么新意,flutter老是强调本身的砖瓦石灰各类模块多丰富,盖房子多快,性能多好,而后rn总强调本身的学习不用学其它语言就js就行。

想到这里,主持人说答辩结束,我总结一下,各方观点:

1.h5开发快修改为本低于,可以跨平台,可是由于标准更新缓慢,因此功能支持不完善。

2.HybridApp,方案成熟,应用不少,性能不是很好(相比flutter和rn)

3.native 功能全,可是不能跨平台,开发慢。

4.rn 学习成本低(比HybridApp高,比flutter低),坑比较多。

5.flutter 优点明显,可是须要学dart,可是组建丰富。

是这样吗?

你们点头。

土豪考虑,综合一听其实王道仍是h5,奈何它太慢了,感受不是别人作的太好了,而是它作的太差了。小程序不考虑了,native不考虑成本过高,开发慢,不跨平台。由于大儿子着急结婚(主营业务、核心需求),因此采纳HybridApp比较稳妥,二儿子不着急结婚因此让flutter去盖(次要业务)。rn就不考虑了,不过好像由于以前的厢房是react盖的,因此react native接受翻盖会容易些,因此这块给他们吧。

因此最终宣布:

大儿子的房子HybridApp中标,

二儿子的房子flutter中标,

厢房和门房由于以前就是react弄的,因此reaact native中标!

3月23号,前端职业规划师Maxwell,在线live为你们讲解跳槽、面试相关的实战攻略。

相关文章
相关标签/搜索