• 请不要在回答技术问题时复制粘贴 AI 生成的内容
Windy418
V2EX  ›  程序员

独立开发 iOS App,后端用什么语言写合适?

  •  
  •   Windy418 · Jan 20, 2021 · 18481 views
    This topic created in 2112 days ago, the information mentioned may be changed or developed.
    本人 IT 萌新,目前工作是做 AutoCAD 的二次开发,基本就用的就是.NET Framework 那一套,写 C#。
    自己对 iOS App 很感兴趣,自学了 Swift,目前在看 SwiftUI,想以后自己做几个小 App 练练手。
    考虑到后期搭建服务器,自己写 CRUD,或者做做 WebAPI,不知道用哪个语言合适,之前没搞过 Web 开发。

    目前备选:
    1. C#(.NET Core):考虑是在 Mac 上开发,感觉.NET Core 的使用应该没有在 Win 上方便。而且我不太喜欢 cshtml 里面那种 html+C#混编的方式,看着好别扭。

    2. Python:需要重新学习,另外看到之前的帖子有人说 Django 用来做 App 后端比较重,不知道是不是这样。

    3. Go:需要重新学习,但是代表了后端未来的趋势?搜了下 Go 貌似最适用的场景是微服务和分布式,处理高并发,用来做 App 后端是不是有点大炮打蚊子的感觉?

    4. Ruby:很早之前想接触的一门语言,但是一直没有尝试过,ROR 是不是快过气了?

    这是我目前内心的一些想法,想大佬们帮我分析和权衡下,究竟哪种更合适一点?
    感谢大家,语言不分好坏,我个人都很喜欢。
    Supplement 1  ·  Jan 22, 2021
    真的很感谢大家的热心回复,留言我一个个都看了

    综合下大家的意见还有自己的权衡,决定就用 .NET Core 做。纯后端也不用跟 razor 界面打交道,挺好。
    C#写的也挺舒服的,打算在 Mac 下面用 VS Code 开发。

    相信语言都是相通的。先把前后端调通,原理弄透才是我现在最应该着手行动的。

    再次感谢大家!平时基本不发帖,这次收获满满,希望以后自己也能帮助他人,给予意见。
    130 replies  •  2021-01-26 00:47:52 +08:00
    1  2  
    ❮ ❯
    chinvo
    chinvo
    Jan 20, 2021 via iPhone
    1
    asp.net 你也可以不用 razor,用 api + fe 模式(官方模板有 ng 和 react
    334132462
    334132462
    Jan 21, 2021❤️2
    2
    ROR 习惯了写 api 特别快 至少增删改查你一行命令就搞定了 至于其他的逻辑也特别容易实现
    caotian
    caotian
    Jan 21, 2021
    3
    个人见解,会.net 就学.net core 为主,选修 go,python 和 ruby 忘了吧
    如果你不拿.net core 来开发 WPF,那在 Mac 上没有不方便的地方
    liKeYunKeji
    liKeYunKeji
    Jan 21, 2021 via iPhone
    4
    java 吧,如果处理性能要求不高,php 也是合适的。
    uptonking
    uptonking
    Jan 21, 2021 via iPhone
    5
    python 的 flask 框架简单轻量,fastapi 开发 rest api 特别快,python 现在很火爆,推荐选 python 系的方案
    icy37785
    icy37785
    Jan 21, 2021 via iPhone
    6
    熟悉.net 就 c#呀,性能也不错,开发也不慢。实在想用其他的就 go 呗,上手也很快,之后如果业务上去了,性能也不错。
    yunye
    yunye
    Jan 21, 2021
    7
    腾讯云开发
    holulu
    holulu
    Jan 21, 2021
    8
    serverless
    yekern
    yekern
    Jan 21, 2021
    9
    中小型 App 当然是 PHP 啊.上手速度 1 天,搞个框架 1 天 就可以开发了啊
    shenfu1991
    shenfu1991
    Jan 21, 2021 via iPhone
    10
    直接 swift,vapor 框架
    zachlhb
    zachlhb
    Jan 21, 2021 via Android
    11
    会 net 就用 core 呗,找个框架就可以开撸,推荐 furion,前端可以不用它的啊,用 vue,react 什么的都行
    shellic
    shellic
    Jan 21, 2021 via Android
    12
    没有高并发的需求当然 PHP 啊,简单写起来爽
    varzy
    varzy
    Jan 21, 2021 via iPhone
    13
    可以试试 laravel
    kekxv
    kekxv
    Jan 21, 2021 via iPhone
    14
    建议了解一下苹果开发者费用,以及相关要求
    bzshow1
    bzshow1
    Jan 21, 2021 via Android
    15
    直接 c#
    kekxv
    kekxv
    Jan 21, 2021 via iPhone
    16
    发完发现看错了,用 c#吧,现在也能跨平台了
    httplife
    httplife
    Jan 21, 2021
    17
    如果是独立的话 选 ruby, 一个人开发真的很方便
    如果是团队, python
    如果是公司, go
    idragonet
    idragonet
    Jan 21, 2021
    18
    .NET Core 不一定要 cshtml 里面那种 html+C#混编的方式。
    ForeverYoung123
    ForeverYoung123
    Jan 21, 2021
    19
    什么简单用什么
    gumang1988
    gumang1988
    Jan 21, 2021
    20
    这个人还停留在 asp.net 。。。
    Windy418
    Windy418
    OP
    Jan 21, 2021
    21
    @idragonet 我怎么看微软官方的 .NET Core 教程里面的 MVC 模式和 Razor 模式全部建的项目里面都有 cshtml 文件啊,就是类似这样的格式(@{})

    @{
    ViewData["Title"] = "Home Page";
    }
    <div class="text-center">
    <h1 class="display-4">Welcome</h1>
    <p>Learn about <a href="https://docs.microsoft.com/aspnet/core">building Web apps with ASP.NET Core</a>.</p>
    </div>

    @httplife 其实很想尝试下 Ruby,不知道学习成本高不高
    Leonard
    Leonard
    Jan 21, 2021
    22
    直接用 swift 写吧
    Removable
    Removable
    Jan 21, 2021
    23
    @qtoq126 #20 可以用 webapi 啊,然后前端自己弄
    pigzzz
    pigzzz
    Jan 21, 2021
    24
    php
    itfanr
    itfanr
    Jan 21, 2021
    25
    go 吧
    httplife
    httplife
    Jan 21, 2021
    26
    @qtoq126 个人认为学习成本不高, 我是从 ruby 基本语法 > ruby koans > Rails > Sinatra, CURD api 都很好用...另外, ruby 可以用多种方法做同样的事, 所以需要了解一下这方面, 还有最好有阅读别人代码的习惯
    hyqCrystal
    hyqCrystal
    Jan 21, 2021
    27
    当然是 java 啊 springboot 效率高
    MakHoCheung
    MakHoCheung
    Jan 21, 2021❤️1
    28
    swift vapor
    CodeCodeStudy
    CodeCodeStudy
    Jan 21, 2021
    29
    既然是独立开发,那么肯定要选容易入门的语言,首选 PHP,次选 Node.js 。
    waltcow
    waltcow
    Jan 21, 2021
    30
    java jhipster
    rockddd
    rockddd
    Jan 21, 2021
    31
    自己玩你看看什么好学学什么,如果说微服务和分布式 java 肯定目前最完善。
    ghouleztt
    ghouleztt
    Jan 21, 2021
    32
    Ruby 没落了
    kop1989
    kop1989
    Jan 21, 2021
    33
    直接 C#(.net )就可以了。
    web 容器用 IIS 。
    IOS app 用 http 接口链接 .net 的一般处理程序(.ashx)》业务层》数据链路层》数据库。
    bbsabc2
    bbsabc2
    Jan 21, 2021
    34
    @qtoq126

    你看的 MVC 模式和 Razor 模式 都是 b-s 模式的开发方式,你要开发是的 app,只需要用到 mvc 里面的 m 和 c,也就是 c#里面的 webapi,不需要了解 cshtml 这种语法。
    XIVN1987
    XIVN1987
    Jan 21, 2021
    35
    楼主是不是忘了说 JS 了,,没有 JS 怎么搞 Web 开发啊??

    C#、Swift 、JS,,楼主确定还想再学一门?

    不如把现有的先学熟练点儿、深入点儿,,免得各个都蜻蜓点水,,毕竟后端什么语言都能搞,没有任何限制
    lostpupil
    lostpupil
    Jan 21, 2021
    36
    用 NodeJs 吧,指不定以后你要用电别的混合编程写 App 。Js 就顺便学了吧。
    App 上架要 弄个官网也方便。
    其他几个基本上都没有很适合你的。
    Ruby Orm 好用。其他几个 Orm 一般般。
    kiracyan
    kiracyan
    Jan 21, 2021
    37
    @qtoq126 自带有 react 还可以安装 vue 这些模板的 而且你直接用 WebApi 都不用管前端
    Inozo
    Inozo
    Jan 21, 2021
    38
    node 或者 go 很香
    urlk
    urlk
    Jan 21, 2021
    39
    php
    nash
    nash
    Jan 21, 2021
    40
    我 PHP 没有被提的资格?
    qzhai
    qzhai
    Jan 21, 2021
    41
    php 没落了吗 (狗头)
    C603H6r18Q1mSP9N
    C603H6r18Q1mSP9N
    Jan 21, 2021
    42
    php + fastadmin,后台、接口都基本写好了,你直接照葫芦画瓢就行了
    Junjunya
    Junjunya
    Jan 21, 2021
    43
    个人独立 当然推荐用 PHP 了, 学习简单,开发效率高, 改起来快。

    如果非在备选里面选的话,那就推荐 GO 一步到位
    jonsnow93
    jonsnow93
    Jan 21, 2021
    44
    如果是需要快速出结果且不用学习新语言的话,直接上 serverless,国内好像 leancloud 做的还行
    FlexGap
    FlexGap
    Jan 21, 2021
    45
    建议 GO,一步到胃。
    nutting
    nutting
    Jan 21, 2021
    46
    你都没学过,那还是 java 吧,springboot,资料多,找一个改改就行了,成熟,虽然 java 写起来有点繁琐
    dog82
    dog82
    Jan 21, 2021
    47
    老实就用 java + spring,用 Go 也不错
    stach
    stach
    Jan 21, 2021
    48
    Ruby 国内用的少, 不考虑;
    C# 是 Windows 家的, 你用 mac 开发就不考虑了;
    Go 和 Python 完全符合你的需求;
    Python 比 Go 更合适.


    Go 比较适合做分布式项目, 高并发的项目, 基础架构等
    Python 适合快速迭代的项目, 快速验证想法, 对于 Web api 这种 io 密集型业务, 性能影响不大.
    一个人开发, 还是 Python 更舒服, 包袱最少.
    如果选择 Python, 推荐使用 Flask 框架, 部署采用 Gunicorn gevent 部署.
    如果选择 Go, 推荐使用 Gin 框架, 部署无需其他工具.


    建议你可以写一个 hello world, 再考虑自己真的想用哪种语言, 以上只是建议.
    mercurylanded
    mercurylanded
    Jan 21, 2021
    49
    建议你后端直接上个 baas leancloud 或者 apicloud 这种
    x940727
    x940727
    Jan 21, 2021
    50
    @waltcow 墙裂不推荐。太过重量级了,自己研究一下差不多..
    xmitman
    xmitman
    Jan 21, 2021
    51
    用 PHP 毫无疑问
    crist
    crist
    Jan 21, 2021
    52
    PHP 已经彻底被 LZ 无视,看来 PHP 彻底慌了,PHPer 都回家洗洗睡吧(逃~~
    kkzxak47
    kkzxak47
    Jan 21, 2021
    53
    Python flask 和 Go gin-gonic/gin 上手应该都比较快,而 Python 可能更合适,省时省力。
    debuggerx
    debuggerx
    Jan 21, 2021
    54
    我站 py 。作为前端转全栈,用过各种后端语言,推荐入门后端的上手的顺位为 python>node>go>java>C#>ruby>php>swift,但是考虑市场和实际找工作,值得长期投入深钻的肯定就不是这个顺序了
    yuancoder
    yuancoder
    Jan 21, 2021
    55
    5. php

    看你需求 php 比较合适,学习成本低,主流,python 也是一个不错的选择,python 对比 php 学习成本会稍微高点,但是能做的事情更多。
    janxin
    janxin
    Jan 21, 2021
    56
    你不是会 C#吗...NetCore 5.0 直接撸? html+C#混编是你的错觉,你也可以搭配 SPA 开发

    Swift 也可以做后端开发,看你对语言有没有需求
    lifetimeporn
    lifetimeporn
    Jan 21, 2021 via iPhone
    57
    你单纯后端提供 api 的话可以 python 的 fastapi 框架
    tydl
    tydl
    Jan 21, 2021
    58
    强烈推荐 PHP,一周上手。
    Marszm
    Marszm
    Jan 21, 2021
    59
    从上看到下....就没人推荐 nodejs...express,koa 么...我觉得熟悉 js 的话写起来还是挺方便的.重点是要会 ES6 语法.
    Marszm
    Marszm
    Jan 21, 2021
    60
    我最近也在学习相关开发知识...老哥共勉.
    ben1024
    ben1024
    Jan 21, 2021
    61
    要不试试 PHP ?

    备选就 ROR
    Rekkles
    Rekkles
    Jan 21, 2021
    62
    个人用除了 PHP or ROR 其他没得选
    miv
    miv
    Jan 21, 2021 via iPhone
    63
    PHP:爱你的女孩
    推荐 php,不管别人怎么说,php 是最有性价比的
    mmdsun
    mmdsun
    Jan 21, 2021 via Android
    64
    C# 够了。解决方案比较成熟。

    例如:Xamrin

    还有 MAUI,Uno platform
    mmdsun
    mmdsun
    Jan 21, 2021 via Android
    65
    @mmdsun 不好意思看错了。后端推荐 spring boot
    chloerei
    chloerei
    Jan 21, 2021 via iPhone
    66
    Ruby on Rails 依然是开发效率最高的 Web 框架。

    Web 开发一大优势是可以用任意自己喜欢的语言不用考虑别人看法。
    nicevar
    nicevar
    Jan 21, 2021
    67
    多年独立开发,java/php/go/python 都用过,个人觉得还是 php 最方便
    i4oolish
    i4oolish
    Jan 21, 2021
    68
    nodejs
    Bazingal
    Bazingal
    Jan 21, 2021 via Android
    69
    看了楼主的回复,应该还是初级水平吧,这种就什么技术熟悉用什么吧,visual studio for mac 或者 vscode,用.net core 开发 webapi 提供接口,如果后端还需要管理界面,就用 jquery 或者三大前端框架选一个写,同样是调用 webapi
    Bruin
    Bruin
    Jan 21, 2021
    70
    自己会的语言
    pipasese
    pipasese
    Jan 21, 2021
    71
    Java,虽然啰嗦,但是生态成熟,搞不下去了也适合找工作- -
    djyde
    djyde
    Jan 21, 2021
    72
    头像违规了
    meathill
    meathill
    Jan 21, 2021
    73
    用 serverless 方案,推荐 leancloud.cn 。如果非要自己写,我推荐 PHP 。
    beyondex
    beyondex
    Jan 21, 2021
    74
    .NET Core 写起来飞快,IDE 可以用 Rider 做 .NET 开发堪比 VS,不过付费的可以试用 30 天。
    只要 API 不用 Razor 就不涉及到 cshtml 了。
    viaNull
    viaNull
    Jan 21, 2021
    75
    一个人的话,Ruby 吧。ROR 是真的舒服
    Removable
    Removable
    Jan 21, 2021
    76
    @stach #45 老哥,C#用 mac 开发不考虑这种想法,应该抛弃了,.NET 5 都出来了!更别说.net core 都多久了
    back0893
    back0893
    Jan 21, 2021
    77
    php 也行啊
    imgbed
    imgbed
    Jan 21, 2021
    78
    serverless
    lancelock
    lancelock
    Jan 21, 2021
    79
    1. mac 平台开发.net core 非常完美,不存在没有 win 方便
    2. razor 之类的是用来后端渲染页面的,你已经有 ios 的前端了,怎么会还需要 razor 之类的呢?直接写 api 就行了,不需要任何 html 相关的内容
    3. 无论是语法、性能、开发体验,.net core 都是非常优秀的,再额外去学 python 、ruby 、go 之流来开发 web,那叫买椟还珠
    liian2019
    liian2019
    Jan 21, 2021
    80
    @holulu 你这。。。
    liian2019
    liian2019
    Jan 21, 2021
    81
    @holulu 抱歉抱歉看错了 睡了一觉不清醒 看成了 service mesh
    vultr
    vultr
    Jan 21, 2021
    82
    用 go 吧, 可以参考这个项目: https://github.com/webpkg/api

    代码很简单,没有过多的外部引用,看一下,基本就可以开工了。
    zhennann
    zhennann
    Jan 21, 2021
    83
    后端除了学习语言,还要学习基础框架,在学了基础框架之后,还要考虑一堆业务系统如何开发,比如:用户注册与登录、权限系统、数据管理、工作流、等等。
    所以,强烈建议用 CabloyJS 全栈框架。虽然是全栈,但前后端分离,后端完整的业务系统开箱即用,可以完美配合任何前端 app 的开发
    bsg1992
    bsg1992
    Jan 21, 2021
    84
    当然首选 c#
    Python 不用考虑
    go 只适合写中间件 不适应来写业务逻辑
    ruby 就算了吧
    BurnThem
    BurnThem
    Jan 21, 2021
    85
    it 萌新就选装逼的语言写就行了,反正效率和性能,都不是咱该考虑的。
    BernieDu
    BernieDu
    Jan 21, 2021
    86
    Parse 、CloudKit 、Filrebase 。 CloudKit 是 apple 自家的。楼主开发 ios 可以直接调用 api 。而且用户少免费调用,用户多也可能免费调用
    Thiece
    Thiece
    Jan 21, 2021
    87
    项目怎么快上线怎么来,还是那句话 业务进度 > 代码质量
    RRRoger
    RRRoger
    Jan 21, 2021
    88
    Flask or Django
    lonelymarried
    lonelymarried
    Jan 21, 2021
    89
    node 写 api 快
    ETO
    ETO
    Jan 21, 2021
    90
    @yunye 腾讯的云开发,好像只能用小程序吧?
    henryhu
    henryhu
    Jan 21, 2021
    91
    AutoCAD 二次开发我也在做,遇到同行了。后端用 node,会 js,上手快
    DanielYao
    DanielYao
    Jan 21, 2021❤️2
    92
    不明白楼主为什么要换其他语言写后端?
    .net core 不香吗?还是 C# 语法不优雅? webApi 开发出来性能不好?
    我司.net core 后端 几十万用户,跑的稳稳的,docker +k8s
    ArJun
    ArJun
    Jan 21, 2021
    93
    看需求,简单的 crud 区别都不大的
    hslx111
    hslx111
    Jan 21, 2021
    94
    比较简单的后端,可以试试 Node 或者 Swift
    rayliao
    rayliao
    Jan 21, 2021
    95
    @ETO 都可以用,有 http 请求访问。
    rayliao
    rayliao
    Jan 21, 2021
    96
    独立开发,只是 iOS 的,是不是 core data 就可以
    keien
    keien
    Jan 21, 2021
    97
    deno
    rico2logout
    rico2logout
    Jan 21, 2021
    98
    作为 iOS 从业者表示,swift 也可以做后端语言,但是不建议,(半利益相关)入坑过 Perfect,参与过一些文档维护汉化,用过一下 go,我也只会写写接口,还挺方便的,感觉还不错
    ligiggy
    ligiggy
    Jan 21, 2021
    99
    @djyde 一页评论看下来,就关注到了你
    360511404
    360511404
    Jan 21, 2021
    100
    Apple 平台,当然是 CloudKit 了
    1  2  
    ❮ ❯
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   3860 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 213ms · UTC 01:01 · PVG 09:01 · LAX 17:01 · JFK 20:01
    ♥ Do have faith in what you're doing.