V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
dcrdw
V2EX  ›  Android

如何去学习和了解后端开发流程呢?

  •  
  •   dcrdw · 2 天前 · 2768 次点击

    学了 flutter 一段时间,开发过几个不用后端服务器的 APP ,最近打算做一个 AI 聊天软件,会涉及到用户注册之类需要链接后端的功能。 但是自己完全没接触过后端,软件开发出来主要作用在兴趣爱好上面,所以不打算去学习太麻烦的后端语言,奔着简单够用以及学习周期短就好,大家有什么推荐的语言吗? 目前打算去学习一下 python 的 fastapi 以及一些比较基础的 mysql 知识,但是自己也不大清楚学这两种是否够用,以及涉及到后端的具体开发代码也不清楚应该怎么编写,请问大家有什么推荐的教程吗?

    42 条回复    2024-12-31 19:05:58 +08:00
    whh945atsyzx
        1
    whh945atsyzx  
       2 天前
    求教怎么做不用后端服务器的 APP ,数据全部存在客户端吗?不用分包啥的,下载的时候就把所有的数据打包进来?
    cheng6563
        2
    cheng6563  
       2 天前   ❤️ 5
    学一下 SQL ,别抗拒这玩意。
    后端就是写 API ,然后把收到的数据弄成 SQL 读写数据库完事,虽然有很多号称不用写 SQL 的,ORM 框架,但不会 SQL 的话还是非常容易受苦。

    你写 App 用啥语言,后端用同样语言容易上手。
    yoiteshaw
        3
    yoiteshaw  
       2 天前
    @cheng6563 我表示认同,前后分离的,我的理解就是涉及到数据库才能有前后分离的说法,否则一体化更得劲。
    mahaoqu
        4
    mahaoqu  
       2 天前
    FaaS 最简单(
    isSamle
        5
    isSamle  
       2 天前 via Android
    @whh945atsyzx Flutter 可以用本地数据库,有 sqlite
    isSamle
        6
    isSamle  
       2 天前 via Android
    首推 Django
    chesha1
        7
    chesha1  
       2 天前   ❤️ 1
    学 js/ts 吧,对于个人开发者,用 serverless 服务做后端是最好的,现在各个 serverless 对 python 支持的都不够好

    框架用 trpc/hono/express/nestjs ,orm 用 drizzle/prisma
    dukefightlife
        8
    dukefightlife  
       2 天前
    dart+sqlite
    rxswift
        9
    rxswift  
       2 天前
    dart 也有后端的库好像,不过 fastapi 也不错
    wangtian2020
        10
    wangtian2020  
       2 天前   ❤️ 1
    学 JavaScript 可以前后端一种语言一把梭。来学一下后端最速 helloworld 的语言——nodejs ,技术成熟 GPT 收录的需求多你这种想法用不了几天就搞定了
    kylebing
        11
    kylebing  
       2 天前
    nodejs 就行,express.js
    visper
        12
    visper  
       2 天前
    ai 生成工程,然后叫他写功能,叫他解释代码。
    skallz
        13
    skallz  
       2 天前   ❤️ 1
    个人觉得后端入门超简单,不管任何语言,任何框架,首先学会如何写一个 post 请求,然后对某个数据怎么进行增删改查,你就已经可以写一个微型系统了,并发分布式数据库设计什么的都不需要管,基本没什么量
    DosLee
        14
    DosLee  
       2 天前
    @yoiteshaw 所以你认为 授权,认证,这些信息的判断、业务的逻辑处理都可以在前端进行,你觉得这样破解起来是不是超简单
    archxm
        15
    archxm  
       2 天前
    去问 AI 就行了
    flytsuki
        16
    flytsuki  
       2 天前
    sql 是一定要学的,express 可以很快写一个 api
    yoiteshaw
        17
    yoiteshaw  
       2 天前 via iPhone
    @DosLee 我对这块认知不深 我理解你提到的这些因为涉及到和数据库交互了所以需要后端来支持? 我觉得如果是没有数据库一个类似本地的小工具,前后端可以没有分离的必要。
    iOCZS
        18
    iOCZS  
       2 天前
    没啥用户的时候裸架构就够了
    amlee
        19
    amlee  
       2 天前   ❤️ 2
    https://roadmap.sh/backend

    看这个就够了
    skallz
        20
    skallz  
       2 天前
    @yoiteshaw 现在基本不太可能有这种应用,就算是纯单机应用,也是要接账号和广告的,不然为爱发电连开发者上架费用都赚不回来
    yoiteshaw
        21
    yoiteshaw  
       2 天前 via iPhone
    @skallz 这么说的话好像是那么一回事,我再请教一个问题,现目前桌面端的本地的简单应用如果按你的说法是前后端分离的,那么是不是本地后端除了返回前端数据,还需要和服务器通信之类的?还是说目前看到的都只是个前端,只有一个后端在远程服务器上,谢谢
    yoiteshaw
        22
    yoiteshaw  
       2 天前 via iPhone
    @amlee 你们都是上哪找到这种东西的 也太好用了吧
    skallz
        23
    skallz  
       2 天前
    @yoiteshaw 很少听说本地后端的说法,一般是统称客户端,后端指的是服务端,具体做什么,做多少东西,看具体应用,有些服务端可能就仅仅只做了账号和用户数据的同步
    kiracyan
        24
    kiracyan  
       2 天前   ❤️ 1
    后端就是数据的处理,数据流、工作流、业务流搞清楚就简单了。
    HALOZ
        25
    HALOZ  
       2 天前   ❤️ 1
    用 Cursor 的 composer 功能就可以了,记得用 agent 方式,不是非常复杂的功能,基本上都可以给你搞定了。你只需要输入你想要的功能,这家伙会自动帮你把文件、代码都写好。我也是这样把前后端都搞定的。
    ChristopherWu
        26
    ChristopherWu  
       2 天前
    哥, 你不都准备写 AI 软件了嘛

    写个后端, 直接问 AI 不就好了? 有一定编程经验, 磕磕绊绊都能写出来
    yoiteshaw
        27
    yoiteshaw  
       2 天前 via iPhone
    谢谢 我对这块处于新手模式 感谢你的科普
    yoiteshaw
        28
    yoiteshaw  
       2 天前 via iPhone
    @skallz 谢谢 我对这块处于新手模式 感谢你的科普
    w775495797
        29
    w775495797  
       2 天前   ❤️ 1
    看你应用了,fastApi 再加上 mysql 照理说基本是够用的,做一个这种应用只能说是练手玩,想做好了,可能就不太够用了
    74123gzy
        30
    74123gzy  
       2 天前
    express+mysql
    DosLee
        31
    DosLee  
       2 天前
    @yoiteshaw #21 看具体是什么应用了,如果是一些工具类的,算法或是逻辑都是固定的,那前后端是一起打成了一个应用包。如果是需要联网获取数据的,是桌面端应用通过 http 接口请求后端,后端处理完成后返回给桌面端。

    简单一点说,前端一般都是展示数据和页面的。后端是记录以及处理相关数据和逻辑的。

    “逻辑”就像双十一活动怎么给用户送券,什么条件下可以领,什么条件下不具备领取条件。

    “数据”是在数据库中记录某一个用户是否领券。

    不知道这么说你是否能理解。如果是前后端在一起,都在桌面的话,只要反编译或逆向改一下逻辑就可以无限领券了,web 页面同理,所以一般逻辑处理和数据等敏感的东西都会放到后端。
    yoiteshaw
        32
    yoiteshaw  
       2 天前 via iPhone
    @DosLee 感谢耐心回复,所以我理解如果是离线应用,比如截图工具,画图软件,计算器等,前后端分离意义不大,逻辑可以放哪都行。

    但是如果涉及到数据持久化,就最好前后端分离,要有数据库。然后通常本地扮演一个客户端的前端,远程后台扮演数据库的以及复杂逻辑的后端。

    是这样吗
    DosLee
        33
    DosLee  
       2 天前
    @yoiteshaw #32 是的,没有敏感数据的话,直接在客户端计算就可以。比如你说的这些没必要设计成前后端的。
    ztw1002
        34
    ztw1002  
       2 天前
    考虑下是否可以用 Expo ?快速生成 Next.js 项目,要用到 TS ,React ,SQL ,可能还有第三方库和技术之类的?
    yagamil
        35
    yagamil  
       2 天前
    js - 就推荐 node.js 了,express
    WDATM33
        36
    WDATM33  
       2 天前   ❤️ 1
    后端自己用的服务不用了解太多技术点,会基础的写增删改查的接口就行,最终目的是操作数据库。这些都不是难点,真正的难点是业务逻辑,你学的后端技术都是为了服务写业务逻辑的。比如写一个账户销户接口,你要考虑这个账户的余额要不要退款等处理,用什么办法处理,如果这人还有待发放的补助要怎么操作,其他相关的权限比如门禁权限要不要删除,流程中要不要调用第三方接口处理数据,如果第三方接口响应异常但是这边已经进行了写表操作要不要回滚等等,技术是帮你写业务,但是业务这块得你自己想,这才是最难的
    linuxsuren
        37
    linuxsuren  
       2 天前
    欢迎参与我发起的这个开源项目 https://github.com/LinuxSuRen/api-testing ,前后端、桌面都有
    dcrdw
        38
    dcrdw  
    OP
       2 天前
    @WDATM33
    谢谢提醒,业务这部分是我一直没怎么注意过的东西,你说了一遍后清楚多了
    EscYezi
        39
    EscYezi  
       1 天前 via Android
    要说入门简单的话用 go 最简单了,标准库就能把 demo 搞出来,不需要学一大堆外围的什么框架之类的,语法和工具链也容易上手。
    AoEiuV020JP
        40
    AoEiuV020JP  
       1 天前
    安卓到 flutter ,你有动态语言的经验吗,python 和 js 这种可能会和你以前熟悉的编程语言差异太大,
    dcrdw
        41
    dcrdw  
    OP
       1 天前
    @AoEiuV020JP 有一些 python 的基础,想着学习起来会简单一些
    dcrdw
        42
    dcrdw  
    OP
       1 天前
    @HALOZ 完全不懂的情况下容易被 AI 牵着鼻子走,还是打算自己学习一些硬知识
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2738 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 11:07 · PVG 19:07 · LAX 03:07 · JFK 06:07
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.