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

2021-01-20 23:43:14 +08:00
 qtoq126
本人 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 是不是快过气了?

这是我目前内心的一些想法,想大佬们帮我分析和权衡下,究竟哪种更合适一点?
感谢大家,语言不分好坏,我个人都很喜欢。
15144 次点击
所在节点    程序员
130 条回复
360511404
2021-01-21 18:39:48 +08:00
Apple 平台,当然是 CloudKit 了,免费,性能好
wh1012023498
2021-01-21 18:51:48 +08:00
用啥语言都可以。如果需要快速迭代,找个团队认可的开发效率高的语言即可。
当然,开发效率取决于人,而非语言。
leeda
2021-01-21 19:03:47 +08:00
建议 PHP,可以使用 Laravel 框架,方便快速迭代且学习成本低。
dioxide
2021-01-21 19:06:15 +08:00
php, 短平快
dengshen
2021-01-21 19:06:50 +08:00
当然是 js 啦。能用 js 实现的最终都会用 js 实现
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
2021-01-21 23:13:10 +08:00
作为用过 java/php/python/nodejs 写过大量后端的表示 nodejs 最香写起来最舒心,且如果前端是 web 就香到极点了,当然代码量大于 1000 行的项目建议用 typescript
kerro1990
2021-01-21 23:35:05 +08:00
C# 还是非常强悍的
xcstream
2021-01-21 23:43:06 +08:00
node 或者 python 最简单
wdhwg001
2021-01-21 23:54:21 +08:00
用下来的感觉的话,确实 Python 是最方便的,FastAPI 够用而且好用,缺点是一些基础工作涉及底层的话需要对 ASGI 有点了解,比如它没有一个 PHP 式的 Session 支持,还有路由匹配是遍历,没有树优化。

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

同时你也稍微考虑一下扩张需求,总有一天你需要找人帮你写一部分代码,那时候如果你招聘要求太古怪是不好招人的,所以一些招聘网站上搜不到的框架尽量还是先回避。
Rorysky
2021-01-22 01:25:05 +08:00
swift
nerocc
2021-01-22 03:22:29 +08:00
@stach 你是多少年没用过 C#/.NET ,早就开源并且跨平台了。
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
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
2021-01-22 04:26:18 +08:00
@ETO 跟 leancloud 之类的一样 用 HTTP API 就行,价格比 leancloud 实惠多了。
ljpCN
2021-01-22 07:18:24 +08:00
看完有个疑问,你做 app,为啥需要在 c#里面写 html 呢?就算你要为你的 app 做个网页宣传,你也可以前后端分离,不是很明白 cshtml 是干啥的,没有开发过.net ,有大佬解释下吗?
diyisoft
2021-01-22 08:40:22 +08:00
建议还是使用自己熟悉的语言。
muskill
2021-01-22 08:56:14 +08:00
觉得自己最熟悉哪个用哪个
EKkoGG
2021-01-22 09:03:13 +08:00
@ljpCN
楼主概念 没搞懂,.net core 直接当后端 webapi 就行了,IOS 做前端
yicong135
2021-01-22 09:17:41 +08:00
@ljpCN 类似 PHP,渲染页面

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/746857

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX