Java 出活真的快吗

2023-06-05 09:40:26 +08:00
 javak

经常看到有人说,做自己的项目用 php 、python 、ruby 等等或者其他的什么框架,出活贼快。想具体讨论下。

正好最近我接了一个私活,是做一个 app 的后端+一个简单的后台管理系统的后端,因为 app 和前端对方已经找到相应的人了。

有个有个朋友找到我,我就选了 Java ,因为我只会用 springboot ,选别的还得重头学。

是从 0 开始搭建一个后端服务,对方给到我的内容:

功能点包括:

我只做了一个服务,把 app 端的功能和管理平台的功能都放到这同一个服务里面。 我做的事情包括:

我做的过程中,都用了计时统计,全部弄好上线,一共花了 20 小时。(这是纯纯的动手时间,和上班那种一天 8 小时,5 小时在划水的,8 小时工作不是同一个意思。)


如果上面这些事,用 php 、python 、ruby 熟手,需要花多久时间呢?

17439 次点击
所在节点    Java
146 条回复
xiaochong2020
2023-06-05 23:58:30 +08:00
毕竟 php 是最好的语言
veightz
2023-06-06 02:05:52 +08:00
@javak aes256 用在什么地方呀? 加密密码?
jklove123bai
2023-06-06 06:42:10 +08:00
现在前后端都有低代码平台,讨论这个有啥意义吗
javak
2023-06-06 07:40:53 +08:00
@veightz 加密身份 token
coetzee
2023-06-06 07:44:10 +08:00
按照你这个需求,Java 、PHP 、Ruby 、Python 出活都很快,至于哪个更快,按照熟练度来,特别是框架化之后的熟练度。至于 Golang/Node 真不如那四个更快,别尬吹了
coetzee
2023-06-06 07:47:25 +08:00
每次看到这种拼开发效率的都会出来 go 粉来吹,我虽然也写 go ,但是你别吹开发效率了,你的对手是其他几个业务主流语言的时候,go 在开发效率上,跟 Java 差的不是一点半点,看看这个裸露的生态和语言表达力,你凭什么跟 Java 比?当你还在拼各种 utils 的时候,Java 早就写完了,多学学现代 Java ,了解下什么叫做表达力,如果不懂,可以看看 C#和 scala ,表达力越高的语言,当你熟悉了之后,开发效率提升不是一点半点

GO 的优势永远不在开发效率上,至少跟 Java 对比的时候,尬吹 golang 的时候,注意姿势,特别是业务开发,千万别吹 golang 的开发效率
coetzee
2023-06-06 07:51:02 +08:00
@someday3 对,从单一功能来看。Java 不是很能打,甚至的确打不过 go ,这也是 go 粉为啥吹的原因,但是从工程整体开发来看,一个人做一个工程的时候,Java 比 go 快的不是一点半点,比 flask 这类也更快,可能 springboot 可以对线 django 一波,问题就在于,多数开发者,只是在公司承担模块功能开发的人,不担任整体性开发职责,所以没有一个完整的概念,其实如果简单功能论拼凑的话,node 和 python 都很好,但是论 web 项目整体工程化开发的话,Java 和 C#是一档,PHP/Python/Ruby 是一档,golang 一档,就这样子。
你要是能够自己控制一套工程化最佳实践的人,另说,不然的话,老实选 Java ,开发效率和执行效率都不会错
coetzee
2023-06-06 07:55:31 +08:00
@lyxeno 很快了,很多在下面评论的吹逼,再*5 都未必能做完。所以我说 springboot 熟悉之后,开发效率很快,而且比较无脑,犯错的概率也很低,组件也很成熟,如果自己上一套 Golang web 来做这套业务,最少 50 小时
yogogo
2023-06-06 08:15:53 +08:00
我有一套跟你需求一样的
milukun
2023-06-06 08:43:54 +08:00
推荐自己部署 AppWrite (开源),自带数据、用户认证、云函数、存储、日志等能力,主要的是有多端 SDK (客户端、服务器端都有),云函数也支持 java ,你一些逻辑可以部署在里面。
比如用户一注册,触发 xxx 函数,用户上传某某文件,触发 xxx 函数。
挺好用的 /
milukun
2023-06-06 08:45:02 +08:00
@milukun 之前我倾向于 flask 或者 Django 快速搭建一个服务,现在基本就是在 AppWrite 里面建项目就可以了,多个项目共存
GBdG6clg2Jy17ua5
2023-06-06 09:00:24 +08:00
积累一套自己的业务框架,新需求来啦直接就是 Controller ,service ,dao 的写业务。在这基础上用常见的高级语言,效率都是差不多的。
zachwei
2023-06-06 10:10:42 +08:00
大佬 上哪找的私活
redvoilin
2023-06-06 10:31:55 +08:00
ruby on rails 熟手的话最多几个小时吧
TyCoding
2023-06-06 10:42:42 +08:00
是不是太多人停留在几年前的 JavaWeb 阶段了?现在的 Springboot 太快了,哪还用得着配置?基本引入依赖就能用,哪个语言有 Spring 这么完整的生态?
roundgis
2023-06-06 10:53:16 +08:00
現在都精確到小時了
xiangyuecn
2023-06-06 10:55:36 +08:00
SpringBoot 最野蛮情况下,只需打包出一个 jar ,有 jdk 就能跑,内置 tomcat 自己玩(包括静态路径处理,https )

