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

简介: 浅谈: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,不再兼容安卓。在这种情况下,除非是有历史原因,否则新项目还选择原生开发,就等于是企业在增加自己的成本。如果企业不想浪费资金,那么明年就需要做出改变。

目录
相关文章
|
4月前
|
监控 Dart 安全
创建一个Dart应用,监控局域网上网记录的软件:Flutter框架的应用
在当今数字时代,网络安全变得愈发重要。为了监控局域网上的上网记录,我们可以借助Flutter框架创建一个强大的Dart应用。在这篇文章中,我们将深入讨论如何使用Flutter框架开发这样一个监控局域网上网记录的软件,并提供一些实用的代码示例。
278 1
|
7月前
|
Dart Android开发 UED
带你读《深入浅出Dart》二十七、Flutter路由管理
带你读《深入浅出Dart》二十七、Flutter路由管理
|
7月前
|
Dart
带你读《深入浅出Dart》三十、Flutter实战之TODO应用(1)
带你读《深入浅出Dart》三十、Flutter实战之TODO应用(1)
|
1天前
|
Dart 前端开发 开发者
【Flutter前端技术开发专栏】Flutter Dart语言基础语法解析
【4月更文挑战第30天】Dart是Google为Flutter框架打造的高效编程语言,具有易学性、接口、混入、抽象类等特性。本文概述了Dart的基础语法,包括静态类型(如int、String)、控制流程(条件、循环)、函数、面向对象(类与对象)和异常处理。此外,还介绍了库导入与模块使用,帮助开发者快速入门Flutter开发。通过学习Dart,开发者能创建高性能的应用。
【Flutter前端技术开发专栏】Flutter Dart语言基础语法解析
|
1天前
|
Dart 测试技术 UED
Dart 和 Flutter 错误处理指南 | 最佳实践全解析
深入探索 Dart 和 Flutter 中的错误处理技术,从编译时错误到运行时异常,带你学习如何优雅地处理应用程序中的各种意外情况。了解最佳实践,让你的应用程序稳如磐石,用户体验持续优化!
Dart 和 Flutter 错误处理指南 | 最佳实践全解析
|
5天前
|
存储 缓存 开发框架
Flutter的网络请求:使用Dart进行HTTP请求的技术详解
【4月更文挑战第26天】了解Flutter网络请求,本文详述使用Dart进行HTTP请求
|
5天前
|
开发框架 Dart Java
Flutter的核心:Dart语言基础——语法与特性深度解析
【4月更文挑战第26天】Flutter框架背后的Dart语言,以其简洁的语法和独特特性深受开发者喜爱。本文深入解析Dart的语法与特性,如类型推导、动态静态类型系统、统一的类接口、访问权限控制以及并发编程支持。了解并掌握Dart,能助开发者更高效地利用Flutter构建高性能移动应用。
|
3月前
|
Dart JavaScript
Flutter - Dart 基础(数据类型)
【2月更文挑战第3天】
67 1
|
3月前
|
Dart JavaScript 安全
|
3月前
|
Dart Shell 开发工具
解决windows安装Flutter时出现Unknown operating system. Cannot install Dart SDK.问题
解决windows安装Flutter时出现Unknown operating system. Cannot install Dart SDK.问题