找回密码
 立即注册

5+app uni-app flutter三者区别是什么?

| 2023-4-1 11:41 阅读 69452 评论 5

5+app uni-app flutter三者都是跨平台app开辟的处理计划,假如从APP的利用体验以及开举事易度角度来看,哪一个更好,他们又都有什么优弱点
  • flytop 2023-4-1 11:46
    uni-app在App平台,底层依然使用5+引擎,和5+ App一样。相比5+ App开发,uni-app有如下优点:框架自动预载,窗口切换体验更好,可以在窗口动画期间完成页面数据渲染;可跨端发布,未来是多端时代,uni-app现在已经覆盖了Android、iOS、H5、微信小程序、支付宝小程序、百度小程序、头条小程序,即将支持360小程序、快应用。uni-app遵循Vue.js语法规范,基于模板和数据绑定,开发方式更现代,代码量比纯5+或mui更小,开发效率更高。多了weex、小程序生态丰富的sdk等重要部分。相比5+App有如下缺点:不支持dom,这个是缺点也是优点,因为限制了dom,采用了vue方案,才能得到更高的性能体验。当然新增的renderjs(类似微信的wxs)是支持操作dom的。很多丰富的web库无法使用,其实也是因为上一条,基于dom的库都无法直接使用。所幸的是目前基于微信小程序的库已经非常多了,这个生态也很完善,所有微信小程序的库在uni-app里都能用,不止是在微信里能用,在app下也能用。
  • tlwy 2023-4-1 11:45
    关于uniapp和flutter的区别洛熠:uniapp与flutter,跨平台解决方案你该如何选择
    h5+ app:传统h5 app调通过h5+ runtime调用原生接口达到效果的appuniapp:结合了小程序,和自家h5+特性,用vue方式书写的跨平台解决方案,屏蔽dom操作,封装了一部分预加载,使用体验比没有手动优化过的h5+ app好flutter:Google的跨平台UI框架,使用skia作为渲染引擎,这个skia提供了各个平台的通用api,用dart来组织各种控件,语言特性让他支持热重载,由于不同于浏览器渲染,所以性能比较好。举个不恰当的栗子:Android和iPhone的硬件资源就像是汽油和柴油Android系统和iOS使用操作硬件并暴露接口,就像是汽油机和柴油机原生开发就像是在汽油机和柴油机外面套壳造车。flutter使用系统另用了一套渲染引擎,就像是在汽油机和柴油机上接了发电机,从传统能源车变成了混动车。h5技术栈上的产品,如h5+ app,uniapp,就像不管汽油还是柴油,反正你们都能烧,那我直接用来烧水,用蒸汽作为动力,从内燃机车变成了蒸汽机车。
  • piaomin1982 2023-4-1 11:44
    我也来回答一下这个问题。本人从事多年跨平台技术实战和研究,我特意写了一篇文章,记录从事编程那些年经历的跨平台开发工具框架演变历史,包括:Cordova,Xamarin,Titanium,NativeScript,React Native,Electron,uni-app,Flutter,大概有1w字左右,你想用哪个都可以在这里找到答案,哪个是什么作用,底层框架大概是什么,原理是什么,以及它们每一个的优缺点都做了一个详细的对比,大家可以去看看。AWeiLoveAndroid:从事编程那些年经历的跨平台开发工具框架演变历史1、首先你要搞清楚什么才是跨平台的真正目的。任何跨平台无非就是以下几种方式去解决问题:语言层面编译转换一下,编译成C语言或者字节码之类的,能够运行在不同的设备上面,但是这个语言转换过程很复杂,而且还需要做移植的工作。比如著名的:swiftUI,kotlin-native就是这类型的跨平台框架。自带渲染引擎,不依赖于任何平台,一套代码就可以自动编译成多个平台的应用程序。比如:Flutter中转类型的框架,使用JS衔接原生平台的一些功能,要么由社区开发者自己维护一套扩展兼容库,要么本身带有一系列的兼容库,但是还是摆脱不了Web的环境和编程思想,全部依赖于JS,如果不熟悉JS的朋友,去用这种类型的框架开发跨平台应用程序,简直是灾难。这类型的框架有:React Native,Weex,当然也包括楼主提出的5+app以及uni-app。2、既然有了上面的介绍,相信大家也会大概了解跨平台框架的一些大概分类和作用了。那么我们再回到问题本身来。无论5+app也好,还是uni-app也好,终究只是对传统h5 app做的优化。下面来看看对比:h5+ app:【优点:】h5+内置runtime,可以使用它去调用native的一些功能,产品体验比较好(针对UI来说的)。【缺点:】但是开发难度也高,另外不管是兼容性,还是native功能衔接以及适配都是一个很大的问题,如果要针对不用版本的系统(比如Android SDK一直在更新)和手机设备做兼容,这个还需要h5+ app研发团队做定制化更新,但是你的项目需要用到啊,你要等到猴年马月才能等到h5+ app更新?所以如果一个框架重度内置一些固定的native功能,一般推荐你慎重考虑,因为你需要兼容不同的系统和设备,你不可能让h5+ app这类第三方的框架随时帮你升级到你想要的native功能,说实话你的项目也等不了这么久。uni-app:【优点:】uni-app内部兼容了vue的写法,用于跨平台,可以同时支持android、ios,多家主流小程序,以及H5,可以说是很全面的一个框架。兼容性做的还行,至少用市面上流行的web框架来看,uni-app应该算是集大成的一个框架了。如果你的应用程序只是用纯web开发的话,你又想做小程序,uni-app一举两得,倒是很适合你的。【缺点:】1.但它也有缺点的,比如很多web库你无法使用,因为uni-app的内部原理决定了它不支持web库,所以如果你要用第三方web库,抱歉了很多都不支持,除非你不用uni-app。
    2.另外一个就是uni-app如果想个性化定制一些功能的话,有点难度,因为目前你只能按照它的要求去做,所以如果你想开发很牛逼的功能,或者UI界面,那么你应该放弃使用uni-app。
    3.真机调试debug是一个很严重的问题,对移动设备的调试和兼容方面做的还不够。Flutter:【优点:】Flutter是谷歌推出的一个全新的跨平台的开发框架。1.你只需要使用Dart语言写一套代码,即可自动编译到各个平台,目前支持Android,iOS,Web(Beta),Desktop(Alpha),当然也有Windows PC和linux平台的兼容支持官方正在研发中。所以你完全不用担心框架内部是如何帮你实现的。你只需要一个命令行就可以在对应平台运行你的代码了,比如:flutter run xxx,这里的xxx指的是你的平台设备名称,比如“flutter run chrome"表示将程序运行在浏览器上面。
    2.高性能高一致性。你的代码编译出来的程序可以达到60bps的高性能。
    3.丰富的组件支持,你完全可以按照你的想法去做,扩展性非常强大,MD风格的,以及ios风格的组件都有,足够满足平时开发需求。而且Flutter基于react以及flex的思想进行布局,Dart语法很像JS+Java+Swift+Kotlin+C#+TypeScript+JavaScript+PHP,虽然表面上没有使用web开发,但是你完全不用担心,你仍然可以进行开发,只是语言写法不一样,但是这里面很多都是熟悉的东西,基本上上手成本也是很低的。
    4.丰富的社区支持。目前常用的组件以及一些第三方包都有大佬开源出来了,足够应对平时的开发了。如果你不清楚的话,也没干系,我特意收集了Flutter工具集合,这里面啥都有,足够让你可以快速找到你要的东西,你可以点进来看看:https://github.com/AweiLoveAndroid/Flutter-learning/
    5.开源免费的。你可以随意修改内核引擎代码,以及组件代码,定制化的开发,比如闲鱼,腾讯,字节跳动等大厂都基于Flutter进行针对他们的App开发做了定制化的整合方案,当然你要是感兴趣的话,你也可以这么做。【缺点:】如果不熟悉原生开发,第三方包满足不了你的需求的时候,那么就需要你自己去写或修改已有的插件,这个需要学习一点原生开发的知识(其实这也是很多跨平台技术必不可少的步骤),当然如果你们公司有android或ios的程序员,可以让他们协助写一个插件,这对于他们来说都是小问题。
  • 游客 2023-4-1 11:43
    随着小程序的热度越来越高,小程序开发以及成为了前端工程师的必修课。 Uniapp是一个可以轻松实现一次开发多端的前端框架,相对开发者来说,减少了学习成本,因为只学会uni-app之后,即可开发出iOS、Android、H5以及各种小程序的应用,不需要再去学习开发其他应用的框架。 如果你也想独立开发小程序,或者是开发一款app。 苦于没有经验,对小程序,或者Vue一无了解的你,肯定想掌握一门拿得出手的手艺。 想着提升自己,扩充自己。 获取更新学习资源,请添加QQ学习群:789893737
  • sklz 2023-4-1 11:42
    哈楼,我是老刘老刘一直说自己做了4年Flutter,但实际上我们的项目是原生+Flutter+H5混合开发的。这其中有一部分是历史原因,还有一部分是现行解决方案的能力边界原因。我们来看看这几种技术的使用场景H5+App这种技术很多App都在用,通过App内的WebView展示标准的H5页面。使用场景:比如我们有一个促销或者打卡活动,希望用户分享。用户分享给微信好友的是一个链接,点击后会进入一个H5落地页。如果我们希望用户在App内打开的活动页和在微信中点开的落地页是一样的,这时用H5的方案就非常好用。优点:1、 H5页面的开发没有任何限制,通常是专门的前端团队完成,可以使用任何团队熟悉的技术。2、 最好的动态性效果,不需要用户更新App。缺点:1、 用户体验不是太好,对于性能要求较高的页面或者交互复杂的页面可能不太适用。2、 在不同手机系统不同的系统版本(本质上是WebView版本)上会有一定的兼容性问题。uni-appuni-app是基于Vue的,所以对前端同学来说基本没有学习门槛。

    后期的uni-app借鉴了小程序的一些组件的设计机制。同时对比H5又做了一些性能和体验方面的优化,因此其用户体验比H5要好。uni-app最大的特点是一套代码支持部署到app、h5、小程序、快应用。这一点是H5和Flutter都无法做到的。但是这一点做的并不是太完美,开发者经常需要再各个平台的开发环境下单独进行调试。FlutterFlutter使用了自带绘制引擎的架构设计。带来的好处就是原生基本的性能和极高的不同端一致性效果。关于Flutter的具体特性可以看我的这篇回答,这里就不细说了:开发跨平台 App 推荐 React Native 还是 Flutter?
    那么这几个技术该如何选择呢?如果需要把一套代码同时部署到App和小程序那么uniapp是这里唯一的选择(其实还有京东的Taro)如果只是部署到客户端内Flutter是最好的选择。截止2021年底,Flutter超越RN成为最受欢迎的跨平台开发框架。流行度高的好处就是各种稀奇古怪的问题都能找到解决方案,另外生态也会走向正循环越来越好。

    这种情况其实是代替原生页面,使用Flutter可以保证用户体验和原生页面一致,不会有H5或者uni-app造成的用户体验明显下降的问题。如果要分享页面到第三方如微信分享出去的只能是H5页面这里H5页面的编写可以独立写H5页面,也可以用uni-app或者Flutter生成H5页面。要注意一点是,Flutter写web页面无法使用前端的技术生态,只能用Flutter自身的各种控件。
    如果看到这里的同学有学习Flutter的兴趣,欢迎联系老刘,我们互相学习。点击免费领老刘整理的《Flutter开发手册》,覆盖90%应用开发场景。可以作为Flutter学习的知识地图。点击免费领覆盖90%开发场景的《Flutter开发手册》
