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

news2025/1/24 8:52:31
浅谈:谁将会动那些抵制学习还装懂的人的蛋糕
开发环境现状与为什么选择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.coloradmin.cn/o/1209727.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MySQL是如何进行排序的,ORDER BY是如何执行的

MySQL 会给每个线程分配一块内存用于排序,称为 sort_buffer。 假设找出在杭州居住的人,按名字排序前1000个人(假设city有索引,那么非常舒服,不用全表扫描) select city,name,age from t where city杭州 or…

git简明指南

目录 安装 创建新仓库 检出仓库 工作流 安装 下载 git OSX 版 下载 git Windows 版 下载 git Linux 版 创建新仓库 创建新文件夹,打开,然后执行 git init 以创建新的 git 仓库。 检出仓库 执行如下命令以创建一个本地仓库的克隆版本&…

第3章:搜索与图论【AcWing】

文章目录 图的概念图的概念图的分类有向图和无向图 连通性连通块重边和自环稠密图和稀疏图参考资料 图的存储方式邻接表代码 邻接矩阵 DFS全排列问题题目描述思路回溯标记剪枝代码时间复杂度 [N 皇后问题](https://www.luogu.com.cn/problem/P1219)题目描述全排列思路 O ( n ! …

【数据分享】2015-2023年我国地级市逐月房价数据(Excel格式/Shp格式)

房价是一个城市发展程度的重要体现,一个城市的房价越高通常代表这个城市越发达,对于人口的吸引力越大!因此,房价数据是我们在各项城市研究中都非常常用的数据!之前我们分享过我国主要城市2023年房价数据(可…

无标题栏的Qt子窗体在父窗体中停靠时,如何做到严丝合缝

目录 1. 问题的提出 2. 一般实现 3. 加强版 1. 问题的提出 由于业务的要求,需要从父窗体弹出一个子窗体,该子窗体无标题栏,且该子窗体要停靠到父窗体右下角。这个看似很容易的问题,细研起来其实不容易! 2. 一般实现…

维基百科是非营利性机构 词条内容具有中立性、准确性、可靠性

维基百科对一些企业很有神秘性,自行操作很多次也没有成功建立维基百科,这一定是没有按照维基百科的规则和流程去操作。小马识途营销顾问提醒企业,维基百科是一种基于协作的在线百科全书,由维基媒体基金会运营。维基百科的创建流程…

内涝积水设备推荐,城市易涝点怎么监测?

随着城市化逐步发展,城市内涝问题越来越多且越来越严重,给人们的出行和生活带来很多的不便。为了解决这一问题,内涝积水监测仪受到越来越受到关注。 内涝积水设备能够实时监测道路积水情况,包括积水深度等信息,为相关人…

nodejs+vue公益帮学网站的设计与实现-微信小程序-安卓-python-PHP-计算机毕业设计

在当今高度发达的信息中,信息管理改革已成为一种更加广泛和全面的趋势。为确保中国经济的持续发展, 如何用方便快捷的方式使管理者在广阔的数据海洋里面查询、存储、管理和共享有效的数据信息,对我们的学习,工作和生活具有重要的现…

μC/OS-II---计时器管理2(os_tmr.c)

目录 获取计时器的名字获取计时器到期前剩余的时间查看计时器的状态 计时器是倒计时器,当计数器达到零时执行某个动作。用户通过回调函数提供这个动作。回调函数是用户声明的函数,在计时器到期时被调用。在回调函数中绝对不能进行阻塞调用(例…

vue 事件总线 非父子组件之间的简单信息传递

如果两个组件不是父子关系,那么传递信息就不能通过props了。 此时可以使用vue的事件总线来传递信息。 1.创建非父子组件都能访问的事件总线(也就是空的vue实例) 1.创建一个EventBus.js 2.引入vue并且创建一个vue实例 import Vue from vuec…

微信小程序 解决tab页切换过快 数据出错问题

具体问题:切换tab页切换过快时,上一个列表接口未响应完和当前列表数据冲突 出现数据错误 具体效果如下: 解决方式:原理 通过判断是否存在request 存在中断 并发送新请求 不存在新请求 let shouldAbort false; // 添加一个中断标志 let re…

STM32 LED编程 GPIO的初始化(标准库)

实验的电路图介绍 实验的电路图类似于开漏接法 要初始化GPIOC接口 标准库的模板 GPIO的标准库编程接口 GPIO引脚的初始化 GPIO作为片上外设 每一个片上外设使用前一定要使能时钟 为什么要使能时钟?时钟是啥 时钟的使能 stm32的每一个片上外设都是时序电路 时序…

计算机视觉基础(6)——光流估计

前言 本章我们来学习一下图像处理基础中的运动估计。主要内容包括运动场估计和光流估计两个部分。在运动场估计中,我们将学习到运动场、光流、光流和运动场的区别;在光流估计中,我们将学习到光流估计任务、孔径问题,以及光流估计两…

高质量实时渲染笔记

文章目录 Real-time shadows1 自遮挡问题2 解决阴影detach问题?3 Aliasing4 近似积分5 percentage closer soft shadows(PCSS)percenta closer filtering(PCF)PCSS的思想 6 Variance Soft Shadow Mapping (VSSM)步骤Moment Shadow Mapping 7 Distance field shadow …

MongoDB入门级别教程全(Windows版,保姆级教程)

下载mongodb 进入官网: Download MongoDB Community Server | MongoDB 选择msi,Windows版本 下载完后直接双击: 选择complete 这里建议改地方: 我这里直接改成d盘:work目录下面: 点击next: 因…

C 语言实现 UDP

广播 发送广播信息&#xff0c;局域网中的客户端都可以接受该信息 #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <string.h> #include <arpa/inet.h>int main() {// 1.创建一个通信的socketint fd socket(PF_INET, …

MySQL 社区开源备份工具 Xtrabackup 详解

文章目录 前言1. Xtrabackup 介绍1.1 物理备份与逻辑备份区别1.2 Xtrabackup 系列版本 2. Xtrabackup 部署2.1 下载安装包2.2 二进制部署2.3 程序文件介绍2.4 备份需要的权限 3. Xtrabackup 使用场景3.1 本地全量备份3.2 本地压缩备份3.3 全量流式备份3.3.1 备份到远程主机3.3.…

技术架构 - 应用数据分离,应用服务集群架构

前言 上一篇文章介绍了单机架构&#xff0c;由于性能瓶颈&#xff0c;满足不了高访问量&#xff0c;所以演化出了数据分离架构。 这种架构也很简单只是将应用服务和数据库服务分离开来&#xff0c;避免单一架构的资源争夺的情况。 一、 应用数据分离架构 1. 简介 应用服务和…

JavaScript从入门到精通系列第三十七篇:详解JavaScript中文档的加载顺序

文章目录 一&#xff1a;文档加载说明 1&#xff1a;回顾一个代码 2&#xff1a;问题分析和说明 二&#xff1a;如何给JS换个位置&#xff1f; 1&#xff1a;过程分析 2&#xff1a;代码编写 3&#xff1a;运行结果 4&#xff1a;解释说明 大神链接&#xff1a;作者有幸…

Excel-lookup函数核对两个表格的数据匹配

需求描述&#xff1a;把右侧表格里的成绩按照姓名匹配到左表中 D11函数为LOOKUP(1,0/($H$11:$H$26A11),I$11:I$26) 然后下拉赋值公式&#xff0c;那么得到的值就都是对应的