uniapp与flutter学习选择:哪个更适合你?

发表时间: 2024-04-28 09:27


在国外,flutter早就已经把各种web技术的伪跨平台ui按在地上狠狠滴摩擦了几十个来回了

以前之所以会有基于web的跨平台UI,一个很重要原因就是

Google在投入制作v8等引擎,flutter用的编程语言dart,就是做v8那个lars bak做的

flutter那个组,最早就是给跨平台web技术做优化的

后来实在是搞不下去了,于是决定,算了算了不搞了,推翻了,重新做,从底层语言开始重新设计

编译器开始做起,最后发现,快了20倍,于是继续做下去,就有了flutter

然后Google就开始大量投入flutter,而随着v8之父lars bak的离职,以及flutter组不再继续投入和优化web技术,web以及整个前端一下子就不行了

以前可以从Google那边一点一点抄,搞什么你一开源,我就自研

现在不行了,老外不搞了,去哪抄去?

所以你要是稍微有点长远规划的话,不想在国内这种大泥坑里扑腾的话,那显然应该学习flutter

但是话说也说回来,flutter这种工具,对于老外来说是很容易掌握的,反过来,对于国内英语不怎样的人来说,flutter尤其是ide的各种提示很容易出现看不懂的尴尬,你英语稍微过关的话,就能感觉到,java,flutter,swift这些技术都跟大白话一样通俗易懂

那这时候,为了混口饭吃,或许其它选择可以给你一个工作机会

但是这种考量,从来都没在我写回答时候的思考范围之内

uniapp实质上还是webview,如果你会web(html,css,JavaScript)又同时会vue,那uniapp不需要刻意去学,直接上手查查文档就可以。

而flutter你还是要学dart的,就目前我用过flutter做了两年的个人项目感受来说,dart如果你有一定的编程基础,入门不难的。

当然一些概念还是要去学,毕竟flutter是独立的技术。

从开发体验上来说flutter因为背靠Google,开源组件特别丰富,编写一些复杂界面甚至比uniapp要简单快速。

但是缺点也不是没有,一个是flutter的那种嵌套风格在写一些复杂界面的时候需要适应,而且这种方式在多人开发的时候,代码复杂度比uniapp高。

由于是开源,建议做flutter要懂一些原生的东西,因为一些插件的bug不会原生就不好办了。

不过编写出来的成品在流畅度上个人觉得吊打uniapp和ReactNative。

所以综上所述,flutter虽然有缺点,但是在开发复杂界面上比uniapp和ReactNative来的简单直接(因为现在来说uniapp和rn我是真用过了)

不过如果你对web特别熟,那你开发速度上uniapp和rn要比flutter快。

但是uniapp的跨平台也并不能让你所有平台都高枕无忧,你还是要对不同平台进行测试和调整,所以说虽然你写的是一套代码,但是你还得需要对不同平台进行特定优化。

至于和原生配合,目前为止uniapp还没搞到什么原生功能,不过你要是生成小程序还是尽量不要和原生有关,因为各个小程序平台是对于访问原生功能的限制特别多。

这点flutter没这个烦恼,flutter是可以通过插件想用什么原生功能都可以,没有的话你懂原生还可以自己编写。