文章点评
2022-04-26 09:16
APP运营 手机GIF动画制作软件哪个好?6款手机GIF制作APP推荐
  我们经常能看到视频做成的GIF动画表情,以前GIF动画智能通过电脑软件制作,不过如 <详情>
2022-04-26 10:02
APP运营 推荐10个超级棒的英语学习APP
现代社会的人,基本上已经没有办法不接触英语了,英语作为世界最通行的语言,就算在国 <详情>
2022-04-26 10:07
APP运营 App开发、小程序开发该如何选择技术开发公司?
术业有专攻。一个好的开发团队对做好一款App至关重要,好的团队会有专业且标准的需求 <详情>
2022-04-26 10:28
APP运营 如何用手机远程协助长辈?我找出了6个最佳方法!(免ROOT ...
最近我婆婆头一次换了部智能手机,难免这也得教那也得教但毕竟没办法随时亲身面授,我 <详情>
2022-04-26 10:46
APP运营 如何在M1的MacBook中安装手机App?| 竟有点实用!
这篇文章的主题其实非常简单,就是在M1的MacBook上安装手机的App。但一开始我觉得这个 <详情>
2022-04-26 10:51
APP运营 推荐16个非常棒的在线学习APP
现在的人们,每天日常生活中,基本上是已经完全离不开手机了,我也经常玩手机,在手机 <详情>
2022-04-26 11:07
APP运营 手机App确实在偷听你谈话,方法死都想不到
早在去年就有用户发现:只要和朋友聊天时提到某样商品,打开购物软件,立刻就会收到相 <详情>
2022-04-26 12:53
APP运营 市场部、运营部、品牌部,别傻傻分不清楚!
摘要:市场、运营、品牌、公关、新媒体、策划……,如何区分这些似是而非的职能,看这 <详情>
2022-04-26 12:56
APP运营 运营知识应该从何学习?
先学理论,再get技能,最后用学到的这些运营理论+技能做出真实有数据的运营项目,完整 <详情>
2022-04-26 13:18
APP运营 搞用户运营的看过来!蔚来、理想、小鹏、威马APP用户 ...
我是做社区运营工作的。上个星期我在面试社区运营的候选人,我问她在国内你认为运营最 <详情>