
不知道各位全栈老哥开发 app 时,后端接口用的什么语言什么框架?
不考虑微服务什么的特性,只本着这几个目标去:
目前看了一些框架,比如 SpringBoot 、Vertx 、Quarkus 、Javalin 、Jfinal 等,也简单调研了 GraphQL 、Apijson,除开 Java,对 Python 的 FastAPI 也做了尝试,始终没有找到完美答案。
老哥们都是怎么搞的?
1 mht 2021 年 10 月 18 日 PHP |
2 dcalsky 2021 年 10 月 18 日 Java/Kotlin 版本的 Vertx 、SpringBoot 、Quarkus 还有 Ktor 我都折腾过,最后选择了 Vertx,最符合独立开发的要求。 (虽然最后还是全部重构转了 go |
3 MonikaCeng 2021 年 10 月 18 日 如果只是增删改查,我一般用 thinkphp6 如果有多线程等任务,我就 SpringBoot |
4 6IbA2bj5ip3tK49j 2021 年 10 月 18 日 springboot,中庸之选,基本任何问题都能在搜索引擎第一页找到。 |
5 rb6221 2021 年 10 月 18 日 如果是安卓 app 千万别用 php 很大概率会被打的 springboot 一把梭其实挺好 |
6 slowgen 2021 年 10 月 18 日 我必推荐 Node.js 的 directus,建好表之后 restapi 和 graphql 都有了,后台管理界面也有了,把它当底层用就行了,128MB 内存可以跑得很欢。 |
7 qq1340691923 2021 年 10 月 18 日 flutter + gofiber |
8 james2013 2021 年 10 月 18 日 Springboot 是一个很好的选择,缺点是资源占用相对较大 不管是前期开发,还是后期扩展 前几个月我试了下 Python 的 flask 作为 1 个项目的后台框架,开发起来速度慢,还挺恶心的.从数据库拿的实体还不能直接对外提供,而且像时间格式的需要手动转,用起来挺恶心的,不像 java1 个注解就自动转了.默认是放在 1 个文件里,也不好改 |
9 blackboom 2021 年 10 月 18 日 |
10 chendy 2021 年 10 月 18 日 springboot 一把梭 写的时候大脑可以关机,无他,唯手熟尔 没啥量的话 256 内存其实就能跑了 |
11 peyppicp 2021 年 10 月 18 日 就减少服务器资源占用这一条, 就用 go 吧,不缓存数据的话内存占用也就几十 M |
12 BBCCBB 2021 年 10 月 18 日 springboot, 如果引入的中间件不多, 其实内存也不多. |
13 anonydmer 2021 年 10 月 18 日 我会选择 spring boot,因为不会永远我一个人做,后面我需要找其他的小伙伴来维护;不做一锤子买卖。 已经这样工作过若干项目了。 |
14 windyboy 如果 java 的话 micronaut 比较好 进一步的话,最好 kotlin micronaut 但单纯讲后端的话,其实 go fiber 吧 |
15 ch2 2021 年 10 月 18 日 减少服务器资源占用 这一条单人开发就不要考虑了,加机器就能解决的问题你还要精力去搞定,一个人哪有那么多时间? |
16 rust 2021 年 10 月 18 日 难得见到有人推荐 GoFiber 的,不容易啊 |
17 wangkun025 2021 年 10 月 18 日 要不要试试 rails ? 虽然对资源占用比较厉害,但开发效率高啊。 |
19 nicevar 2021 年 10 月 18 日 我做的个人 app 还是比较多了,期间用过 Java/Python/Go 的各种框架,最终选择了 php 的 PhalApi,我都没系统学过 php,拿来就用,最大的优点就是节省时间 |
20 lerp PRO 用 leancloud,服务器也省了 |
21 janxin 2021 年 10 月 18 日 个人开发的时候单体应用最好,不是 Spring 一把梭么 |
22 lbp0200 2021 年 10 月 18 日 1 、减少开发工作量选择支持原编程的语言,例如 Ruby 、lisp,推荐 Ruby 2 、减少服务器资源占用支持编译成二进制的语言,例如 go 、C/C++、汇编,推荐 golang 3 、少折腾无法领会 1 和 2,是一对矛盾体,如果是 Java 出身,忍受不了 golang 的语法,可以考虑 kotlin,然后 google 一下关键字“kotlin web framework” |
23 MakHoCheung 2021 年 10 月 18 日 Java && 服务资源占用少,那必须 QUARKUS |
24 sciel 2021 年 10 月 18 日 学 v 站~ |
25 libook 2021 年 10 月 18 日 技术选型是根据需求来的,没有一种架构方案适用于所有需求。 要想开发效率高,首选自己熟悉的技术栈,能接受学习成本的话再考虑自己不熟悉的技术栈。另外技术栈轮子多少也是要考虑的。 要想资源占用少,看具体要少到哪种程度,能撑到当前的主流技术,都有一些解决方案可以在一定程度上满足资源占用方面的要求,但追求极致只能去考虑一些 C++、Rust 之类的方案。 技术架构都是有保质期的,因为在设计的时候仅能对需求做有限时长的预测,所以可以用自己最了解、最简单的方案来做,反正以后肯定会重构。 我做 Web 全栈比较多,后端一开始需求都比较简单,极简的用 Node.js 原生 API 几行写个服务;想预留些扩展性就加个 Koa 框架,路由多了再考虑引入路由中间件,数据库操作多了再考虑引入个 ORM 或 ODM 。 |
26 liuhan907 2021 年 10 月 18 日 单人开发我觉得你要是不排斥微软那就用 aspnetcore 一把梭,不喜欢微软那就 Go 一把梭。我觉得还是比 Java 舒服那么一点。 |
27 semoon 2021 年 10 月 18 日 50 万用户以下的话,jfinal 单机零优化很稳。。。 |
28 janxin 2021 年 10 月 18 日 另外 FastAPI 确实是很省心的,不如先说下各个方案遇到的问题再来看方案。毕竟对你来说选择自己熟悉的方案更合适。 |
29 kennhuang &bsp; 2021 年 10 月 18 日 via iPhone Strapi? |
30 windyboy 2021 年 10 月 18 日 哦,对 其实后端一定要开发吗? 现成的 headerless cms 不好吗? |
31 SorcererXW 2021 年 10 月 18 日 Flutter + Go + gRPC |
32 zoharSoul 2021 年 10 月 18 日 减少开发工作量 减少服务器资源占用 少折腾 ----- 最适合这 3 个的是 PHP |
33 miao666 2021 年 10 月 18 日 懂 java 肯定 springboot 吧,配置简单,开箱即用 |
34 cgpiao 2021 年 10 月 18 日 Java 只能是 spring 吧,kotlin 的话可以 ktor 。 |
36 gaojiangouyu 2021 年 10 月 18 日 ASP.NET Core ( Web ) + EF Core (数据库),在一些一般的场景下,这两者搭配的效率绝对完爆 java 生态了 golang 生态里面的绝大多数框架 |
38 itning 2021 年 10 月 18 日 flutter+spring boot |
41 clf 2021 年 10 月 18 日 SpringBoot 基本啥都能做,啥都有解决方案。 如果要前后端代码统一用 js/ts 的话,可以用 nodejs 后端,react/react-native 前端 |
42 pengtdyd 2021 年 10 月 18 日 如果是我自己选的话:spring cloud 如果是推荐的话:flask 如果是跨平台技术的 app 的话:nodejs 如果追求高并发的话:gin 如果想节省成本的话:serverless |
44 JasperYanky 2021 年 10 月 18 日 django |
45 fishDD 2021 年 10 月 18 日 想要快,且稳定就 SpringBoot 吧,成熟的解决方案多(借用楼上,基本搜索引擎第一页都能找到答案)。缺点资源占用高,这玩意是 java 的通病啊。 |
46 binhb 2021 年 10 月 18 日 via iPhone typescript 前后端一把梭 |
47 ReferenceE 2021 年 10 月 18 日 via Android 无脑 cython 吧...自己写的话一般工作量不会很大 |
48 TypeError 2021 年 10 月 18 日 个人前台接口、页面渲染都包的话,django 单纯 http 接口:gin |
49 pigspy 2021 年 10 月 18 日 vertx+kotlin+gradle 开发体验和开发 app 差不多 |
51 boja 2021 年 10 月 18 日 前后端都 js/ts,是适应性最强、共享代码最直接的方式。 |
52 beginor 2021 年 10 月 18 日 via Android 没啥特殊需求的话后端可以用 nodejs,复杂一些的话可以考虑 .net core webapi, 就算是 py 也比 java 强 |
53 ElmerZhang 2021 年 10 月 18 日 PHP/Node.JS/Go 都能满足你的需求 |
54 horseInBlack 2021 年 10 月 18 日 我不算全栈哈,主要是做前端的,之前做过 PHP,之后 Node.JS 也有练手的项目 感觉上个人的话还是 serverless 比较合适一点,阿里云、腾讯云,包括 uniCloud 也有阿里云和腾讯云的版本 有云数据库、云存储和云函数,基本上你网站的增删改查都足够了 语法上是 Javascript 的语法,用起来和 Node.JS 差不多,云数据库的查询语句语法也跟 MongoDB 差不多,都是相同的 使用下来非常方便 |
55 bybyte 2021 年 10 月 18 日 云开发,开发效率快地一 P |
56 zxCoder 2021 年 10 月 18 日 .net6 |
57 hdfg159 2021 年 10 月 18 日 via Android 如果熟悉 spring boot 肯定选 spring boot 啥都有,拿来就开发一把梭,就是占用资源多,轻量级推荐 vertx,复杂起来肯定不如 spring 顺手 |
58 mywaiting 2021 年 10 月 19 日 如果不单纯选择 Java,可以投奔 Python 用 Django,开发速度快,坑少,稳定,性能也过得去 |
59 dayeye2006199 2021 年 10 月 19 日 firebase 把,没有比这更快的了。。都不用写后端,只用管前端就行了。 |
60 kinge 2021 年 10 月 19 日 单人 solo 时最好的就是 php laravel 或者 ruby ror ,开发效率比 java 非常高,后端前端一把梭,两年独立开发建议 |
61 js8510 2021 年 10 月 19 日 Python + flask/django. FastAPI 的问题是是暂时 community 不太成熟。比较有经验,有信心去 stackoverflow 自问自答的朋友可以尝试 fastAPI |
62 PixelCode 2021 年 10 月 19 日 ACTFramework |
63 ArJun 2021 年 10 月 19 日 如果为了省资源推荐 GO,开发效率也很快,1h1g 就能跑的很舒畅了 |
64 ixx 2021 年 10 月 19 日 第三条『少折腾』那就得看你哪个用的熟了 一般来说用的越熟的越好 |
65 konakona 2021 年 10 月 19 日 如果一定要在 java 里选的话,推荐 springboot 框架,很容易上手。 如果要选一个新的语言来扩展思维的话,我会推荐 go+go gin (开发框架)。 如果你非要很快的话,之前有个 js 基础,上 nodejs,或转投 php 怀抱用 laravel 或者 thinkphp 。 |
67 chenzheyu 2021 年 10 月 19 日 单人开发最效率的应该是 laravel |
68 ychost 2021 年 10 月 19 日 建议用 node.js ,配合 serverless,然后负载均衡啥的都不用考虑了 |
69 pelloz 2021 年 10 月 19 日 选你最熟悉的语言和框架就好,减少工作量和犯错的可能。个人 solo 开发的 app 一般很少会遇到性能瓶颈,大多数是对语言或框架理解不到位导致的 BUG 。 |
70 macha 2021 年 10 月 19 日 nodejs 单机裸奔差不多了。连 NGINX 都不用装。 |
71 Kamiyu0087 2021 年 10 月 19 日 我个人觉得 ktor 还蛮好用的 不过 Java 上 SpringBoot 肯定没错的 |
72 KamilZhang 2021 年 10 月 19 日 via Android @mht 满离 |
73 zzzmh 2021 年 10 月 19 日 SpringBoot 不费劲 至于内存,首先不要的依赖就去去掉 然后用 docker 的 tomcat(限制最大内存和使用 swap) jdk8 openj9 tomcat8.5 打开 nio2 就美滋滋 |
74 superchijinpeng 2021 年 10 月 19 日 Spring Boot |
75 solos 2021 年 10 月 19 日 一个人选 go 啊 选什么 java 、php |
76 janda 2021 年 10 月 19 日 我是做 java 开发的、但是我推荐 GO |
77 wizzer 2021 年 10 月 19 日 budwk-v7-mini 版本 https://gitee.com/budwk/budwk/tree/v7.x-mini/ |
78 unco020511 2021 年 10 月 19 日 如果语言限定 java,应该 springboot 是成本最小的,资源丰富,生态良好 |
79 xuanbg 2021 年 10 月 19 日 楼主要求除开 Java,而我用的就是 Java 。这……好吧,说正经的,用你最熟悉最成熟的技术栈才是正经。软件开发没有捷径,到头来你会发现最笨的办法才是最快的。 因为我有成熟的、完善的基础组件 /基础服务,所以我开发任何功能都只需要写几行前端和后端的业务代码就行。就这几行业务代码吧,我还都是从写过的项目里面复制过来稍微改吧改吧的,最大的工作量是把 UI 给调漂亮点。至于用什么语言,你觉得这会是一个问题吗? |
80 furlxy 2021 年 10 月 19 日 php 或 nodejs 不更好吗 |
81 darkengine 2021 年 10 月 19 日 @xuanbg 你理解错了,他首选就是 Java 。 |
83 ajaxfunction 2021 年 10 月 19 日 喜欢 java 那就是 jfinal,毕竟以极速开发著称。 喜欢 php 就是 thinkPHP,外包公司的半边天 |
84 zachlhb 2021 年 10 月 20 日 via iPhone 后端熟悉啥就用啥啊,有什么区别的 |