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

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

  •  
  •   qtoq126 · 2021-01-20 23:43:14 +08:00 · 14918 次点击
    这是一个创建于 1401 天前的主题,其中的信息可能已经有所发展或是发生改变。
    本人 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 条附言  ·  2021-01-22 13:42:34 +08:00
    真的很感谢大家的热心回复,留言我一个个都看了

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

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

    再次感谢大家!平时基本不发帖,这次收获满满,希望以后自己也能帮助他人,给予意见。
    130 条回复    2021-01-26 00:47:52 +08:00
    1  2  
    360511404
        101
    360511404  
       2021-01-21 18:39:48 +08:00
    Apple 平台,当然是 CloudKit 了,免费,性能好
    wh1012023498
        102
    wh1012023498  
       2021-01-21 18:51:48 +08:00
    用啥语言都可以。如果需要快速迭代,找个团队认可的开发效率高的语言即可。
    当然,开发效率取决于人,而非语言。
    leeda
        103
    leeda  
       2021-01-21 19:03:47 +08:00
    建议 PHP,可以使用 Laravel 框架,方便快速迭代且学习成本低。
    dioxide
        104
    dioxide  
       2021-01-21 19:06:15 +08:00
    php, 短平快
    dengshen
        105
    dengshen  
       2021-01-21 19:06:50 +08:00 via iPhone
    当然是 js 啦。能用 js 实现的最终都会用 js 实现
    cyjme
        106
    cyjme  
       2021-01-21 19:19:12 +08:00
    推荐 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  
       2021-01-21 23:13:10 +08:00
    作为用过 java/php/python/nodejs 写过大量后端的表示 nodejs 最香写起来最舒心,且如果前端是 web 就香到极点了,当然代码量大于 1000 行的项目建议用 typescript
    kerro1990
        108
    kerro1990  
       2021-01-21 23:35:05 +08:00 via iPhone
    C# 还是非常强悍的
    xcstream
        109
    xcstream  
       2021-01-21 23:43:06 +08:00
    node 或者 python 最简单
    wdhwg001
        110
    wdhwg001  
       2021-01-21 23:54:21 +08:00 via iPhone
    用下来的感觉的话,确实 Python 是最方便的,FastAPI 够用而且好用,缺点是一些基础工作涉及底层的话需要对 ASGI 有点了解,比如它没有一个 PHP 式的 Session 支持,还有路由匹配是遍历,没有树优化。

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

    同时你也稍微考虑一下扩张需求,总有一天你需要找人帮你写一部分代码,那时候如果你招聘要求太古怪是不好招人的,所以一些招聘网站上搜不到的框架尽量还是先回避。
    Rorysky
        111
    Rorysky  
       2021-01-22 01:25:05 +08:00
    swift
    nerocc
        112
    nerocc  
       2021-01-22 03:22:29 +08:00 via Android
    @stach 你是多少年没用过 C#/.NET ,早就开源并且跨平台了。
    OldPanda
        113
    OldPanda  
       2021-01-22 03:53:01 +08:00
    可以考虑 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  
       2021-01-22 03:54:55 +08:00
    V2EX 不让编辑评论真的有点。。我还是单独回帖把链接放在这里吧

    * Lambda 文档: https://aws.amazon.com/lambda/features/
    * 我自己的短文: https://old-panda.com/2020/03/02/lambda-api-gateway-note/
    yunye
        115
    yunye  
       2021-01-22 04:26:18 +08:00
    @ETO 跟 leancloud 之类的一样 用 HTTP API 就行,价格比 leancloud 实惠多了。
    ljpCN
        116
    ljpCN  
       2021-01-22 07:18:24 +08:00 via iPhone
    看完有个疑问,你做 app,为啥需要在 c#里面写 html 呢?就算你要为你的 app 做个网页宣传,你也可以前后端分离,不是很明白 cshtml 是干啥的,没有开发过.net ,有大佬解释下吗?
    diyisoft
        117
    diyisoft  
       2021-01-22 08:40:22 +08:00
    建议还是使用自己熟悉的语言。
    muskill
        118
    muskill  
       2021-01-22 08:56:14 +08:00
    觉得自己最熟悉哪个用哪个
    EKkoGG
        119
    EKkoGG  
       2021-01-22 09:03:13 +08:00
    @ljpCN
    楼主概念 没搞懂,.net core 直接当后端 webapi 就行了,IOS 做前端
    yicong135
        120
    yicong135  
       2021-01-22 09:17:41 +08:00
    @ljpCN 类似 PHP,渲染页面
    chouchoui
        121
    chouchoui  
       2021-01-22 09:31:32 +08:00
    都直接.NET Core 写 WebAPI 了,不需要 Razor 页面
    Bluecoda
        122
    Bluecoda  
       2021-01-22 10:26:02 +08:00
    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  
       2021-01-22 13:48:12 +08:00
    当然是 java 啦 和 c#差不多
    deepzz
        124
    deepzz  
       2021-01-22 13:48:34 +08:00
    最好找个后端一起合作比较和,各自专注自己的领域
    pengyu
        125
    pengyu  
       2021-01-22 18:07:43 +08:00
    我用过 Openresty+lua 写过接口,挺简单的
    chhpt
        126
    chhpt  
       2021-01-22 22:31:39 +08:00
    @ETO 已经支持多端挺久了
    ETO
        127
    ETO  
       2021-01-23 10:08:08 +08:00
    @chhpt 好吧,看来我已经好久不玩小程序了,多谢大家的指正。
    ginjedoad
        128
    ginjedoad  
       2021-01-23 11:45:07 +08:00
    直接用 rust 就好了。不用 5 年之后还要重新再学一门别的语言
    kios
        129
    kios  
       2021-01-23 12:26:39 +08:00
    选自己熟悉的吧 业务量上来再 port 到其他语言
    hotsymbol
        130
    hotsymbol  
       2021-01-26 00:47:52 +08:00
    前面说 Go 只适合做中间件? 是没有认真用过 Go 吧 ?
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4983 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 01:12 · PVG 09:12 · LAX 17:12 · JFK 20:12
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.