V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
xiaozirun
V2EX  ›  分享创造

[开源]Flutter+Gin 带来丝滑流畅的体验

  •  1
     
  •   xiaozirun · 2 天前 · 3823 次点击

    这是个记账工具,仅需要 docker 就可以部署服务器和构建 Android 安装包

    项目地址: https://github.com/ZiRunHua/LeapLedger

    体验 Android 安装包下载: https://github.com/ZiRunHua/LeapLedger-App/releases/tag/v1.0.0

    如果你觉得不够丝滑流畅,但它会是一直追求的目标

    主要介绍在 Github 上这里就发下开发心路

    心路省流版

    后端开发,当初自负选了 Flutter ,开发中途想放弃,中断了一段时间,但回想当初的热情不甘心,于是去看了两本 Flutter 书籍之后,重新捡起来,虽然没有打算做 flutter 开发的工作,但成为了一个业余的兴趣爱好,隐约感觉背后一颗庞大的知识树,还会继续探索,未来持续更新,希望得到大家的支持,别忘了点点收藏谢谢大家

    心路

    开发初心

    最初因为找不到可以导入支付宝账单的安卓记账工具,就想自己简单开发一个,只要达到“能用就行”这个标准,当时就认为不管什么技术都行,因为只要浅浅学下,所以当时就FLutterRN二选一了,是的,当初就是这么的自信,了解到FLutter的状态管理,看着像微服务加事件驱动,当时感觉还蛮不错的也和后端差不多,就决定用FLutter了,实际上还是有一定差异的,因为状态是持久存在的。开始看官方文档,跟着写几个 demo ,“哎呦,不错哦”,于是就开启了开发之路。

    ps:后来我了解到,安卓读取系统的非媒体文件属于敏感权限。作为记账工具,获取这些权限可能会导致难以在应用商城上架。不过,由于我们自己并不需要上架,因此无需过于担心这些问题。这也是自我部署使用的一个优势。

    中途放弃

    刚开始学习FLutter时,心里想着写一个自己用的 app 太棒,再弄个 window 桌面记账太好了,就感觉这事特别有意义,一点一点的就热情起来,这也推动了自己的学习动力,然后标准也提高了,要弄成开源项目,要弄成每个人都能部署服务器使用,但仅看了官方文档就开始开发,可想而知开发过程会碰到许多的问题,这些问题让开发非常缓慢,在不停的搜谷歌问 AI ,AI 时不时还胡说八道你还听不出来,当你不知道有FlutterElement树存在时,你会以为有灵异事件发生,开发的热情就这样一点一点的消减了,然后就有段时间没怎么写了。

    重新捡起来

    回想当初的热情,不愿意放弃,有种不甘心,而且已经投入了许多时间了。回过头来看标准提高了但是知识没跟上,所以决定看本书,找了亚马逊上评分靠前的 Flutter 书籍《 Flutter Cookbook 》——Simone Alessandria ,这本书很棒每节都有让你动手的机会,看完这本书后对 flutter 有了系统的认识,也在这里推荐下,还有《 Flutter 组件详解与实战》——王浩然,那之后就可以比较流畅的开发了,但还是可以感受到背后还有一个庞大的知识树,虽然没有打算做flutter开发,但是当做一个兴趣,开发过程感觉也挺满足,现在开源后如果可以得到大家的支持,我会更有动力去做。

    为什么叫 LeapLedger

    中文应该叫飞记,“飞”来自于金克丝的台词——“起飞咯”,在没有“双城之战”前,金克丝给人一种极度自由的形象,这也是现实生活中不太能达到状态,这个飞也是“飞越疯人院”的飞,也是飞跃困难的飞,所以在这里希望大家,能够了解自己,突破束缚,在更多时候做自己。

    但其实这个记账好像没事关系 哈哈

    有什么需求或建议欢迎提交issue,希望可以得到大家的支持别忘了收藏下

    35 条回复    2024-10-31 10:00:29 +08:00
    ssh
        1
    ssh  
       2 天前
    不错,如果能通过无障碍权限自动识别微信、支付宝等 APP 的支付动作就更好了。现在记账软件非常多,主要是很多时候懒得一笔一笔的手动记录。
    wjcwukong
        2
    wjcwukong  
       1 天前
    支持开源
    StoneHuLu
        3
    StoneHuLu  
       1 天前
    很好,喜欢能导入的功能,以前也想写个类似的,但是没深入研究怎么把支付宝的账单导出来用,看了下代码理解了,另外我 ios 用户,问下以后有没有可能做其他端,不是 ios 的话,出个 pc 或者 h5 也行啊
    archxm
        4
    archxm  
       1 天前
    我更喜欢单机模式
    xiaozirun
        5
    xiaozirun  
    OP
       1 天前
    @StoneHuLu ios 、mac 和 window 后面都会有的
    archxm
        6
    archxm  
       1 天前
    不过能做成这样也蛮不错的,我下载了,界面风格很喜欢,如果再加个按键震动就更好了。
    StoneHuLu
        7
    StoneHuLu  
       1 天前
    @xiaozirun #5 期待越做越好!
    xiaozirun
        8
    xiaozirun  
    OP
       1 天前
    @archxm #6 谢谢 计算器的按钮震动吗 确实可以考虑
    pangdundun996
        9
    pangdundun996  
       1 天前
    感谢,作为后端一直想学习用 flutter 写 app ,正好参考 op 的实现,已 star
    aLazarus
        10
    aLazarus  
       1 天前
    话说 Flutter 的应用,能支持系统的特性么?比如安卓的那种预见性返回
    bzj
        11
    bzj  
       1 天前
    虽然对这个 app 兴趣不大,但是很欣赏楼主分享的学习过程,最后感谢开源!
    xiaozirun
        12
    xiaozirun  
    OP
       1 天前
    @bzj 🍻
    ybz
        13
    ybz  
       1 天前
    欢迎加入 Flutter ,虽然它有 1w+个 issues ,但是它还是很厉害的:)
    ybz
        14
    ybz  
       1 天前
    哦,对了,桌面现在有一个致命硬伤,没有多窗口,官方也暂时暂停了多窗口的开发,前几天有社区的人继续开发提交了 PR ,但是我感觉离合并还很远。
    xiaozirun
        15
    xiaozirun  
    OP
       1 天前
    @ybz #14 这是我见过 issues 最多的项目,其次是 Go 9k issues ,这也代表了他们的热度,关于桌面开发,那或许等到多窗口的支持才是最佳开发时机
    guiyumin
        16
    guiyumin  
       1 天前
    @ssh 别想了,这些 app 都恨不得你留在 app 里永远别退出,还想着第三方能拿他们的数据?
    ssh
        17
    ssh  
       1 天前
    @guiyumin 建议下载一个一木记账试试
    zoharSoul
        18
    zoharSoul  
       1 天前
    这里面是用 redis 干嘛了啊
    yudoo
        19
    yudoo  
       1 天前
    @xiaozirun 已 star, 想问下楼主, 做这个需要学习 css 和 html js 之类的吗, 我想自己做个餐饮相关的自己用, 目前只会 java 后端那些, go 只看了初级
    yudoo
        21
    yudoo  
       1 天前
    @xiaozirun #5 flutter 这个不是跨平台的吗, ios 和 mac 和 windows 要重新开发吗?
    xiaozirun
        22
    xiaozirun  
    OP
       1 天前
    @yudoo #21 不需要重新开发,只需要在原有的基础上做些适配,例如涉及到系统调用的地方,安卓和 ios 的权限不是同,还有就是针对手机的竖屏和桌面的横屏,ui 部分显示要正常,也就是说要做到响应式布局,我目前了解到的就这些
    xiaozirun
        23
    xiaozirun  
    OP
       1 天前   ❤️ 1
    @yudoo #20 这这本 https://annas-archive.org/search?q=Flutter+Cookbook 2023 年出版的 不需要学 css 、html 和 js
    xiaozirun
        24
    xiaozirun  
    OP
       1 天前
    @zoharSoul 可能是后端习惯吧,开发数据库、消息队列、Redis 三件套都得有,目前这个项目中 Redis 就用来做密码错误次数的缓存和锁,后面会用来做数据库查询的旁路缓存
    xiaozirun
        25
    xiaozirun  
    OP
       1 天前
    @zoharSoul 还有账本的地区是不可编辑的,同时又会频繁查询来获取时区,也是存在 Redis 里
    yudoo
        26
    yudoo  
       1 天前
    好嘞感谢
    OliverLee
        27
    OliverLee  
       1 天前
    Flutter Cookbook 有没有翻译版呢,全英看起来有点吃力😂
    xiaozirun
        28
    xiaozirun  
    OP
       1 天前
    @OliverLee 我看得也吃力 ,我是导入微信读书全文翻译看的
    dkl1999
        29
    dkl1999  
       1 天前
    lz 厉害👍
    magic3584
        30
    magic3584  
       1 天前 via iPhone
    刚开始学新东西都这样,现在回头看我刚开始写的 flutter 代码,都是啥啊
    kakki
        31
    kakki  
       1 天前
    已 star
    tanranran
        32
    tanranran  
       1 天前
    666
    szdev
        33
    szdev  
       1 天前
    开源其实挺费心的,支持
    rekulas
        34
    rekulas  
       1 天前   ❤️ 1
    "如果你觉得不够丝滑流畅,但它会是一直追求的目标"
    咬文嚼字一下,不是我找茬只是有强迫症看到语法错误就想纠正,这里如果...但组合是不合适的,而且看起来也很怪而且后面缺少主语,稍微改改就通顺多了
    也许你仍然觉得不够丝滑流畅,但它将会是我一直追求的目标
    xiaozirun
        35
    xiaozirun  
    OP
       23 小时 9 分钟前
    @rekulas 哈哈哈 是有这个语法错误
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4803 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 01:09 · PVG 09:09 · LAX 18:09 · JFK 21:09
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.