在没有 flutter 的基础下一周时间做出一个简易的 app,对于一个大四学生来说及格了吗?

2022-12-05 05:29:42 +08:00
 netabare

之前没有接触过 dart 语言,因为学校有个课程安排是「给定数据和选题,限时完成一个 app 的实现」,不限具体技术,考虑到要跨平台基本上没什么好的选择就选了 flutter ,没有后端,只用了 firebase 做简单的数据源和 auth 。

具体需要做到以下的内容:

给定的时间是一周,然后做出来的效果大概是这样:

注册 /登入放在同一个界面,输入完邮箱后自动检测是否已经注册来判断接下来进入注册还是登入(感觉可以进一步完善,不过时间不足就没仔细设计了)

程序内部的界面大概是这样,这里我额外花了点时间改掉数据源和 UI 上的文字,用的是世界文化遗产的那个 open data 。

实际上作为课程要求给定的数据源比起世界文化遗产的 open data ,数据结构要混乱许多,也花了不少时间去处理 nullable 的情况。倒是 flutter 有类似 kotlin 的 null coalescing ,帮助减轻了不少处理负担。

carousel 、fab 、地图 api 还有大头钉,还有分享到第三方功能用的是第三方库来实现的。搜索框里面想到了用标签分隔关键词的想法,在 stackoverflow 上找到了一些代码片段,不过还是花了不少时间来适配,而且第一个片段有 bug 用不了,还好那个问答下有好几个方案所以最后还是弄出来了。用 fab 而不是抽屉因为感觉这样更方便,也更适合跨平台的场景。

ListView 的的溢出方面,因为一开始完全不懂,花了不少时间去处理错误然后慢慢也理解了该怎么 debug 一个 flutter 的 widget ,虽说现在还是不能很熟练的一次写出不溢出的 widget 就是了。

在架构上,虽然听说 flutter 并不是为 mvvm 设计的,不过还是专门花了一点时间基于 provider 来捏了个 mvvm 的骨架,感觉用 mvvm 的最直观的好处就是增添新功能或者改数据流的时候改起来很方便,可能是因为解耦合的原因。

大体上就是这样,然后作为课程小结的展示会上也看了别人的作品,似乎并没有做的更好的(比如说 fab 和基于标签的搜索就没人做出来)。

当然这边的学校并不是什么很出名的学校,其他的学生也没感觉很厉害,可能在国内好点的学校可以看到更好的作品吧。

所以也想问一下,大概在没学过 flutter 和 dart 的前提下,花一周时间做出这个玩意,能够赶得上国内正规学校大四学生的平均值嘛。

一个 typical 的大四学生做类似的项目,一周时间的话,大概需要做到什么样的效果呢(不限制具体使用什么技术栈)?

源代码就不发了,毕竟也不是什么很厉害的东西,也是为了避免出现隐私问题。

2637 次点击
所在节点    问与答
21 条回复
netabare
2022-12-06 03:13:19 +08:00
谢谢各位的回复和鼓励~说实话我对自己的能力挺没信心的,毕竟本身也不是理科生,平时看别人分享的很漂亮的作品也会挺自卑的(

@userdhf

印象中,国内学生对算法和基础知识的掌握确实是国外的教学没法比的。感觉最重要的一点反而是因为国内有各种竞赛也很重视算法方面的教育吧,国外的话……在没有竞赛氛围的前提下,很少有学生会对算法感兴趣想要在这方面做点什么,参加算法比赛的也是凤毛麟角了。
不过几大经典课程,包括操作系统、网络和编译原理,国外也是有的,而且印象中这些科目也挂了不少人。比较羡慕国内的主要是感觉国内许多课程的展开方式比较有新意,比如说用 rust 讲操作系统或者用 tapl 来讲编译原理这样,然后这边学校的老师都是比较老资历的不指望他们会做出很创新的课程出来就是了(

@polobug

一个是因为 firebase 本身带有数据库、auth 和 notification 的功能,另一个是不想有事没事就上 spring 全家桶吧。只有一周时间,要做出大而全的项目肯定是不切实际的。这边的想法大概是,比起做一个啥都有但啥都一般般的,还不如在前端多花点时间,至于后端的话,看以后的安排,如果还有兴趣重拾的话自然是可以考虑的,不过也不一定非要上 spring 那种重型框架就是了。

@Veneris

这个一定是 AI 吧(

@foufoufm

之前倒是杂七杂八的了解过一些别的语言,比如说 Kotlin 、C#、Scala 、OCaml 之类的,但是只写过 cli 小工具级别的东西……图形化客户端,然后 MVVM 的,确实还是第一次接触。

@elonmask

确实,一周时间还是蛮长的,虽说实际上因为第五天下午就要展示所以实际上只有 4.25 天(
不过一天半实现一个 app 上架感觉还是很厉害了><

@fyacc

erlang 似乎是个很有趣的语言?时间不够的话确实要妥协很多东西的,我都感觉哪怕再给多一天就可以多做许多东西了。
虽说如果时间充足的话可能会想找个更合适的项目而不一定要做学校里面的选题。
聊天室感觉也是个挺有趣的题材,或许哪天也试试这个好了。

@tgwl

不是大佬啦,而且那时候也没想到自己会学计算机,回过头看感觉挺班门弄斧的。
虽说那时候就对计算机和编程有点兴趣,但是艺术生的话顶多就学点网页(还是 Dreamweaver 那种),只是靠自己杂七杂八的学乱七八糟的东西还是没入门,大概还是太笨了。后来艺术没学下去转了计算机,慢慢才走上正轨的。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/900089

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX