浅谈:Flutter现状、与为什么选择Flutter——其实大家都在用只是你不知道罢了

浅谈:谁将会动那些抵制学习还装懂的人的蛋糕 开发环境现状与为什么选择Flutter


我本从不屑于写这种技术外的技术文章,但是今天刷某应用优点上头,想发唯一一篇。这篇文章可能会得罪一些就喜欢地址学新架构的,以及还不了解就开始起哄人。在某金社区有一个耸人听闻的标题:

紧接着一些神评接踵而至:

但是事实如此吗?------恐怕并不是。

我想要澄清一点,我并不是想要制造你们的焦虑,而是希望你们能够看清楚现实。我从评论区的反馈中看到,有些人似乎对学习新事物抱有抵触情绪,甚至选择散播不实之言。

是不是真的未大量使用Flutter------先看一些事实

在过去的几年里,即使是国内的大型企业,也有许多新项目选择使用Flutter。那些认为大厂不会使用或者不会向Flutter迁移的观点,其实是一种误解。事实上,无论是在国内还是国外,Flutter的发展趋势都非常明显。

在国内,尽管我们在技术更新上可能稍微滞后,但这并不影响Flutter的普及。例如,字节跳动的抖音火山版、学浪、今日头条、西瓜视频、皮皮虾等众多应用都已经使用或者正在迁移到 Flutter 或者改为 Flutter+Native。阿里巴巴的 aliflutter 组织也开发了一个名为 hummer 的引擎。阿里的夸克、1688、淘宝特价版(陶特)、闲鱼等应用都是基于Flutter构建的,盒马、优酷、飞猪等也都开始使用Flutter。美团等公司也已经建立了自己的Flutter工程化体系,并且在各自的业务场景中得到了应用。腾讯也在多个App上进行了Flutter的应用尝试,并在Flutter渲染能力服务小程序的场景下做了很多探索。

HarmonyOS next 来了,还不用跨段吗?

想必今年(2023)的发布会大家都看过了。华为在最近的发布会后,一些曾今认为鸿蒙将持续使用AOSP的"大厂" 以高达四到六万月薪招聘鸿蒙开发者,以和提前布局鸿蒙的"大厂" 抢鸿蒙派发人才。

但是对于中小企业而言,手里如果没有足够的子弹,HarmonyOS next 到来又意味着什么呢?

如果明年初鸿蒙next发布,那些仍然停留在Native的开发者将会面临企业增加成本的问题。那些自称为"高级工程师",但只愿意停留在Native的人,可能会面临被企业替换的风险。

React Native 表现如何

国内有些知名企业自己的跨段框架在移动端上使用的都是React Native。 React Native和Flutter都是非常流行的跨平台移动应用开发框架,但它们在设计理念、性能、开发体验等方面存在一些差异。对比而言:

  1. 性能 :Flutter在性能上具有绝对优势。Flutter直接与底层C++引擎通信,采用自绘UI,因此性能更接近原生应用。而 React Native 则通过 JavaScript桥接器 与原生模块通信,这可能导致一些性能问题,虽然名字带有 Native,仅仅是将web 中的组件替换未 Native 组件而已。
  2. UI一致性:Flutter使用自己的渲染引擎和widget库来创建UI,这意味着无论在哪个平台上,Flutter应用的UI看起来都是一致的。而React Native则依赖于原生组件来渲染UI,这可能导致在不同平台上的UI不一致。
  3. 开发体验:Flutter提供了热重载功能,这使得开发者可以在不重启应用的情况下看到他们的更改,这大大提高了开发效率。虽然React Native也提供了热重载功能,但Flutter的热重载更稳定,更少出现问题。
  4. 语言:Flutter使用Dart语言,这是一种相对较新的语言,可能需要一些学习成本。但Dart的语法清晰,易于学习,特别是对于有Java和C#背景的开发者。而React Native使用JavaScript,这是一种非常流行的语言,但其动态类型系统可能会导致一些难以发现的错误。

另外,对于新的系统,React Native的表现如何还是一个未知数。而且,即使是目前,在iOS和Android上,其性能也无法与 Flutter相比。个别人士用一种情绪化、并带有挑逗意味的语气,发表对 Flutter 的性能问题进行了一些无根据的批评,却说不出具体内容。可以肯定,这些人大多数并没有深入了解,也没有相关的实践经验。实际上,遇到问题的开发者大多都在积极寻找解决方案,因为目前看来,除了Flutter,似乎没有更好的选择。

Flutter 似乎是当前的最佳解

在开发鸿蒙的官方仓库下,我们可以看到Flutter的更新非常频繁。这并不难理解,因为对于鸿蒙来说,新推出的arcUI虽然很好,但是在海外,Flutter已经有500万的开发者,并且在3.10版本后,许多方案已经相当成熟。如果想要在短期内推广生态系统,必须适配Flutter,让海外的开发者也愿意加入。

现在已经是2023年底,我们应该看清楚现实,而不是被一些耸人听闻的标题所迷惑。今年华为在发布会后,已经明确表示将弃用AOSP,不再兼容安卓。在这种情况下,除非是有历史原因,否则新项目还选择原生开发,就等于是企业在增加自己的成本。如果企业不想浪费资金,那么明年就需要做出改变。

相关推荐
千里马学框架2 天前
一起学 Android 14:ShellTransition 屏幕旋转过程深度剖析
android·智能手机·性能优化·framework·性能·屏幕旋转·rotation
美狐美颜SDK开放平台2 天前
开发直播APP时如何接入视频美颜SDK?开发流程与注意事项
android·人工智能·计算机视觉·音视频·直播美颜sdk
AFinalStone3 天前
Android7 SystemUI源码解析(七)Keyguard锁屏模块深度解析
android·systemui
致远ccc3 天前
Google Play 上架前如何测试 App?多国家 Android 环境测试
android·app测试·googleplay·多国家应用测试
ttyyttemo3 天前
Kotlin 协程中的 Job 结构化并发与取消
android
sun0077003 天前
tbox 4g/5g切换,导致wan ip 改变,导致车机旧网络不可用。需要重启车机才行
android
其实防守也摸鱼3 天前
内网穿透与反向代理:原理、工具与实战指南
android·大数据·运维·安全·网络安全·自动化·渗透
茶底世界之下3 天前
为什么预览、录制、离线导出不能共享同一个背压策略?
ios·swift
AFinalStone3 天前
Android7 SystemUI 源码解析(四)NavigationBar 导航栏与 SystemBars
android·systemui
JMchen3 天前
属性动画原理与高级动画实现
android·kotlin·canvas