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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/174984.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

8、数据结构-字符串、编码集

编码表 中文编码表 ​ 数字到中文单一字符的映射,汉字只能使用多字节的2字节,总有65535种状态。常见的中文编码有GB2312 、GBK 、GB18030 、BIG 5。 ​ 所有编码表都兼容单字节的ASCII表。 UNICODE ​ 多字节,一张编码表解决全球多数字符…

【C++】join ()和detach ()函数详解和示例

简单的来说,join ()方法建立的线程具有阻碍作用,该线程不结束,另一些函数就无法运行。detach ()方法建立的线程,可以和另一些函数同时进行。下面以示例进行详细说明,以帮助大家理解和使用。 目录 join ()detach () jo…

计算机毕业设计 基于SpringBoot的销售项目流程化管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ 🍅文末获取源码联系🍅 👇🏻 精…

学开发语言 求职互联网行业的未来发展

我喜欢回答各种各样的问题,自然也喜欢记录下自己的一些观点和看法。希望给朋友们多一点参考,也欢迎交流探讨。 提问: 自考本科,学的开发语言,问互联网行业求职和发展! 作为一个资深码农,对这样…

神经网络中的量化与蒸馏

本文将深入研究深度学习中精简模型的技术:量化和蒸馏 深度学习模型,特别是那些具有大量参数的模型,在资源受限环境中的部署几乎是不可能的。所以就出现了两种流行的技术,量化和蒸馏,它们都是可以使模型更加轻量级&…

LeetCode(13)除自身以外数组的乘积【数组/字符串】【中等】

目录 1.题目2.答案3.提交结果截图 链接: 238. 除自身以外数组的乘积 1.题目 给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素…

新能源充电桩物联网应用之工业4G路由器

新能源充电桩是智慧城市建设中不可缺少且可持续发展的重要设施,而工业4G路由器物联网应用为其提供了更加高效、智能、实时的管理方式。充电桩通过工业4G路由器可以与充电运营商的管理中心建立稳定的连接,实现双向数据传输,为用户提供优质的充…

人工智能基础_机器学习030_ElasticNet弹性网络_弹性回归的使用---人工智能工作笔记0070

然后我们再来看elastic-net弹性网络,之所以叫弹性是因为,他融合了L1和L2正则,可以看到 他的公式 公式中有L1正则和L2正则两个都在这个公式中 可以看到弹性网络,在很多特征互相联系的时候,非常有用,比如, 相关性,如果数学好,那么物理也好,如果语文好,那么英语也好 这种联系 正…

thinkphp6(TP6)访问控制器报404(Nginx)

起因: 安装thinphp6后,发现无法访问控制器,直接通过URL访问,就报错404。 错误原因: Nginx不支持URL的 PathInfo。 解决方法: 配置伪静态。 伪静态代码: location / {if (!-e $request_filen…

5个用于地理空间数据分析的Python包

大家好,地理空间数据分析在城市规划、环境研究、农业和交通等行业中至关重要。不断增长的需求导致Python包在各种地理数据分析要求上的使用增加,例如分析气候模式、研究城市发展或跟踪疾病传播等,评估和选择具有快速处理、修改和可视化能力的…

谈谈一个IT杂家的职业生涯规划,你的护城河被AI 攻破了么

文章大纲 没有顶会的从业者:成为深度学习老中医AIGC 还未能克服的难点:忽然的惊喜 -- 大模型的智能涌现未来还能做点什么,从计算机视觉的发展走向看T 字型人才与护城河成为更加熟练使用人工智能的人 参考文献与学习路径 我的职业生涯将近十年…

Chrome版本对应Selenium版本

1.获得浏览器版本号和驱动 浏览器版本: 119.0.6045.124 浏览器驱动版本: 119.0.6043.1 / 120.0.6051.0 访问 https://vikyd.github.io/download-chromium-history-version/ 2. 安装selenium pip install selenium4.1.1 -i http://pypi.mirrors.ustc.edu.cn/simple/ --trusted…