因为Flock,Flutter又凉一次

news/2024/11/3 3:01:47 标签: flutter, flock, android, ios

哈喽,我是老刘

本来不想写这篇文章的,因为有人已经讲过了,但是问的人有点多,就还是写一下吧。

我使用Flutter开发App已经6年多了,刚开始的时候Flutter流行度还不高,很多人还不知道,也不会经常出现”Flutter要凉了“这类的内容。
最近这两年几乎每隔两三个月Flutter就要凉一次,连团队里不懂技术的人都习惯了。
这不又有人问Flutter还能不能用了

image.png

新闻说了啥?

Flutter 被分叉!团队缩水至 50 人,bug 堆积如山,前谷歌员工出手找出路icon-default.png?t=O83Ahttps://mp.weixin.qq.com/s/m6HOz5e_vnHSl2al-wNdaA

不要听那些自媒体瞎说,我们先来看看这个新闻都说了啥:
其实简单来说就是Google前员工和一些其它贡献者成立了一个名为Flutter基金会的组织,他们认为Flutter项目因为人手不足而导致功能推进和bug处理不及时。因此,他们从Flutter项目中fork出一个分支,命名为Flock,在这个项目中推进Flutter未能及时解决的bug和新功能。

为啥是好事?

为什么我说这是件好事呢?
首先,自从Google把重心转移到AI后,Flutter项目确实缺人。(其实之前我觉得也缺,看看当时的issue数量就知道)
其次,Flutter官方一直对外部贡献者采用非常保守的策略。
最终的结果就是一直以来Flutter对bug处理和新功能推进都很难跟得上开发者的诉求。
现在有了一个社区版本的Flutter,同时这个版本又会定时从Flutter主线同步。
这对开发者来说有四个好处:
1、多了一个更为激进的选项
Flock版本可以想象会比官方版本在bug修复和新功能推进上激进很多。
当然,稳定性也有可能会下降,这要看团队的审核工作是否到位了。
但总之这对一些受关键bug困扰或者急需某些新功能的开发团队来说无疑是好事。

2、可以反向推进官方版本的进度
比如很多bug,社区版本修复了,相当于把问题定位、解决方案都给出一份了。
官方再去修复这个bug,即使不直接拿着社区代码用,起码也是非常有用的参考,能节省很多时间。
对于新功能就更是如此,Flock提供的功能经过一段时间用户的检验,效果和影响都有了很多的数据。
官方不管是否决定采纳都有了更为可靠的参考依据。

3、可以给我们开发者很多参考
比如你的项目不放心使用Flock,但是又急需其中的某个新功能。
是不是可以拿着Flock的源代码去参考。
然后不管是照着这个原理自己封装也好,还是直接拿来用也好,是不是都能节省很多时间?

4、避免大家对FlutterGoogle放弃的担忧
一直以来大家对Flutter最为放心不下的就是万一被Google放弃了怎么办。
我之前就说如果Google放弃了很可能会出现社区版本。
现在看社区版本先有了,即使官方放弃了Flutter,我们也有了备选方案。
对Flutter开发者来说,应该是最大的一块石头可以落地了。

总结

其实对开源社区比较了解的同学应该都知道,很多大型项目都有对应的社区版本。
项目官方会时不时的把社区版本中优秀的功能合并到官方版本中。
这对项目来说是一个非常好的事情。

现在Flutter终于有了对应的社区版本,从各方面来说都是一件好事。
对我们开发者来说Flock的出现应该是解决了我们最大的顾虑,提供了更多的选择。
所以我觉得Flock出现不仅不代表Flutter要凉了,反而是选择Flutter的最佳时机。

如果看到这里的同学有学习Flutter的兴趣,欢迎联系老刘,我们互相学习。
点击免费领老刘整理的《Flutter开发手册》,覆盖90%应用开发场景。
可以作为Flutter学习的知识地图。
覆盖90%开发场景的《Flutter开发手册》


http://www.niftyadmin.cn/n/5735916.html

相关文章

Learn QOpenGL 读取obj模型

/* ** File name: OpenGLModelWidget.h ** Author: ** Date: 2024-10-31 ** Brief: 读取模型文件并渲染的OpenGL控件 ** Copyright (C) 1392019713@qq.com All rights reserved. */#ifndef OpenGLModelWidget_H #define OpenGLModelWidget_H#includ…

项目模块十二:TcpServer模块

一、模块设计思路 1、目的 对所有模块整合,实现一个服务器模块供外部快速搭建服务器。 2、管理 监听套接字 主 Reactor,创建 EventLoop _baseloop 对象,进行对监听套接字的管理 哈希表管理所有新连接的 Channel 创建线程池进行连接的事…

掌握ElasticSearch(七):相关性评分

文章目录 一、Elasticsearch的打分机制1.TF-IDFTF-IDF 概述基本公式示例 2.BM25BM25 概述配置参数 二、boosting调整打分1. match 查询2. multi_match 查询3. bool 查询4. boosting 查询5.动态 Boosting 三、Elasticsearch的查询再打分策略查询阶段(Query Phase&…

iOS用rime且导入自制输入方案

iPhone 16 的 cantonese 只能打传统汉字,没有繁简转换,m d sh d。考虑用「仓」输入法 [1] 使用 Rime 打字,且希望导入自制方案 [2]。 仓输入法有几种导入方案的方法,见 [3],此处记录 wifi 上传法。准备工作&#xff1…

七、MapReduce 编程模型:原理、流程与应用场景

MapReduce 编程模型:原理、流程与应用场景 在当今大数据时代,MapReduce 编程模型作为一种强大的分布式计算框架,对于处理海量数据具有至关重要的作用。它以其简洁而高效的设计理念,在众多领域得到了广泛的应用。本文将深入探讨 M…

《使用Gin框架构建分布式应用》阅读笔记:p307-p392

《用Gin框架构建分布式应用》学习第16天,p307-p392总结,总86页。 一、技术总结 1.AWS chapter 08讲使用AWS进行部署,可以根据需要选择是否阅读。因为使用到的概率很小,且还要绑卡,本人选择跳过。 2.CI/CD (1)什么…

微服务基础拆分实践(第一篇)

目录 前言 一、认识微服务 1.1 单体架构 VS 微服务架构 1.2 微服务的集大成者:SpringCloud 1.3 微服务拆分原则 1.4 微服务拆分方式 二、微服务拆分入门步骤 :以拆分商品模块为例 三、服务注册订阅与远程调用:以拆分购物车为例 3.1 …

基于 Java(SpringBoot)+MySQL 开发古诗词学习网站

古诗词系统设计与实现 引言 编写目的 为了保证项目团队按时保质地完成项目目标,便于项目团队成员更好地了解项目情况,使项目工作开展的各个过程合理有序,有必要以文件化的形式,把对于在项目生命周期内的工作任务范围、各项工作…