在没有 flutter 的基础下一周时间做出一个简易的 app,对于一个大四学生来说及格了吗? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
netabare
V2EX    问与答

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

  •  
  •   netabare 2022-12-05 05:29:42 +08:00 3426 次点击
    这是一个创建于 1040 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

    • 用一个 ListView 展现出数据列表,并且用户可以「喜欢」某个数据
    • 用地图相关的 API 提取出数据的 geolocation 并且在地图上呈现出来
    • 开屏的时候有个 carousel 的效果
    • 在列表和喜欢页面里需要提供搜索过滤功能
    • 基本的账号相关的功能(登入登出改密码销号等)
    • 允许将某个数据内容分享出去

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

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

    程序内部的界面大概是这样,这里我额外花了点时间改掉数据源和 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 的大四学生做类似的项目,一周时间的话,大概需要做到什么样的效果呢(不限制具体使用什么技术栈)?

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

    21 条回复    2022-12-06 03:13:19 +08:00
    userdhf
        1
    userdhf  
       2022-12-05 05:45:51 +08:00
    头条刷过一个短视频,讲国外程序员面试八股基本全军覆没,所以盲猜,国内相关专业理论基础应该教的是比较全面的,而且通过闭卷考试的话学生对计算机基础知识、操作系统、网络、数据结构与算法掌握的应该还是比较扎实的,国内一本的代码能力应该也还是可以的,几大计算机 /软件工程名校出来的学生基本 t5/p5.5 起步了(盲猜没谱)。
    所以楼主如果对基础知识比较扎实,对 dart 语言特征比较了解的话,还是很不错的。
    yimiaoxiehou
        2
    yimiaoxiehou  
       2022-12-05 08:28:19 +08:00
    肯定过平均了
    HuPu
        3
    HuPu  
       2022-12-05 08:55:14 +08:00
    我中游 985cs 学校 你吊打我
    polobug
        4
    polobug  
       2022-12-05 09:11:15 +08:00
    没有后端= =?? 答辩怎么说。。感觉会被 dui 。。
    Danswerme
        5
    Danswerme  
       2022-12-05 09:43:46 +08:00 div class="sep5">
    我之前学 flutter , 学了一周还在绕 dart 的鬼畜嵌套语法,你吊打我
    AoEiuV020CN
        6
    AoEiuV020CN  
       2022-12-05 09:56:17 +08:00
    平均是一周从入门到放弃,能做出东西就很好了,
    国内情况应该基本是有明确指定刚学的某种或某些编程语言再要求实现什么,不会太宽泛的要求自学,
    Donahue
        7
    Donahue  
       2022-12-05 09:56:19 +08:00
    厉害了
    hellojay
        8
    hellojay  
       2022-12-05 09:56:38 +08:00
    你已经很厉害了!
    Veneris
        9
    Veneris  
       2022-12-05 09:57:20 +08:00
    一周时间做出一个简易的 app 对于一个大四学生来说可能有些困难。Flutter 是一个移动应用开发框架,它可以让开发者使用 Dart 语言快速开发跨平台的应用。Flutter 本身并不难学,但是要想在一周内做出一个简易的 app ,您需要具备一定的编程能力和经验。如果您是一名初学者,可能需要更多的时间来学习和练习。
    whyrookie
        10
    whyrookie  
       2022-12-05 10:00:27 +08:00
    很厉害了
    foufoufm
        11
    foufoufm  
       2022-12-05 10:06:13 +08:00
    你之前的相关技术呢?
    icedx
        12
    icedx  
       2022-12-05 10:07:10 +08:00
    是大佬, 我死了
    lookStupiToForce
        13
    lookStupiToForce  
       2022-12-05 10:13:53 +08:00
    一周时间?放全国所有普通高校是 0.1%,放 985211 是 5%,就算是顶级名校也是 10%
    bigdude
        14
    bigdude  
       2022-12-05 10:31:32 +08:00
    炫耀贴,鉴定完毕
    7gugu
        15
    7gugu  
       2022-12-05 10:46:08 +08:00
    毕设可能会简单了一点,但作为课设肯定是绰绰有余了,这种就是老师瞄一眼你就知道你肯定过了那种。
    elonmask
        16
    elonmask  
       2022-12-05 10:59:09 +08:00
    凑合吧,一周时间挺长了。我曾经半天学了 kotlin ,然后晚上开始写 app ,一天半实现一个星座运势 app 请求别人付费接口,第二天晚上直接上架卖 3 快,后来挣了几百块 ,不过我多年前会 java 也开发过半年 Android ,后来忘了。
    40EaE5uJO3Xt1VVa
        17
    40EaE5uJO3Xt1VVa  
       2022-12-05 11:44:57 +08:00
    是大佬, 啊,我死了
    fyacc
        18
    fyacc  
       2022-12-05 19:11:50 +08:00 via Android
    很厉害了,我们也有个类似的结课项目,不过后端要自己写,用 erlang 写的聊天室。时间不够,做出来的也比较粗糙。
    0xFish
        19
    0xFish  
       2022-12-06 00:13:37 +08:00 via Android
    @Veneris ChatGPT
    tgwl
        20
    tgwl  
       2022-12-06 01:28:10 +08:00 via Android
    看楼主之前的帖子 15 年就已经开始在论坛发布问题了,很厉害的大佬
    netabare
        21
    netabare  
    OP
       2022-12-06 03:13:19 +08:00   1
    谢谢各位的回复和鼓励~说实话我对自己的能力挺没信心的,毕竟本身也不是理科生,平时看别人分享的很漂亮的作品也会挺自卑的(

    @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 那种),只是靠自己杂七杂八的学乱七八糟的东西还是没入门,大概还是太笨了。后来艺术没学下去转了计算机,慢慢才走上正轨的。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5590 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 06:37 PVG 14:37 LAX 23:37 JFK 02:37
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86