不限语言,你觉得最好用的框架和 ORM 是什么?

51 天前
 sxszzhrrt
rt ,不限语言,你觉得最好用的框架和 ORM 是什么?欢迎交流你的想法
13094 次点击
所在节点    数据库
186 条回复
beginor
50 天前
NHibernate 成员路过,NHibernate 不是性能最强的,但是是最优雅和完善的。
guiyumin
50 天前
我觉得 orm 最大的问题是尝试一个框架来覆盖所有数据库
一个库就应该专精于一个数据库
lambdaq
50 天前
ORM 你只管负责好用就行了

但凡加一个 redis es mongo 一用一个不吱声
xiaoshan5733
50 天前
Drizzle+1 ,符合直觉编程,上手快
zpvip
50 天前
@s5s5 #41, 来来来, 举例说明, 哪个前后端分离、微服务及其他语言框架的 CRUD 不能用 Rails SSR 搞定? 复杂性、性能瓶颈是出在 Rails?

前后端分离的出现是因为要切分任务, 微服务是切分功能, 都是在没有 AI 的情况下, 人的精力和水平有限, 搞不定.

一般要升职, 就要用前后端分离和微服务跟自己的 Manager 画饼, 然后招一堆人做自己的手下, 自己就能管人了, 然后每天开站会, 让各个团队对齐颗粒度, 尽做些浪费时间的事.

性能的问题 99%的网站都不用考虑, 最多做个 LB, 大不了 K8s, 我做 IoT 的, 时序数据库都是 TB 级别, 单表都上 TB, insert 都是时刻不停 1000 条一批插入的, 瓶颈绝对不在 Rails.

@cloudzhou #58 用的人少有利有弊, 利大于弊. Java 仔就像麦当劳的员工, 随便找随便开, 有你不多没你不少. 国内找不到可以找国外的.

那些整天宣扬静态,可编译语言适合大工程, TS 有类型更安全之类的人, 都是活在自己的想像里. 我用 Ruby 多年, 修过数不清的 Bug, 唯独没有遇到过数据类型的 Bug. 现在有了 AI, 不仅仅是静态语言开发容易了, 动态的也更容易啊, 测试都能给你写好, 什么临界条件都给你测全了. AI 写 Rails 的 RSpec 测试写得那叫一个漂亮.

Java 仔, C# 仔, 沉迷在你们的 DI 和 Service 里面吧, 说实话, 这么罗嗦的框架, 我看看代码都替你们头痛, 好多预防性编程, 把程序员当傻子防.
noyidoit
50 天前
四年没碰 PHP 了我还是很怀念 Laravel 和 Eloquent
hervey0424
50 天前
说 java 的哪些一定没有用过其他语言
xiangyuecn
50 天前
在我眼里要求比较低:只要面对复杂 SQL ,不需要我自己去写一个框架的就行🐶

不能良好支持手写 sql 的,就是垃圾 ORM 框架,尤其是那些严重恶意阻碍手写的。反之就是优秀的。😂

类似 c#的 linq 那种形状的就差不多,但肯定不能学 linq ,linq 那玩意写起来太屎了😂
dragondove
50 天前
@masterclock doobie 不是 orm 呀,算是个简易的 sql builder ,都与 sql 构建器,我推荐一个 sqala
文档网站: https://wz7982.github.io/sqala-doc/
scala 用户站介绍帖: https://users.scala-lang.org/t/sqala-compile-time-sql-for-scala-3-with-named-tuples-and-semantic-checking/10837
我个人也不喜欢 ORM ,隐藏太多细节了,门槛太高,个人感觉 sql builder 完全够用够好用。
niubiman
50 天前
@xiangyuecn 不想写 linq 你可以写 lambda 表达式啊,两种写法都是可以的
yoshiyuki
50 天前
php 里面 yii2 自带的 orm
dotw2x
50 天前
Rails 的 Active Record 和 C#的 EF 都用过,就开发使用体验而言,两者很相像,但 ef+linq 还是比较顺手和简单的.
y2025
50 天前
必须 Rails ,用了很多年,后来在其它语言上再也没有遇到同级别的
bingo084
50 天前
Kotlin+Jimmer ,不过我没用过其他语言的,但是这个对比 JPA 、Mybatis 之类的都是爆杀
dq19871123
50 天前
我投 Entity Framework 一票
dragondove
50 天前
@liuliuliuliu 你这个例子没什么难度啊,用 scala 的 sqala 这么写就行:
val users = db.fetch(query:
from[User].filter(_.age > 18).orderBy(_.name)
)
db.save(users(0).copy(name = "Dragon"))

甚至大部分人唾弃的 java 都有类似的库可以做到,java 的 drink 库 https://github.com/kiryu1223/drink 可以这么查
List<User> users = client.query(User.class)
.where(u -> u.getAge() > 18)
.orderBy(u -> u.getAge())
.toList();
只不过 drink 的更新不支持按照对象更新,用个 hibernate 之类的库配合就行。
wackyx1996
50 天前
大胆猜测 评论区应该只有用过 laravel 和没用过 laravel 两类人
XCFOX
50 天前
@accelerator1 #63
Sequelize 研发的时间过于早了,Sequelize 刚开始发布的时候 TypeScript 还没有知名度。时至今日 Sequelize 对 TypeScript 的支持算不上好。我觉得将 Sequelize 是为 `TypeScript ORM` 是有点牵强的。
另外 Sequelize 在各个 benchmarks 中性能稳定垫底: https://orchid-orm.netlify.app/guide/benchmarks.html
dreampursuer
50 天前
Grails
simo
50 天前
问题应该改下:列举下你用过(每种至少两个中型及以上完整项目开发经验)的框架和 orm ,最少 3 种,从好到差,依次排序(无任何歧视,3 种以下,不要回复)
有人只用过一个,最好最差都是这个

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

https://ex.noerr.eu.org/t/1153288

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

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

© 2021 V2EX