nginx 、依赖安装 这些玩意都全可以省了,一个 jar 搞定,,😂
xiangyuecn
2023-06-06 11:04:32 +08:00
@zjsxwc #29 估计是很多代码单独放到了一个文件里面的缘故吧,一个文件的几行代码,看一段逻辑点开几十个文件😂

欢迎围观我的一个 java 开源库:高性能的坐标数据、边界数据查询工具,Java 开源程序、带 http 查询接口,内存占用低( 1 秒可查 1 万个以上坐标对应的城市信息)
https://github.com/xiangyuecn/AreaCity-Query-Geometry

源码直接丢在根目录裸奔,里面有个命令行文件 直接编译运行,代码全丢在一个 java 文件里面 打开阅读无文件切换压力

估计没几个人会和我一样这样写 java 程序了😅
dogfeet
2023-06-06 11:32:58 +08:00
Kotlin + Spring Boot

前面有人说 PHP 一个接口光写十分钟吧

自己平时做的 CRUD 接口,一个系列增删改查一般总共十分钟不到吧。
Flyway 定义数据库表结构
定义参数结构,通过注解做参数校验(一堆 PHP 不做这个事,有但是不多)
定义个
写 Controler ,写 Service ,MyBatis Plus 一把梭。
对了,带上 Spring Doc 注解,完事后,直接生成文档页面,还可以文档页面直接测试接口。

中间会有些手误啥的错误,强大的类型,包括 MP 都是泛型关联数据库字段,大部分错误编译期就能看的非常清楚。
参考老代码也是一目了然,类型是最权威的注释,也是最权威的代码脉络总纲。

带上测试,15-30 分钟差不多全部搞完吧。

PHP 搞数据库,绝大部分字符串拼接一把梭,搞出问题来了在哪里 Debug 个半天,看着让人想笑,一堆说自己快的人搞出有注入风险的代码。

有些搞法所谓的快,是不是真的比人快先不说,出来的东西,我是懒得维护的,后期找起来就是天书。

对了,后面部分接口想做改造,加个缓存,加个读写分离啥的,你们猜要多久,要改动多少?

Kotlin 语法既强大,又简洁,还简单。建议去试试。
wizzer
2023-06-06 11:33:27 +08:00
出活快不快在于你有没有一套基础功能的框架,一些常用功能不用再浪费时间开放
比如
https://demo.budwk.com
自带了权限体系、一堆 starter 组件、API 文档生成等等;
简单的小系统分分钟搞定。

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

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

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

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

© 2021 V2EX