学了 Flutter 后做项目练手,结果发现我掉坑里了 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
xinxing260
V2EX    推广

学了 Flutter 后做项目练手,结果发现我掉坑里了

  •  
  •   xinxing260 2020-05-14 17:01:31 +08:00 5766 次点击
    这是一个创建于 2034 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我是一位 iOS 开发者,看到 Flutter 这个高性能的跨平台 UI 开发框架越来越火,就上手学了起来。结果发现越写越喜欢,iOS 不想写了,RN 也不香了,于是决定用 Flutter 撸一个支持多端的个人项目,没想到这是掉坑的开始。

    这个项目的名字叫做“购房计算器”,由于之前买二手房不清楚购房费用明细,被坑了一把,所以决定做一个项目让普通购房者也能清楚的知道自己每一分钱都花在了哪里。由于每个城市的政策和费用都有差异,所以一开始只考虑支持长沙。

    Flutter 写起来是真的顺手,几天就撸了一个出来。撸出来了之后总觉得缺少什么,想来想去还得搞个后台,听说 Go 也是 Google 出的,性能也好,就用 Go 吧,又花了几天把后台接口也撸出来了,主要支持用户对购房计算结果的收藏管理。

    接口接入项目后,又觉得功能太简单了,只支持常规的计算,像什么非住宅、公司购买、公司出售、土地增值税、法拍房等等都不支持啊。这时发现我已经花了不少时间了,但是这个坑还是咬着牙跳下去了。

    我上网搜索资料,但是各个资料说法都有差异,不知道谁说的才对。没办法,我只好装作买房用户去咨询中介,但是中介也没有这么全面专业的(我暗暗发誓,以后做个人项目一定要避免切入自己不熟悉的非技术领域),最终在问了 N 个中介后去不动产交易中心搞清楚了税费的计算规则。

    终于把长沙的功能做全了,乐滋滋的学习了 docker 把项目部署到了云服务器上。在发布前,突然在知乎上刷到了一个问答:面向对象编程的弊端是什么,里面以一段文字让我陷入了沉思:

    再比如,传说中的面向对象本该大显神威的游戏领域就说流行的 WOW 吧。 这个游戏有 10 个职业,10 个种族,每个种族都有自己的几个特有种族天赋(这个种族天赋还可能根据职业有所不同,比如血精灵);每个职业有几十甚至上百种不同的技能 /法术,这些技能有近战技能,有远程技能;有的技能会对敌方造成伤害或不良状态,有的技能能给己方队友加上好的状态或治疗队友;而且很多这类技能还会根据目标的状态切换不同的效果;有些技能是单体效果,有些技能是光环效果... 

    别人游戏这么复杂都能搞定。 但是我这个只支持一个城市估计没什么人用把?于是果断的对客户端和后端都进行了重构,没想到 Flutter 还有词法分析框架,又乐滋滋的把项目重构了一遍,只要给我规则,火星上的房产转让我也要能算!

    重构完了之后我发现我是真的掉坑里了。 我默默的掏出手机打开了房地产软件,重新开始了伪装成买家一个中介一个中介咨询的流程,最终支持了深圳的费用计算。

    其中还有很多坑就不一一诉说了,太长了估计大家也懒得看。此项目现在已经上架 AppStore 和酷安,希望能给购房的人一点帮助,求轻喷,求下载。

    项目地址: http://qiniu.devlxx.com/index.html

    housetool_input housetool_res

    36 条回复    2020-05-15 10:28:51 +08:00
    guolaopi
        1
    guolaopi  
       2020-05-14 17:06:08 +08:00
    建议挪到推广节点
    hst001
        2
    hst001  
       2020-05-14 17:07:30 +08:00   7
    想到一个 idea 只花了 0.3 秒,3 个小时规划一下核心功能,核心功能(超级无敌简单但是实际上没法给人用的) 3 天完成,至 1.0.0 大致可用版本用了 300 天,这就是现代产品的开发路径。
    chanlk
        3
    chanlk  
       2020-05-14 17:07:49 +08:00   2
    重新定义了掉坑
    encro
        4
    encro  
       2020-05-14 17:08:33 +08:00   1
    哎呀,这个是不是可以卖用户信息。。。
    hhhsuan
        5
    hhhsuan  
       2020-05-14 17:10:18 +08:00 via Android
    Flutter 迟早要被苹果封杀
    murmur
        6
    murmur  
       2020-05-14 17:10:35 +08:00
    明明是小程序可以搞定的东西,你让我下 app,这推广推不动啊
    putaozhenhaochi
        7
    putaozhenhaochi  
       2020-05-14 17:11:11 +08:00 via Android
    你这都是业务上的坑。跟 Flutter 半毛钱关系没有啊。

    这么多数据,作为个人开发者,大佬还是厉害。
    xinxing260
        8
    xinxing260  
    OP
       2020-05-14 17:32:21 +08:00
    @murmur 是的,所以我说掉坑里了
    xinxing260
        9
    xinxing260  
    OP
       2020-05-14 17:32:49 +08:00
    @putaozhenhaochi 我一直都说 Flutter 好用顺手,是其它地方掉的坑
    xinxing260
        10
    xinxing260  
    OP
       2020-05-14 17:33:14 +08:00
    @guolaopi 过了时间,挪不了了~
    ffLoveJava
        11
    ffLoveJava  
       2020-05-14 17:34:39 +08:00   4
    你真是标题党, 你业务上都坑,你扯框架干什么?
    你这个标题 就是 Flutter 把你坑了 ,你怎么不去 UC ?
    LG3xFA6kpn88HxEW
        12
    LG3xFA6kpn88HxEW  
       2020-05-14 17:45:50 +08:00   2
    标题杀我,赞我等于踩楼主
    whileFalse
        13
    whileFalse  
       2020-05-14 17:48:14 +08:00
    所以其实并没有坑,就是 Flutter 爽到不行
    Vegetable
        14
    Vegetable  
       2020-05-14 17:48:52 +08:00
    其实楼主想说 flutter 太爽以至于又很多精力关注业务。
    lancelock
        15
    lancelock  
       2020-05-14 17:51:37 +08:00
    flutter 不还得看原生吗,我倒觉得 swiftui 挺爽的,咋没什么人用
    iamben
        16
    iamben  
       2020-05-14 18:00:49 +08:00 via iPhone
    厉害!手动点个赞!
    damingxing
        17
    damingxing  
       2020-05-14 18:03:47 +08:00
    “没办法,我只好装作买房用户去咨询中介”

    就凭楼主这一句话,你已经超过 99%的程序员了。
    xinxing260
        18
    xinxing260  
    OP
       2020-05-14 18:08:01 +08:00
    @lancelock 不支持低版本是硬伤,用的人少代表前期学习成本和趟坑的成本也高。 另外“iOS 没有人要了”,很多人把精力分配在了跨平台上。
    patsoncy
        19
    patsoncy  
       2020-05-14 18:11:43 +08:00
    yulang
        20
    yulang  
       2020-05-14 18:12:21 +08:00
    这不是我想要的坑哈哈哈
    herozzm
        21
    herozzm  
       2020-05-14 18:16:34 +08:00 via Android
    其实你是想推广 app 来的 废话那么多 假大空
    azoon
        22
    azoon  
       2020-05-14 18:17:52 +08:00
    点进来发现原来是我掉坑里了。
    coolmenu
        23
    coolmenu  
       2020-05-14 18:18:31 +08:00
    这个做成 app 。。。用 ionic 包装一下,其实主要就是后台计算吧? flutter 做这个也看不出什么东西呀
    sardine
        24
    sardine  
       2020-05-14 18:21:14 +08:00
    老兄标题党啊,我也掉坑里了
    40EaE5uJO3Xt1VVa
        25
    40EaE5uJO3Xt1VVa  
       2020-05-14 20:04:30 +08:00
    你成功的浪费了我人生中宝贵的五分钟
    qsmd42
        26
    qsmd42  
       2020-05-14 20:05:47 +08:00 via iPhone
    标题党推广 吐了
    izzy27
        27
    izzy27  
       2020-05-14 21:32:55 +08:00
    哈哈哈哈哈哈
    IGJacklove
        28
    IGJacklove  
       2020-05-14 21:50:27 +08:00
    老哥代码开源吗?纯学习目的想学习一下,最近也在学 flutter
    lancelock
        29
    lancelock  
       2020-05-15 00:05:39 +08:00 via iPhone
    @xinxing260 拉倒吧,跨平台意味着三平台
    loginbygoogle
        30
    loginbygoogle  
       2020-05-15 01:17:18 +08:00 via iPhone
    @hhhsuan 你迟早会被裁员
    levelworm
        31
    levelworm  
       2020-05-15 03:12:08 +08:00 via Android
    不错不错广告不错
    fescover
        32
    fescover  
       2020-05-15 03:44:42 +08:00 via Android
    还是喜欢 RN
    laminux29
        33
    laminux29  
       2020-05-15 04:13:58 +08:00
    这玩意就是 excel 的事情,你做成 app 其实并不方便。

    而且,这玩意最重要的是,每个地方都不同,而且很多地方每隔两三年就有大的变动,你这 app 岂不是要天天更新。
    xinxing260
        34
    xinxing260  
    OP
       2020-05-15 10:09:25 +08:00
    @laminux29 不可能让普通购房者搞个这样的 excel 来算。 另外更新问题不存在,我只要服务端下发配置更新计算公式就可以了。
    xinxing260
        35
    xinxing260  
    OP
       2020-05-15 10:10:25 +08:00
    @lancelock 不管是三平台还是 N 平台,最终还是看效率的。
    xinxing260
        36
    xinxing260  
    OP
       2020-05-15 10:28:51 +08:00
    @herozzm 不好意思,第一次发帖,确实是想推广,管理员已经帮我把帖子移到推广节点了。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     922 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 40ms UTC 22:36 PVG 06:36 LAX 14:36 JFK 17:36
    Do have faith in what you're doing.
    ubao msn 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