V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
cj323
V2EX  ›  Ruby on Rails

Ruby on Rails 用着太舒服了

  •  
  •   cj323 · 1 天前 · 5533 次点击

    实在忍不住来发一贴吹一下 Ruby on Rails 。这两天用了一下,简直太爽了。

    (在下之前一直是在中小企业做全栈,用过一些其他的语言和框架,主要是用 Node/Python 后端+React/Vue 前端,个人项目也用过 Next/Nuxt 。用 Rails 感觉很不一样,这里分享一下。)

    首先,Ruby 语言很带美感。

    1. 没有 type ,我个人很喜欢,脚本语言就应该这样,自由便捷。虽然工程化差一点,但是写着舒服。
    2. 简洁,同样的东西可以用更少的字符实现,同时又比较好理解。

    其次,Rails 是很完善又精美的框架

    1. 自带的工具极其完整,我之前接触的框架最完整的应该就是 Django ,但是和 Rails 相比简直小巫见大巫。Rails 几乎不需要第三方依赖,也不用上云 - db, orm, caching, storage, REPL, test, i18n, mailer 等等都是直接开箱用:这些随便一个在 Javascript/Python 生态里往往都是要第三方依赖甚至云服务,麻烦很多。
    2. Model(ApplicationRecord)用着很舒服,很多很方便的细节,随便举个例子比如 dirty methods 类似*_previously_changed?或者*_previously_was;这种基础逻辑在其他框架下基本都要自己实现,rails 直接自带,省不少事。

    最后,Ruby 生态我很喜欢,当然这里我喜欢的点不是火爆程度以及工具多,Ruby 当然远没有 Python/Javascript 热。但是我能接触到的 Ruby 论坛和开源项目都是热度恰到好处 - 主要体现在人不是太多,迭代新事物速度不是那么激进。这点很好,不折腾。对比 JS 生态,同样的问题总有一大堆类似的工具解决,而很多工具用两年就淘汰,很糟心。

    继续开发去了嘿嘿

    65 条回复    2024-12-21 19:14:16 +08:00
    nomagick
        1
    nomagick  
       1 天前   ❤️ 24
    Ruby: 我生君未生,君生我已老
    ericguo
        2
    ericguo  
       1 天前
    自己用肯定 rails ,当老板肯定选 java ,各有各的理由。
    BenX
        3
    BenX  
       1 天前
    Ruby: 我生君未生,君生我已老
    adoal
        4
    adoal  
       1 天前
    上个时代的天花板,一直被模仿,从未被超越。
    jkm
        5
    jkm  
       1 天前
    最近知道的一个团队在把生产环境 RoR 的代码迁移到 golang, 据说是性能和可扩展性不如 golang?
    june4
        6
    june4  
       1 天前   ❤️ 5
    不是我的菜,不但无类型还到处是魔法,语言可读性也差
    IdJoel
        7
    IdJoel  
       1 天前   ❤️ 1
    试试 laravel 呢? 我觉得仅次于 Ruby on Rails ,甚至有些功能比他还好用
    ziseyinzi
        8
    ziseyinzi  
       1 天前
    今夕是何年
    ericguo
        9
    ericguo  
       1 天前
    @IdJoel 那还不如换 Go 呢,PHP 的就业市场甚至不如 Java
    ala2008
        10
    ala2008  
       1 天前
    方便是方便了,老板招不到人啊( dog )
    c1985382
        11
    c1985382  
       1 天前
    我已经反反复复拿起又放下了,主要人太菜而 Ruby 这个语言实在太多魔法看不懂。
    想写个模块在 Rails.cache 上增加些功能,不知道要怎么下手...
    redvoilin
        12
    redvoilin  
       1 天前
    rails 很好,一直在用
    Wyearn
        13
    Wyearn  
       1 天前
    Ruby 性能不行,好像还是单进程在跑,我们就是从 Ruby 换到 Go 的。
    yiqiao
        14
    yiqiao  
       1 天前
    @IdJoel Laravel 或者说早期的 PHP 框架设计思想都源于 Rails ,我觉得不如换到 Go 或者 Java 上。
    crayygy
        15
    crayygy  
       1 天前   ❤️ 1
    八年前写的时候就是这种感觉,写代码从未有过的爽感,比现在写 C++ 爽多了
    至于说速度慢,个人觉得大部分的应用和公司还到不了拼这个性能的程度,能快速实现最重要
    Ayanokouji
        16
    Ayanokouji  
       1 天前
    Rails 简单了解过,放弃的原因打包比较麻烦
    shoco
        17
    shoco  
       1 天前
    糖太多了,粘牙
    lambdaq
        18
    lambdaq  
       1 天前
    @shoco 坐在轮椅上回味边走边吃糖的日子哈哈哈
    Belmode
        19
    Belmode  
       1 天前
    我也挺喜欢 Ruby 和 Rails ,可惜生不逢时,而且现在市场占有率越来越低了。
    dddd1919
        20
    dddd1919  
       1 天前   ❤️ 1
    Rails 的激进和保守受 DHH 以及 37 的模式影响比较深,总能在侠级霸搞的技术圈里保持冷静和另类的思考。
    人生苦短,我选 Rails
    fu82581983
        21
    fu82581983  
       1 天前
    Ruby on Rails 就是可以直接拿来干活的,就是 Ruby 在国内基本上没有公司招了,哪怕 Python 和 PHP 做后端的也越来越少了。
    sleepm
        22
    sleepm  
       1 天前
    https://goframe.org/
    官网标题
    类似 PHP-Laravel,Java-SpringBoot 的 Go 语言开发框架
    chenqh
        23
    chenqh  
       1 天前
    @Wyearn 能说说减少了多少服务器?开发人员增加了多少?开发时间有什么变化?
    justfortest
        24
    justfortest  
       1 天前
    ror 是真的好用,用来写 web 真的不要太方便
    WindProtect
        25
    WindProtect  
       1 天前
    ror 好就好在,我觉得可以这么写,然后还真可以这么写。但是糖确实太多,如果水平差点的话,接手别人的代码就会很痛苦。

    一人开发的话,我挺喜欢的。
    jjx
        26
    jjx  
       1 天前
    恍惚间, 回到了 15 年前
    yh7gdiaYW
        27
    yh7gdiaYW  
       1 天前
    自带工具完整这个确实是 python 的痛点,django 和 fastapi 相比 java 的 spring boot 都像个玩具
    IdJoel
        28
    IdJoel  
       1 天前
    @yiqiao java 没用过不评价,go 的框架用起来真的很麻烦 ,就打一个数据库来说,没有一个直接改了 env 就能用的,又得引用包,又得弄读配置文件,一系列太麻烦了
    IdJoel
        29
    IdJoel  
       1 天前
    @ericguo Ruby on Rails 就业市场也不好吧? 单纯讨论的是开发是不是舒服啊
    Wyearn
        30
    Wyearn  
       1 天前
    @chenqh 我们都是卖给客户的标准产品吧,都是单机部署,开发人员没有增加多少,但是产品的稳定性和性能比起以前的 Ruby 和 Rails ,强了很多,客户体验也好很多的。
    gjnevergo
        31
    gjnevergo  
       1 天前
    @june4 同意 过于魔法的语言 不适合做业务 (性能确实也不好)做过一个项目
    然后生态太少太慢了 也不是好事
    prettybot
        32
    prettybot  
       1 天前
    有 cursor 啥也一样,已经没有明显的开发效率优势了
    何况 rails 在国内都找不到工作了
    snowlyg
        33
    snowlyg  
       1 天前
    @IdJoel laravel 就是仿的 Ruby on Rails , 不过很多 laravel 的集成框架真的很好用,写业务很快,一个人顶一个团队。
    humbass
        34
    humbass  
       1 天前
    当年写 RUBY 仅仅是因为这个语言可以支持后台长连接应用程序,在物联网流行的那会儿,这个非常重要啊,因此技术栈一度从 PHP 的 YII 转到 ROR
    zhouyin
        35
    zhouyin  
       1 天前
    @humbass
    长连接具体用了什么 ruby 模块?
    ben1024
        36
    ben1024  
       1 天前
    试试 Laravel, 全新版本的 ROR
    70k
        37
    70k  
       1 天前
    现在有 Claude 这些敏捷开发框架已经没有任何优势了 10 年前用 django 的时候一直羡慕 rails 后来熟悉了 django 以后又感觉没必要换了 毕竟 python 的语言生态要丰富很多
    现在直接用 Claude 写 go web 自己还能掌控细节 不用记一堆封装的东西 综合起来这样头脑负担最小
    max1024
        38
    max1024  
       1 天前 via Android
    nodejs 也不错,中小项目,轻松搞定
    zhouyin
        39
    zhouyin  
       1 天前
    @70k
    用 claude 写 go web 有没用 go 现成框架?
    Mark24
        40
    Mark24  
       1 天前
    @dddd1919 同感
    coool
        41
    coool  
       1 天前
    From Hello World to IPO 不只是一句口号:Rails 8 添加了 Solid Queue 、Solid Cache 、Solid Cable 三件套,GitHub Action 这种 CI 工具也有,部署不止给你写好了精校版的 Dockerfile ,甚至还准备好了 Kamal 部署工具,基本上在你有 IPO 之前,只需要一个数据库就行了。

    实在是爱不释手,最近开个公众号专门总结 Ruby 知识,欢迎关注:Ruby 札记
    Ringokun
        42
    Ringokun  
       1 天前
    ruby 有点像风暴英雄? 玩的都说好,就是没人玩
    wisetc
        43
    wisetc  
       1 天前 via iPhone
    gitlab, emacs china, sass compiler
    Rorysky
        44
    Rorysky  
       23 小时 24 分钟前
    我脑子不够用,没有类型 我看不懂
    lijiangang886
        45
    lijiangang886  
       20 小时 14 分钟前
    但是学了 ruby ,去哪里找工作呢
    dwu8555
        46
    dwu8555  
       13 小时 26 分钟前
    @ben1024 #36 php 就算了
    luziafy
        47
    luziafy  
       13 小时 1 分钟前
    只会、只能用一种语言、框架的可以大声吆喝自己用的就业市场好,性能高。
    公司让用啥用啥,自己的项目我选 Larave
    PopRain
        48
    PopRain  
       12 小时 30 分钟前
    适合自己的才是最好的,大项目严格类型是必须的,否则 TypeScript 也不会流行
    jojobo
        49
    jojobo  
       12 小时 8 分钟前
    可惜在国内岗位太少了
    dre4m
        50
    dre4m  
       12 小时 2 分钟前
    Ruby: 我生君未生,君生我已老
    jeesk
        51
    jeesk  
       11 小时 28 分钟前 via Android
    你用 js 加 css 写永远不会过时
    zhengfan2016
        52
    zhengfan2016  
       10 小时 46 分钟前
    nas 用户,用过 ruby 写的 discourse ,docker 光启动就占用 2 个 G 内存,我对 ruby 语言已经没好感了。

    php 写的虽然性能垃圾好歹也就占用几百 M 内存,上一个让我这种外行印象不好的是 java ,启动个 es 直接把我的弱鸡 nas 内存爆了,docker 容器占用 6 个 G ,服务器直接失联了,ssh 都连接不上。

    后面发现 java 有 Xms 什么的参数可以调整内存占用,但我还是对 java 这个语言有刻板印象。印象最好的是 golang ,用过的开源容器,占用基本 50m 内
    jeesk
        53
    jeesk  
       10 小时 12 分钟前 via Android
    国内企业用 java ,根本没人用。
    个人自己 go 加 vue ,简单得要死。go 没有的生态,java 随便上, 找不到理由用这玩意。
    Frytea
        54
    Frytea  
       9 小时 55 分钟前
    哈哈这么说就想用一下了,下次有机会个人项目用一下试试
    Bluecoda
        55
    Bluecoda  
       9 小时 53 分钟前
    虽然现在写 python 多,但是 rails 开发是真滴舒服,做了十几年 rails 了,怀念
    zhouyin
        56
    zhouyin  
       9 小时 49 分钟前
    @jeesk
    有没有用 ai 辅助写代码 go 有没有写起来太慢?
    zhouyin
        57
    zhouyin  
       9 小时 40 分钟前
    @jeesk
    印象中 ruby rails 就是不随大流 比如前后端分离 它搞了 hotwire
    sagaxu
        58
    sagaxu  
       9 小时 40 分钟前
    我接活都用 Java/Kotlin ,

    1. 减少封装层次,不写 vo/dto/po/bo 这些个脏东西,开发效率跟 python/php 差不多
    2. 支持度比较高,提供各种语言 SDK 的场合,不一定有 python/php/go/nodejs 的,但不大可能没有 Java 的
    3. 内置一个 JRE ,基本上复制进去就部署好了,比 python/php 之类简单,也不用 docker
    pythoner
        59
    pythoner  
       9 小时 38 分钟前
    我们公司的项目以前是用 ROR 写的,后来招不到人,改成了 java
    lordofmetis
        60
    lordofmetis  
       9 小时 18 分钟前 via Android
    Omakub 有人用不? :)
    ingnoscemihi
        61
    ingnoscemihi  
       8 小时 49 分钟前
    完了,没有 type 看着就不想用啊
    zhouyin
        62
    zhouyin  
       8 小时 4 分钟前 via Android
    @sagaxu
    怎么内制 jre ?内置 web 服务器?
    ericguo
        63
    ericguo  
       7 小时 38 分钟前
    @IdJoel 谈舒服,Rails 肯定比 Laravel 舒服,所以我们还是谈谈就业吧。PHP 就业是比 Rails 好,Rails 是一群人说招不到人,一群人说找不到工作,PHP 就不一样了,没人说招人,也没人找到工作(我认识的 PHP 都转 Go 了)
    Kauruus
        64
    Kauruus  
       3 小时 47 分钟前
    不用上云?也没多少 Web 框架要默认上云或强行你上云吧。

    不知道为什么 Rails 8 就把 No PaaS 当作亮点宣传了。当然我是喜欢 solid 系列的包的。
    lichao
        65
    lichao  
       3 小时 7 分钟前
    楼上有不少人说 ruby 没有类型,事实上 ruby 是强类型语言
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2757 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 14:22 · PVG 22:22 · LAX 06:22 · JFK 09:22
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.