[Flutter翻译]GSoC ‘21:为Flutter创建一个桌面样本

原文地址:medium.com/flutter/gso…

 

原文作者:medium.com/@abd99

发布时间:2021年8月22日 - 5分钟阅读

(GSoC)是一个由Google赞助的开源的暑期项目。在这个项目中,学生们在一个开源组织的指导下进行项目工作。

这是Dart团队第二次作为指导组织参加GSoC。不幸的是,由于导师的不到位,今年的创意列表中没有Flutter项目。因为这是我第二次参加GSoC,所以我联系了去年的导师Brett,看看是否有可能参与项目。经过与他和组织管理员的讨论,我找到了一个可以工作的项目。

这个博客显示了我为我的项目所做的工作。看看今年Dart下的所有项目。所有产生的源代码都在GitHub存储库中,你可以通过查看单个拉动请求(PR)来了解工作的进展情况。

项目详情。Flutter桌面工具

今年,在Flutter Engage上,Flutter的桌面支持的测试版快照被纳入了稳定频道。这导致了对样本 repo 的桌面样本的需求,该样本以后可以在桌面应用商店(如 macOS App StoreMicrosoft StoreLinux Snap Store)发布。经过与Brett和团队的讨论,我们决定建立一个桌面样本,同时也是一个工具,帮助开发者管理他们项目的lint规则。请看GitHub上的linting_tool

image.png

该应用程序的屏幕截图

该应用使用Dart团队从dart-lang/linter repo中托管的lint规则,该应用可以做以下工作。

显示Dart的可用lint规则列表。

你可以从API中获取lint规则的列表。该应用程序使用flutter_markdown包来格式化细节和代码片段。

相关的PR。#856

将规则保存到不同的配置文件。

你可以为不同类型的项目创建不同的规则配置文件。该应用程序使用蜂巢数据库来维护持久性存储。

image.png

保存的配置文件的列表

相关的PR。#860

修改和导出配置文件。

可以根据自己的喜好修改配置文件,然后作为analysis_options.yaml文件导出到Flutter项目。yamljson2yamlfile_selector这些包被用来完成这个任务。

相关的PR。#874, #869

显示默认配置文件。

你可以查看 effective_dartpedanticlintsflutter_lints 使用的默认配置文件列表。

相关的PR。#871

要查看GSoC期间项目的进展情况,请看这组PR

还有一些东西我想添加到项目中。两个主要的东西是能够从现有的analysis_options.yaml文件中加载配置文件,以及在规则列表中搜索特定规则的能力。我还有一个新的视频系列,正在制作中,将介绍如何部署Flutter桌面应用程序。当它出来的时候,我会更新这个博客,也会在我的Twitter账户上分享它。


经验

我这次参加Google Summer of Code(GSoC)的经历比去年还要好。(请看,了解更多关于我去年所做的项目)。我认为今年的情况更好,因为项

目的技术性更强,涵盖了更多的概念,而且与我以前从未从事过的工作有关。这次我也认识了更多的团队成员。我认为GSoC将成为我生命中的一部分,我永远不会忘记。

导师的帮助

布雷特总是在那里帮助我解决所有的问题和障碍。当我不得不把更多的时间用于其他工作,如学校、其他工作和家庭相关的事情时,他非常理解。我认为最好的事情是,他给了我完全的自由去探索一些东西,如果我认为一些东西对项目有价值的话,可以调整项目的范围。我这次做的一件很酷的事情是,在每次周会结束时,我都会问他一些与项目没有直接关系的一般软件工程问题,比如 "谷歌是如何处理估算的?"和 "你对远程工作有什么看法?"。这帮助我了解了一些与编程无关的软件行业的事情。我强烈建议你在实习或类似GSoC的项目中尝试这样做。而且,是的,他仍然是我所工作过的最酷的人

学习

学习是开源软件中最好的部分。我这次做的很多事情都是无法用Google搜索到的。我阅读了大量的代码,发现不同的软件包是如何做同样的事情的,以及它们不同的一般模式。我还学会了如何从一个庞大的可用软件包列表中为项目找到一个好的软件包。因为这个类别对我来说是新的,这个经验帮助我在很短的时间内学到了很多。

挑战

我从这次工作中得到了一些挑战。第一个是与时间轴有关。今年,GSoC的时间表被缩短了一半,这使得我们不得不重新安排优先次序,跳过了很多可能对项目有价值的功能。其他的挑战是在一个全新的类别上工作,以及在一个不太流行的类别上寻找好的资源。

最后的想法

在过去的一年里,我在与Flutter和样本库的工作中获得了惊人的经验。而且,我要感谢Brett,Flutter团队,以及GSoC团队。 关于作者。阿卜杜拉是一名刚毕业的计算机工程专业学生,在印度浦那工作。在过去的4年中,他一直在构建移动应用程序,并喜欢与围绕它的事物打交道。你可以在Twitter、LinkedIn和GitHub上与他联系。

更多Android进阶资料进群即可领取

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值