在国外,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是可以通过插件想用什么原生功能都可以,没有的话你懂原生还可以自己编写。
转载此文是出于传递更多信息目的。若来源标注错误或侵犯了您的合法权益,请与本站联系,我们将及时更正、删除、谢谢。
https://www.414w.com/read/355931.html