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

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

  •  
  •   qtoq126 · 270 天前 · 10278 次点击
    这是一个创建于 270 天前的主题,其中的信息可能已经有所发展或是发生改变。
    本人 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 是不是快过气了?

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

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

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

    再次感谢大家!平时基本不发帖,这次收获满满,希望以后自己也能帮助他人,给予意见。
    130 条回复    2021-01-26 00:47:52 +08:00
    1  2  
    360511404
        101
    360511404   269 天前
    Apple 平台,当然是 CloudKit 了,免费,性能好
    wh1012023498
        102
    wh1012023498   269 天前
    用啥语言都可以。如果需要快速迭代,找个团队认可的开发效率高的语言即可。
    当然,开发效率取决于人,而非语言。
    leeda
        103
    leeda   269 天前
    建议 PHP,可以使用 Laravel 框架,方便快速迭代且学习成本低。
    dioxide
        104
    dioxide   269 天前
    php, 短平快
    dengshen
        105
    dengshen   269 天前 via iPhone
    当然是 js 啦。能用 js 实现的最终都会用 js 实现
    cyjme
        106
    cyjme   269 天前
    推荐 go,写 api 接口也挺方便的,觉得效率低的话,可以写一些小工具提高效率。

    以前写了个工具,专门用来做一些简单的接口。一个命令生成 增删该查的接口和文档。
    比如:gen add api --model article --fields title:string,content:string,userId:int

    可以参考下: https://github.com/cyjme/gen

    ![image]( https://raw.githubusercontent.com/cyjme/gen/master/gen-demo.gif?raw=true)
    love
        107
    love   269 天前
    作为用过 java/php/python/nodejs 写过大量后端的表示 nodejs 最香写起来最舒心,且如果前端是 web 就香到极点了,当然代码量大于 1000 行的项目建议用 typescript
    kerro1990
        108
    kerro1990   269 天前 via iPhone
    C# 还是非常强悍的
    xcstream
        109
    xcstream   269 天前
    node 或者 python 最简单
    wdhwg001
        110
    wdhwg001   269 天前 via iPhone
    用下来的感觉的话,确实 Python 是最方便的,FastAPI 够用而且好用,缺点是一些基础工作涉及底层的话需要对 ASGI 有点了解,比如它没有一个 PHP 式的 Session 支持,还有路由匹配是遍历,没有树优化。

    我的建议是即使不要过早优化,也不要去选择性能过低的框架(对,点名 Laravel 、RoR 和 Flask ),同时如果写着费力的话换一个可能比抓着旧工具更实际。

    同时你也稍微考虑一下扩张需求,总有一天你需要找人帮你写一部分代码,那时候如果你招聘要求太古怪是不好招人的,所以一些招聘网站上搜不到的框架尽量还是先回避。
    Rorysky
        111
    Rorysky   269 天前
    swift
    nerocc
        112
    nerocc   269 天前 via Android
    @stach 你是多少年没用过 C#/.NET ,早就开源并且跨平台了。
    OldPanda
        113
    OldPanda   269 天前
    可以考虑 AWS Lambda,他们支持包括 C# 在内的多种语言,你可以去他们的[文档]( https://aws.amazon.com/lambda/features/)了解一下。

    搭建后台的话可以用 API Gateway + Lambda,完全不用自己维护服务器,上手也很方便,流量小的话,每个月几乎不用花钱,我之前写了篇[短文]( https://old-panda.com/2020/03/02/lambda-api-gateway-note/)介绍如何用 API Gateway 和 Lambda 搭建自己的后台 API,希望能帮到楼主。
    OldPanda
        114
    OldPanda   269 天前
    V2EX 不让编辑评论真的有点。。我还是单独回帖把链接放在这里吧

    * Lambda 文档: https://aws.amazon.com/lambda/features/
    * 我自己的短文: https://old-panda.com/2020/03/02/lambda-api-gateway-note/
    yunye
        115
    yunye   269 天前
    @ETO 跟 leancloud 之类的一样 用 HTTP API 就行,价格比 leancloud 实惠多了。
    ljpCN
        116
    ljpCN   269 天前 via iPhone
    看完有个疑问,你做 app,为啥需要在 c#里面写 html 呢?就算你要为你的 app 做个网页宣传,你也可以前后端分离,不是很明白 cshtml 是干啥的,没有开发过.net ,有大佬解释下吗?
    diyisoft
        117
    diyisoft   269 天前
    建议还是使用自己熟悉的语言。
    muskill
        118
    muskill   269 天前
    觉得自己最熟悉哪个用哪个
    EKkoGG
        119
    EKkoGG   269 天前
    @ljpCN
    楼主概念 没搞懂,.net core 直接当后端 webapi 就行了,IOS 做前端
    yicong135
        120
    yicong135   269 天前
    @ljpCN 类似 PHP,渲染页面
    chouchoui
        121
    chouchoui   269 天前
    都直接.NET Core 写 WebAPI 了,不需要 Razor 页面
    Bluecoda
        122
    Bluecoda   269 天前
    Ruby on Rails 只是国内过气了,潮流这种东西从来从来都不一定是对的
    DHH 近期刚发布了 turbo,这东西用少量 js 做了很多 SPA 的东西,hey.com 就是这样做出来的,压缩后只有 40k 多一些的 js,整个网站反应迅速,还是非常惊艳的。从近期 react server component 来看,server render 还是非常香的。
    而且 Ruby 3.0 也刚刚发布,速度比 2.0 快了非常多:https://www.fastruby.io/blog/rails/ruby/performance/how-fast-is-ruby-3-on-rails.html

    建议一试,用了就回不去了
    zoharSoul
        123
    zoharSoul   269 天前
    当然是 java 啦 和 c#差不多
    deepzz
        124
    deepzz   269 天前
    最好找个后端一起合作比较和,各自专注自己的领域
    pengyu
        125
    pengyu   268 天前
    我用过 Openresty+lua 写过接口,挺简单的
    chhpt
        126
    chhpt   268 天前
    @ETO 已经支持多端挺久了
    ETO
        127
    ETO   268 天前
    @chhpt 好吧,看来我已经好久不玩小程序了,多谢大家的指正。
    ginjedoad
        128
    ginjedoad   268 天前
    直接用 rust 就好了。不用 5 年之后还要重新再学一门别的语言
    kios
        129
    kios   268 天前
    选自己熟悉的吧 业务量上来再 port 到其他语言
    hotsymbol
        130
    hotsymbol   265 天前
    前面说 Go 只适合做中间件? 是没有认真用过 Go 吧 ?
    1  2  
    关于   ·   帮助文档   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   3734 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 07:40 · PVG 15:40 · LAX 00:40 · JFK 03:40
    ♥ Do have faith in what you're doing.