Go最全参加Google Compose挑战赛的趣事(2),2024年最新2024最新Golang笔经

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

大赛进入第2周的时候,Google官推显示首周全球有近1000位开发者提交了作品。可以感受到开发者们对于Compose的开发热情,第一波气氛看来是“躁”起来了。

在这里插入图片描述 接下来我将回顾参加第1周大赛期间发生的趣事。

缘起

我很早就在Google的官方公众号里收到了大赛的消息。

Android 开发挑战赛: Jetpack Compose 助您起飞!

第1周的设计任务是提交一个 宠物领养 应用,包含宠物列表和宠物详情两个页面即可。看起来开发难度不大,再加上前五百个完成挑战的人便可获得Google和乐高联名的 Jetpack喷气人积木 ,我瞬间就产生了兴趣,下班到家就开干。

在这里插入图片描述

开干

依照规则采用Compose项目模板创建了我的作品LovePet。可能是英文还不够好亦或是急于求成,对于部分参赛规则的描述的没有看明白就开始敲代码了。这也为后面发生的故事买下了伏笔。

Compse大赛项目模板

应用的要求比较简单,涉及到主题,布局和跳转这三块知识。但因为是第一次使用Compose这种声明式的UI框架,学习是免不了的,Google友好的开发文档着实帮上了忙。

主题指导

布局指导

导航指导

一番探索下来应用的基本思路就定下来了。

  • LazyColumn实现列表
  • Row实现列表item
  • Navigation实现画面跳转
  • Card实现详情页面

料想到简单的开发需求必将导致提交的设计大同小异。所以在基本要求以外加了些自己的设计想法。

  • 找了可爱的小狗的图标精心设计了应用的logo
  • 将列表item错位布局,而不都是顶格排布,显得有层次感
  • 在详情card里添加like图标和adopt的按钮,以完善UI交互
  • 整体采用亮黄色填充背景,紫绀色展示内容的风格

上一下最终效果。

在这里插入图片描述 感兴趣的朋友可以参考和star。

github.com/ellisonchan…

提交

代码提交之后Github上的check徽章始终显示failing,这时候我才意识到什么地方有问题,转而逐字逐句地查看模板上的详细说明。

其中这条说明,我在第一次看到的时候就没能完全理解并未重视,看来大概率是这个地方不合规范。

在这里插入图片描述 查阅了Workflow的资料之后终于明白,Github项目支持设置Workflow,每次代码变动后将自动执行预设的Workflow,项目的Actions视图也可查看其执行的日志方便回溯。

Compose的项目模板预设的Workflow则是Spotless检查和编译测试。

github.com/android/and…

Spotless工具可以检查和调整代码的格式,像通配符*的粗暴import是不被允许的。执行了格式检查后check workflow便可以通过了,项目的徽章如愿显示了passing

在这里插入图片描述 对于Spotless这类工具是否有存在的必要难以做出公允的评价。一方面它确实高效;另一方面自动调整格式甚至可能改变代码顺序则会留下隐患。尤其对于大型项目,未知地方的代码被改动是件很恐怖的事情,因为谁也无法保证代码的逻辑和布局的结构不受其影响。

所以面对demo级程序或不熟悉的语言,可以采用这类工具协助学习和适应代码规范。而对于熟知的语言或成熟的项目,最好在编码阶段就按语法规范去coding。

插曲

workflow passing之后,我以为万事大吉,便把这事给忘了。两天后(距离第1场大赛截止还有不到两天)我在网上搜索Croutines资料的时候,无意看到了有篇在讲Compose大赛的文章。

本想着大赛我都搞定了还看个啥,但技术人严重的好奇心和良好的学习态度还是促使我点了进去。(2分钟后我将会无比佩服这个决定,相反如果没有点进去的话事后我也将无比后悔。)

这篇文章非常详尽地阐述了大赛的各项细节,尤其提到了我当时因为科学上网的小麻烦而忽略的一个重要规则:将应用的截图发推,并提交项目地址和推文链接。

文章链接:Jetpack Compose迎来Beta版!!快来参加Android开发挑战赛!!

我好不容易代码写好了最后没提交,等于Google人家压根不知道你参赛了,岂不太冤。。。但说实在的必须要吐槽一下,Google记载这次比赛规则的地方不是很统一,公众号,github和官网分别记载了部分规则,我相信并不只有我一个人忽略了某个规则。

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值