cj323

Ruby on Rails 用着太舒服了

  •  
  •   cj323 · Dec 20, 2024 · 16381 views
    This topic created in 687 days ago, the information mentioned may be changed or developed.

    实在忍不住来发一贴吹一下 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 生态,同样的问题总有一大堆类似的工具解决,而很多工具用两年就淘汰,很糟心。

    继续开发去了嘿嘿

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

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

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

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

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

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

    不知道为什么 Rails 8 就把 No PaaS 当作亮点宣传了。当然我是喜欢 solid 系列的包的。
    lichao
    lichao
    Dec 21, 2024❤️2
    65
    楼上有不少人说 ruby 没有类型,事实上 ruby 是强类型语言
    7uSK0CV63kJdhp0M
    7uSK0CV63kJdhp0M
    Dec 21, 2024 via Android
    66
    @sagaxu
    不写 dto vo 直接用 jdbc ?
    coollex
    coollex
    Dec 22, 2024
    67
    前提是你要回 rails ,学习成本很高
    StJames
    StJames
    Dec 23, 2024
    68
    一个人写的小项目我就用 ROR
    franklinyu
    franklinyu
    Dec 24, 2024 via iPhone
    69
    @lichao 可能是說沒有靜態類型,目測是 Go 、Java 用戶
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1440 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 124ms · UTC 04:46 · PVG 12:46 · LAX 20:46 · JFK 23:46
    ♥ Do have faith in what you're doing.