V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
yafeilee
V2EX  ›  程序员

为什么国外的创业公司更喜欢 Rails?

  •  9
     
  •   yafeilee ·
    windy · 2015-05-13 04:04:40 +08:00 · 17029 次点击
    这是一个创建于 3468 天前的主题,其中的信息可能已经有所发展或是发生改变。

    For V友, 是时候推销一下 Rails 这个技术栈, 希望此文能将 Rails 一些优势带给各位技术人员.

    本文成因

    1. 最近朋友中加入了不少对技术不十分了解的朋友, 我希望能够简单有效回复他们 Rails 是干什么的.

    2. 是时候抬头看看整个 web 技术圈子发展的情况, 总结一下, 也顺带打消一些客户对于采用 Rails 的顾虑.

    Rails 的起源

    Rails 全称为 Ruby on Rails, 是基于 Ruby 编程语言( 一种通用的动态编程语言 )的 Web 全栈开发框架. 可以类比于 j2ee( 基于 java ), 类比 Symfony( 基于php ), 类比 Django ( 基于 Python ).

    Rails 起源只是一次无心的尝试, DHH( Rails 创始人 ) 在开发一个任务管理系统( basecamp )的时候, 感觉 php 写网站太磋了( 写过 Rails 的话, 你懂的 ), 就在 2003 年时候随带开发了 Rails.

    之后, 05 年 12 月 Rails 1.0 发布后, 成为年度最佳 web 框架.

    06 年, 由于 Rails 的大获成功, Ruby 从一个默默无闻的语言, 成长为在 TIOBE 统计用户使用量排名第十的语言.

    之后, 中国国内开始后知后觉, 第一批创业者像 ITeye 的 robbin 开始使用 Ruby on Rails 作为自己的核心技术竞争优势.

    这几年, Ruby 越来越成熟, 社区也越来越强大, Rails 在经历了 07-08 年的小低峰后, 在 09 年之后到 2015 年的今日, 又开始大发光彩.

    越来越多的创业公司采用了 Rails

    在国外, 一大批的创业公司采用 Rails 作为核心技术栈.

    广为人知的:

    1. Twitter ( 推特: https://twitter.com )

      Twitter 从 06 年起便开始将其核心构建在 Rails 之上, 之后发展超过 5 年, 在 11 年才逐步将其搜索业务与消息队列从 Ruby 分别切换到 Java 与 Scala 上.

      随后 12 年之后, 技术栈开始慢慢地多元化, 并开源了前端框架 Bootstrap( 没错, 就是大名鼎鼎的它 )

    2. Github ( 找程序员哪里去, Github 等着你: https://github.com )

      Github 是程序员事实的社交圈子, 它从 09 年开始起家, 一直构建于 Rails 技术栈之上. 经历过防火长城的恶意攻击, 却仍然坚挺. 详见: 乌云分析

      只要有良好的横向扩展能力, Rails 的伸缩性也十分给力.

    3. Kickstarter( https://kickstarter.com )

      Kickstarter 是全球最著名的众筹平台, 09 年创建, 目前每天的访问量十分巨大, 其核心构建于 Rails.

    只是找一些知名的案例, 大家肯定不满意, 别的平台与框架下也有不少案例, 对吧. 但接下来就有意思了, 越来越多的创业团队开始在使用 Rails.

    比如最近的

    1. producthunt ( 一个发现新产品的平台, 国内有很多赝品了: http://www.producthunt.com/ )

      基于 Rails 构建, 据说, 只花了几天就把原型做好了.

    2. hired ( 程序员拍卖网, 国内已有类似产品: https://hired.com/ )

      基于 Rails 构建.

    3. dribbble ( 设计师社交平台: https://dribbble.com )

      已经是全球设计师社交圈子事实的标准, 基于 Rails 构建.

    国内的一些作品:

    1. Tower ( 一个项目协作工具: https://tower.im )

      完全基于 Rails 构建.

    2. 36kr ( 创业媒体: http://36kr.com )

      基于 Rails 构建.

    3. Knewone ( 非常有势头的科技与设计产品社区: https://knewone.com )

      完全基于 Rails 构建.

    4. 100offer ( 另一个程序员拍卖网, 用户体验很出色: http://100offer.com )

      完全基于 Rails 构建.

    为什么创业公司会优先选择 Rails 作为核心技术栈

    作为创业公司的创始人, 你不必:

    1. 立刻开始做 APP
    2. 立刻考虑性能瓶颈
    3. 立刻考虑大量招人

    而创业更容易成功的奥妙与核心在于, 以最快的速度打造产品并试水市场

    这时, 选择 Rails 往往是最佳的:

    1. 快速迭代的特性

      如果说 Rails 的开发效率在所有框架中排名是第二, 那么我相信没有框架敢轻易说自己是第一.

      无论是 Rails 的 15 分钟开发博客系统中提到的脚手架, 还是 CRUD 与 RESTful 整合的天衣无缝, 再加上惯例配置, 能都让 Rails 的开发效率得到极大的提高.

      其杀手级特性:

      1. 惯例配置, 这个特性可以让你的代码写到最少
      2. 全栈型框架, 包含了 web 最佳实践, 本来各种前端, 后端, 运维一堆人的工作, 现在一个人都可以非常优雅地完成, 例如百度年薪大几十万的前端工程师分享了内部的工作流后, 发现本质上就是 Rails 的布署原理: 大公司前端都在做什么?
      3. 数据库迁移, 有了它, 快速迭代功能是非常非常简单
      4. 生态, 类似于 app store, 一个俱复杂的登录注册功能, 在 Rails 中都是 5 行代码的事.
    2. 快速市场试水与响应能力

      Rails 生态的特点就是如何更少更快地写出高可用的代码. 一般来说, 代码越少, 对业务响应能力越强.

      1. simple_form
      2. slim
      3. scss
      4. coffeescript

      类似这样简化业务代码的 gem 非常多, 难怪在前几年, 就有大神呼吁: 超过 3000 行代码的 Rails 就应该拆分了.

      除了代码的优化外, 还需要极强的自动化测试才能保证我们能够自由地重构业务, 调整市场方向, 而不致于出现产品 bug 层出不穷的问题.
      1. guard
      2. rspec
      3. jasmine
      4. capybara
      5. selenium-webdriver

      这种全自动触发的测试系统在我印象中首创于 Rails, 目前很多框架已经学走了它. 但没关系, Rails 仍然是目前生态最为强大的一个.

      如果你将自动测试做好, 快速迭代能力将是十分可怕的.

    3. 最拥抱 web 最新标准的框架

      永远不担心技术栈过时, 这是 Rails 的理想, 也是 web 开发者的最终理想.

      Rails 的 RESTful 实现, 是最接近标准的一个. Rails 早在几年就拥抱 coffeescript, 而 Javascript 最新标准 ECMA6 基本与 coffeescript 类似.

      Rails 4 开始直接对 mobile 提供支持.

      Rails 5 对 API server 提供直接支持.

    快速迭代, 市场响应, 以及对于移动互联网的支持, 都是创业公司核心优势. 难怪了很多拥有 Rails 技能的人才一定会选择 Rails 作为公司的核心技术栈, 就是快.

    如果你有 Rails 方面的人才, 不选择 Rails 技术栈岂不浪费?

    国内的现状与风险提示

    国内的 IT 市场往往落后于国际 2 年之久, Rails 方面的人才十分紧缺. 选择 Rails 意味着:

    1. 招人风险

    Rails 招人唯一靠谱的圈子就是 RubyChina, 圈子对于招聘贴有着严格的要求, 如果你想招到优秀的人才, 不仅要有好的待遇与福利, 还需要你的真诚与耐心.

    但选择 Rails 的人才会有个极大的优点, 是为了快乐而选择的 Rails, 他们一般也不仅仅只会一种技能, 他们会更积极去学习, 成长与生活.

    如果一个高级 Rails 工程师可以顶住两个人的工作量, 你是愿意给两倍工资给他, 还是招两个新手呢?

    我会选择前者.

    1. 性能风险

    Rails 会有性能风险, 这是真的, 因为 Rails 与 Ruby 一样, 设计理念是面向程序员的, 而不是机器. 所以它们性能方面都不比其他语言好, 比如 C, C++, Golang, Java.

    但从创业公司的经历看, 这个问题现在可以忽略了. 其原因有二:

    1) 初期, 用户才是王道, 无关并发性能.
    2) 性能往往从 IO 瓶颈开始, 而不是语言性能.

    总结

    我不算是对各种语言与框架都十分熟悉的人, 但都是有接触的人, 对于 Rails 的优点与缺点, 我私以为是十分的中肯, 我看好 Rails 在创业公司中的应用, 也希望更多的创业公司能够意识到:

    选择一个合适的技术栈, 产品将是事半功倍的.

    这才是公司除了商业模式外成功的核心秘密.

    在 web 界, Rails 是创业公司更优的选择.


    本文来自 WinDy's Blog

    84 条回复    2019-03-13 15:41:41 +08:00
    ityao
        1
    ityao  
       2015-05-13 06:20:11 +08:00   ❤️ 2
    那是以前吧, 现在node是王道
    rail4you
        2
    rail4you  
       2015-05-13 06:56:33 +08:00   ❤️ 1
    Rails十年前很有优势,现在已经过气了。它也算是好用的框架,但不是创业公司的首选。

    原因在于,Rails后台的语言ruby效率偏低,越来越不适合目前的互联网环境。Rails过于强调代码简洁,很难进一步发挥框架能力。

    Rails也好,Django也好,体系过于死板,和前端整合也不好。node起码是前端后台语言一样,沟通没问题。

    创业公司比较好的解决方案是用多语言系统,以jvm+javascript为核心开发比较稳妥。jvm端的语言选择比较多。
    jun4rui
        3
    jun4rui  
       2015-05-13 07:36:45 +08:00   ❤️ 1
    创业公司搞多语言一般会很难,初创本来人就不多,而且很多还在摸索中 用效率高、开发快的语言才合适,这样可以在人少的情况下尽快的实现想法,进而一步步迭代。Java我个人觉得是主流Web开发方案中对新公司来说最差的选择,首先新公司不见得有大牛,Java架构是好,但是需要精心的设计架构,面向对象就是如此,没有时间来积累做好设计的时间,创业公司需要快速的变化*重构,Java的开发效率和需要精心设计的特性都
    kslr
        4
    kslr  
       2015-05-13 07:53:01 +08:00 via Android
    萝卜白菜各有所爱 那些优点我用其他也很轻松实现 这里却需要学习Ruby
    jun4rui
        5
    jun4rui  
       2015-05-13 08:03:58 +08:00   ❤️ 2
    (按错键就提交了,继续)Java的开发效率不高和需要精心设计的特性基本上是快速敏捷开发的扣分项。其他语言更加专注于Web,Java则偏重大型企业。所以大型的东西Java有很多成熟可靠的代码和组件等等,相对的在Web上,PHP之类天生就是做Web的优势更大,组建和代码多得多,而且PHP没Java那么多概念化的东西,并不需要强制开发者面向对象,开发者有时间有条件和自己的项目一起成长,Java基本是要求一个高手开始做,否则架构之类的那真没法看。而新公司则未必有一开始就有Java高手的机会,我见过、很多做过10年以上Java的人根本算不上高手,他只会ssh那一套。要知道淘宝开始都是走PHP+MySQL搭建的,后来换Java是找sun的人做的。而且开始新公司用Java的大牛只是必须是全方位的,懂维护、懂设计、懂开发、懂架构。新公司本身很多都在摸索,开发的涉及面非常多,Java这种啥都会都懂的人比较难找,踩雷几率大,很多开发十几年的人知识面比较窄,胜任不了。

    也有Java工资会比PHP高点,所以不要到处找活作,只要ssh混十年毫无问题,PHP之类的工资高的少很多都到处接单赚钱,从服务器搭建、架构、开发、对常用PHP论坛、建站、商城、聊天系统都玩过很多遍,更合适,笑。都是低工资害得。

    哈哈哈,所以很多小的网站公司做PHP10年建立过无数垃圾网站的人,远远胜过在大公司10年高薪养着的ssh专家大牛。

    嗯,以上仅针对新公司而言。
    MacGG
        6
    MacGG  
       2015-05-13 08:10:46 +08:00
    感觉快速开发,快速做出原型,现在所有的解释性语言都可以搞定。已经不是ruby的优势了。如果从招人角度,国内php、python更好招聘
    WildCat
        7
    WildCat  
       2015-05-13 08:11:40 +08:00 via iPhone
    最近用 React + Rails 写 Web App,发现 Rails 对我的意义仅仅是个 ActiveRecord 了
    Koell
        8
    Koell  
       2015-05-13 08:18:50 +08:00   ❤️ 1
    作为不用Rails的来推荐两个个框架嗯...
    1.Sinatra : 小型框架,优点是使用简单,只用5行代码就可以建立起一个网站。
    2.Padrino: 基于Sinatra,自带生成器和Admin,可以生成微骨架和子应用,对于初次接触框架的应该会 好理解吧。
    nbndco
        9
    nbndco  
       2015-05-13 08:31:49 +08:00 via iPhone
    Rails 基本上和iPhone一样,之前各式各样各种framework,之后只有rails的山寨版,所以问题基本上就转变成你想用什么语言而已。话说今天为什么还要推rails……难道不是众所周知的么
    kisshere
        10
    kisshere  
       2015-05-13 08:36:31 +08:00 via Android
    后端就像穿内裤一样,你选什么花色,什么样式,观众啥都不知道,关键是自己穿的舒适
    holulu
        11
    holulu  
       2015-05-13 08:38:27 +08:00
    抽象层次高,开发迭代效率高,节省人手嘛。
    skyworker
        12
    skyworker  
       2015-05-13 08:43:44 +08:00
    Rails刚刚出来的时候,php还是old style,代码混杂html;.net还停留在webforms阶段;java还是with or widthout EJB中挣扎;Python还在用Zope这个先进的无法使用的东西,所以ROR一炮打响。

    但是现在大家都有类似ROR的框架了,还有必要一定用那个不太熟悉的Ruby吗?
    keke99love
        13
    keke99love  
       2015-05-13 09:09:26 +08:00
    因为开发迅速,快速出demo啊
    crazyxin1988
        14
    crazyxin1988  
       2015-05-13 09:13:32 +08:00
    Web开发中,开发效率高,rails也不是优势了
    关键就看团队熟悉啥 就用啥 熟悉python 就用python也一样很好 熟悉node 就上node呗
    raychar
        15
    raychar  
       2015-05-13 09:22:31 +08:00
    接触过几个北美的公司,的确是更倾向于ROR,似乎那帮阿三特别喜欢用。
    robertlyc
        16
    robertlyc  
       2015-05-13 09:26:51 +08:00   ❤️ 15
    国内一群不靠谱的前端 自以为有了node这个锤子 就把所有问题都看成了钉子 恨不得每个地方都要锤几下 呵呵
    pythonee
        17
    pythonee  
       2015-05-13 09:35:24 +08:00
    周末还用django来开发,开发效率已经很高了(前java开发飘过)
    yakczh
        18
    yakczh  
       2015-05-13 09:40:42 +08:00   ❤️ 3
    因为国外人力贵,资本家要的是人手少,多干活,这样才有利润可图
    不象国内招码农都是一招手来30个php
    aksoft
        19
    aksoft  
       2015-05-13 09:44:50 +08:00
    模仿就是模仿,类似还是类似
    tini19
        20
    tini19  
       2015-05-13 09:46:56 +08:00
    @yakczh +1
    国内招php可以随时换人,爱干干不爱干滚,老板对员工的"掌控感"比较强
    chengzhoukun
        21
    chengzhoukun  
       2015-05-13 09:52:15 +08:00 via Android
    @robertlyc 哈哈
    hustlzp
        22
    hustlzp  
       2015-05-13 10:02:52 +08:00
    创业用自己最熟悉的就好。
    MarineGG
        23
    MarineGG  
       2015-05-13 10:09:21 +08:00
    @robertlyc 哈哈,的确如此。面试过的很多懂点node的前端开发,对后端的东西知之甚少就敢谎报是全端工程师
    woojuno
        24
    woojuno  
       2015-05-13 10:12:42 +08:00
    当年rails火的时候,确实影响了各个框架的发展。但是现在,rails有点重了。
    kimmykuang
        25
    kimmykuang  
       2015-05-13 10:20:25 +08:00
    我觉得rails的优势应该已经是众所周知的事情了,但是国内初创团队可能会更加考虑招人难度以及学习成本方面
    r00tt
        26
    r00tt  
       2015-05-13 10:22:08 +08:00
    适合自己才是最好的,我用`rails`,我为自己带盐
    johncang
        27
    johncang  
       2015-05-13 11:10:06 +08:00
    36kr 不是基于wordpress吗,以前看他用这个程序弄的
    lichao
        28
    lichao  
       2015-05-13 11:11:57 +08:00
    @johncang 最初是 wordpress ,后来 fork 了 ruby-china
    est
        29
    est  
       2015-05-13 11:38:28 +08:00
    从隔壁复制粘贴过来,Django的成功案例:


    * Instagram
    * Quora
    * Pinterest
    * Disqus
    * Onion
    * Hulu
    * The Boston Globe
    * NYTimes
    * Telegraph.co.uk
    * Bitbucket
    * SourceForge
    * edX
    est
        30
    est  
       2015-05-13 11:45:29 +08:00
    还有一些django写的网站:

    * Rdio
    * 部分mozilla.com页面
    * guardian.co.uk
    * Mahalo
    * Globo.com
    * Washington Post
    * LA Times
    * curse.com
    * rasp.yandex.ru
    * Pownce(已挂)

    来源 http://stackoverflow.com/questions/886221/does-django-scale
    karloku
        31
    karloku  
       2015-05-13 11:55:31 +08:00
    rails不是有点重, 而是非常重, 但是如果有个项目让我来启动的话我还是会首选rails. 不知道在其他rails工程师眼里和其他语言的web工程师眼里rails是什么, 不过在我看起来rails就是一套默认的最佳实践集, 写rails的时候更容易专注于业务而不是技术方案之类的.
    做东西的时候先用rails先把东西做出来当demo, 觉得可行的话开始从rails迁移向sinatra/padrino, 甚至有需要的话直接把controller的逻辑变成api放到grape里跑个纯rack.

    至于国内外初创对rails态度的不同, 我觉得就是因为国内学ruby的人少, 连rails工程师都很难找, 更不要说敢走出rails的ruby工程师了.
    chloerei
        32
    chloerei  
       2015-05-13 11:56:55 +08:00   ❤️ 9
    1. Blub 语言出现了仿 Rails 框架
    2. Blub 程序员感到高兴,因为不用更换语言就能体验到 Rails 的生产力
    3. Rails 程序员发现它缺少了 Y 功能,不过 Blub 程序员认为这并不重要
    4. 经过漫长的岁月,Blub Rails 终于发现 Y 功能应该设为默认,于是集成到框架内。(回到2)

    过去有 Migration,正在进行的有 Assets Pipeline,未来可能是 Turbolinks?Action Cable?

    Rails 的功能可以被复制,但功能外一些地方是难以复制的:

    1. Ruby 语言的灵活
    2. DHH 和核心团队的品味
    3. 10 年社区的积累

    如果你不想等待 Blub Rails 慢慢进化到更像 Rails,总可以直接……
    newtonisaac
        33
    newtonisaac  
       2015-05-13 11:57:35 +08:00
    开发快,质量稳定,运行速度慢
    jyootai
        34
    jyootai  
       2015-05-13 12:31:23 +08:00
    Rails 的生产力确实高效,不过还有一个吸引人的地方是 Ruby 语言,写起 Ruby 整个人感觉各种舒服,其优雅的特性深深被折服,还记得之前刚接触 Java Web,其中的XML写起来了各种恶心!
    chaucerling
        35
    chaucerling  
       2015-05-13 12:31:49 +08:00   ❤️ 1
    ruby-china和v2ex反响大相庭径
    v2exer人更注重运行效率和语言熟悉程度,ruby-china更注重rails哲学
    useyes
        36
    useyes  
       2015-05-13 12:53:34 +08:00
    创业初期不要太考虑运行效率

    "make it work, make it clean, make it fast."

    有些人比较喜欢倒着来..

    哪种熟悉哪种来,所以我用rails。
    yyw
        37
    yyw  
       2015-05-13 13:00:16 +08:00
    现在已经晚了。
    so898
        38
    so898  
       2015-05-13 13:09:27 +08:00
    Github那叫挺过攻击依然坚挺?
    防火墙把那货玩坏之前,12306的某个刷票js也把Github玩坏过的吧
    Github简直可以作为Rails的反面教材了……还依然坚挺……
    some0ne
        39
    some0ne  
       2015-05-13 13:14:31 +08:00
    @so898 那请问有什么语言或者框架能够挺过ddos吗?
    metrue
        40
    metrue  
       2015-05-13 13:15:36 +08:00
    经历了那么多语言,Ruby 仍然是我最喜欢的语言。
    Sinatra 和 Rails 分不同的场景交叉使用着。

    其他语言,其他框架能模仿复制 Ruby, Rails 的某些特性,但是 Matz, DHH 等社区领导者的才是 Ruby, Rails 社区区别于其他社区的原因。
    mahone3297
        41
    mahone3297  
       2015-05-13 13:24:42 +08:00
    不会用rails,表示再学一门语言好累。。。
    rails要学的东西蛮多的感觉。。。
    leeyanjie
        42
    leeyanjie  
       2015-05-13 13:28:03 +08:00
    习惯python的表示还是用django好了,开发效率和rails在一个层级上,而且python用途比ruby广一些。
    做跨平台GUI,科学计算,数据分析,machine learning,自动化运维都各个方面都可以使用。
    web界Django也是很好的选择,并且在后期用户量上来了之后,性能优化上玩法多样,系统级胶水语言不是吹的,可以甩开rails。
    adjusted
        43
    adjusted  
       2015-05-13 13:29:43 +08:00 via Android
    rails的标杆是base camp,所以他们的认知也局限于base camp,base camp的app版本据说还是Web view,你和他们怎么交流?
    monsabre1
        44
    monsabre1  
       2015-05-13 13:33:58 +08:00
    nodejs+python 超级大杀器组合

    一个人理论可以搞定全部后台

    从api到大数据

    嘿嘿
    ivenvd
        45
    ivenvd  
       2015-05-13 13:38:10 +08:00
    至少以我目前同时用 Django 和 Rails 的经验来看,Django 在开发效率上和 Rails 还是没法比,差距好大……
    raincious
        46
    raincious  
       2015-05-13 13:39:34 +08:00
    @chaucerling

    其实没那么复杂,一个社区是用Python开发的,一个是用ROR,人的倾向自然不一样。
    fwee
        47
    fwee  
       2015-05-13 13:44:20 +08:00
    django还是too young,只做api的话flask还可以,orm, db migration之类的就更不要和rails比了..
    TangMonk
        48
    TangMonk  
       2015-05-13 13:48:55 +08:00
    很多东西是复制不了的,复制得了外壳,社区是复制不了得,有些连外壳都复制得很粗糙,比如说laravel
    winnie2012
        49
    winnie2012  
       2015-05-13 14:10:02 +08:00
    以前的经历是:C++Builder -> Delphi
    现在的经历是:Python/Flash -> Ruby/Rails
    理由是一样的:前者不够极致。
    ysr1023
        50
    ysr1023  
       2015-05-13 14:16:44 +08:00
    许多的程序员宁愿停留在自己觉得舒适的领域,所以对于他们来说,恨不得写一辈子Java
    LazyZhu
        51
    LazyZhu  
       2015-05-13 14:23:54 +08:00
    @ivenvd 同感,Rails适合小项目快速开发
    ChiangDi
        52
    ChiangDi  
       2015-05-13 14:26:38 +08:00 via Android   ❤️ 4
    要说服别人干啥,闷声赚大钱吧 : )
    baozijun
        53
    baozijun  
       2015-05-13 14:33:11 +08:00
    @jyootai 现在还好,用注解,慢了一点,还是蛮爽的。
    xuwenmang
        54
    xuwenmang  
       2015-05-13 14:47:12 +08:00
    一千个创业公司有一个用Rails,你都会觉得他们更喜欢 Rails。为啥?因为你只看到你想看到的。


    你同学跟你开发一样的项目,他用PHP喊了2个人5000块一个星期搞好了。直到人家上市了,你可能还在招人中。。


    所以说PHP是世界上最好的语言。。。
    chaucerling
        55
    chaucerling  
       2015-05-13 15:18:34 +08:00
    @xuwenmang 哪里能看到1万块就能做出的上市项目呢?还是这是上市项目的某一部分外包呢?
    barbery
        56
    barbery  
       2015-05-13 15:34:58 +08:00
    PHP快速开发,真成功了,遇到瓶颈了再上Golang
    jjx
        57
    jjx  
       2015-05-13 16:02:51 +08:00
    出byond java一书 那时的确火, 都说要灭了java, 现在归于平淡了吧
    leebo
        58
    leebo  
       2015-05-13 16:51:09 +08:00   ❤️ 1
    ruby粉 赞一个。。 我觉得一点说的很好 搞ruby的 别的不说 最起码是一个爱这个行业 喜欢学习的 而且都是从别的语言转过来的 没办法国内ruby公司相对还是比较少的。。尤其是偏远的地区
    so898
        59
    so898  
       2015-05-13 17:31:19 +08:00
    @some0ne 听说用PHP的FB挺过去了呢,听说用Go的谷歌也挺过去了呢
    moliliang
        60
    moliliang  
       2015-05-13 18:17:31 +08:00   ❤️ 1
    写ruby也好,rails也好。。都很爽。。。比php爽太多。。。
    jacob
        61
    jacob  
       2015-05-13 19:33:36 +08:00
    rails多是错觉,实际上跟java,php ,python比,rails还是最低的,
    qqblog
        62
    qqblog  
       2015-05-13 19:36:05 +08:00
    垃圾
    charlie21
        63
    charlie21  
       2015-05-13 19:46:47 +08:00
    rayyang88
        64
    rayyang88  
       2015-05-13 19:47:03 +08:00
    @barbery 大神说的对
    yafeilee
        65
    yafeilee  
    OP
       2015-05-14 00:18:48 +08:00
    hi, 此文目的无意调起框架之争, 而只是将 Rails 的优势道出. 事实上,

    对于程序员, 你掌握最熟悉的框架便是你的杀手锏, 你要去创业, 直接用便是, 这就是最佳选择. 但是业余时间, 不要只待在自己的舒适区, 去看看技术世界还有什么好东西, 是不是有更优的选择. 一旦选对了, 事半功倍.

    但对于初创公司, 如果他们选对最合适的框架, 将会是他们内在核心竞争优势.

    如果你真诚地去指正文章中的可能不准确的观点, 我非常乐意与大家讨论; 但如果你只是像一个鲁莽的人在说, 我不听, 都去死, 那大家只好忽略你的回复.
    ibcker
        66
    ibcker  
       2015-05-14 00:30:46 +08:00
    我一定要说服你们PHP是最好的语言
    how2code
        67
    how2code  
       2015-05-14 01:27:37 +08:00   ❤️ 1
    凭我浪迹web开发这么多年,只说一句,rails是现今最好的web开发框架,没有之一。
    bruce
        68
    bruce  
       2015-05-14 02:04:31 +08:00   ❤️ 1
    前几年还行,如今国外的创业公司用 Rails 也不多了。
    seaify
        69
    seaify  
       2015-05-14 08:22:50 +08:00
    rails对coder舒服,php对公司招人是好,对coder毛线好了。
    windyboy
        70
    windyboy  
       2015-05-14 10:01:47 +08:00
    ruby的问题还是效率
    当然基于现实生产环境的rails的复杂度也远比教程,教科书上要大
    理想是美好的,现实是骨感的
    dbas
        71
    dbas  
       2015-05-14 10:54:55 +08:00
    后端就像穿内裤一样,你选什么花色,什么样式,观众啥都不知道,关键是自己穿的舒适
    后端就像穿内裤一样,你选什么花色,什么样式,观众啥都不知道,关键是自己穿的舒适
    后端就像穿内裤一样,你选什么花色,什么样式,观众啥都不知道,关键是自己穿的舒适
    hbin
        72
    hbin  
       2015-05-14 12:27:21 +08:00
    你学得了 Rails 的框架,你学不过来 Rails 的气质。这便是东施效颦吧。

    做Web、API 开发,无出其右!
    RJZATJZL
        73
    RJZATJZL  
       2015-05-14 13:00:44 +08:00
    Rails 什么的不重要,楼主是为了吸引流量。请大家积极贡献 IP。
    bigbook
        74
    bigbook  
       2015-05-14 17:48:20 +08:00
    rails前几年还行,还能用这种文章吸引一些小白过来,让大家入坑,其心可诛。
    先不说招人的问题,不说企业需求问题,即使用python的web框架都比ror好太多了,python除了能做web还可以做很多其他事情,可以客观的扩展程序员的视野。
    当然现在最火的还是node.js,io.js这些,新手没事千万别去吃饱撑的玩ror,大坑,会坑了你们的。

    顺便说下文章里面错误漏洞百出,随便举个例子:
    36kr ( 创业媒体: http://36kr.com )

    基于 Rails 构建.

    这个根本不是rails做的。
    robertlyc
        75
    robertlyc  
       2015-05-14 19:54:22 +08:00
    @bigbook 哈哈哈 你是说那个号称有且仅有一种最佳方式 却搞出两个互相不兼容的版本,花了6年都没统一的python(据说py4 还不兼容py3和py2)? 别逗比了 你才是那种没多少视野的程序员
    yafeilee
        76
    yafeilee  
    OP
       2015-05-14 21:53:45 +08:00
    @bigbook 最最早是 wordpress( 神框架 ), 后面为了更强的定制性, 切至 Rails: http://builtwith.com/36kr.com

    如果你是纯喷而喷, 请不要误导别人.
    shooter
        77
    shooter  
       2015-05-16 09:45:07 +08:00
    @bigbook 请看 36kr.com footer
    mingyun
        78
    mingyun  
       2015-05-17 13:51:42 +08:00
    又见语言大战
    seamon
        80
    seamon  
       2015-05-26 15:47:37 +08:00   ❤️ 6
    作为一个老码农,做了N年java,然后又做了N年ruby,随便说两句。

    题目是创业公司,那就只说创业公司,别扯什么大数据、核心系统、大流量高并发。你要让我用ruby去做一个实时大数据分析,我只能认为你是在开玩笑。一样的道理。

    前前后后被我弄死的创业公司,两只手已经数不过来了。对创业公司而言,速度胜于一切。原型 -> 模式 -> 验证 -> 修改,就这么反复地迭代。经常一个需求上午出来下午就要上线,下午定了第二天就要能用。半年过去,项目面目全非,有可能和一开始雄心壮志规划的完全就不是同一个东西。

    java的话,连说都不要说了,那东西和创业公司压根就是背道而驰。做东西是可以做,但需求迭代的时候,就要为技术选型买单了。一半的时间都被浪费了,而且你还很清楚地知道浪费的是哪一半。这年头还在用java从头开始的创业公司,我一般都直接略过。工欲善其事,必先利其器。你就算开一辆上千万元的高级公交车,去跟保时捷比速度,这不脑子进水吗。

    其它的如python、php等,我没有深入做过,不做技术上的对比。但python的web开发框架,一个团结的rails,在常理上应该会比各种框架层出不穷的python要好吧。至于php,quick and dirty,会有人反对吗。而且就看那些都号称php界的rails的各种开发框架,模仿就是最好的恭维。

    什么node系的就不要进来掺合了,web开发这个圈子,吵架都没人带你们玩。你那根本就不是全栈解决方案,适应的领域很小。光发动机马力大就一定能做一辆跑得快的好车?

    至于说执行效率,很简单就可以架构一个可水平扩展的rails应用集群,除了rails的进程和伪线程模型恶心点,解析渲染页面的速度慢点需要加点缓存,其它的我看都挺好。五六台的集群足以应对几百万PV。不过到这时,1000家创业公司,已经死了999家了。提前操这么多心干嘛。


    最近对erlang、elixir和phoenix很有兴趣,正在看社区的发展趋势,未来几年有没有想象空间,能否用它来做一些rails搞不定的东西。

    时代一直在发展,多学点东西没坏处,别死抱着一门语言不放。大多数人天天说自己的语言好,只是在自我暗示和心理安慰,主动地把自己困在原地。不愿意学新东西,其实只有两个原因,一是笨,二是懒。

    工作心情舒畅,工资年年涨,生活越来越好,才是最重要的。
    skyworker
        81
    skyworker  
       2015-05-26 17:47:53 +08:00
    @seamon 同意,说出了心里话
    skyworker
        82
    skyworker  
       2015-05-26 17:49:02 +08:00
    @seamon 太多的newbie喜欢 “秀技术”,最后忘了自己要干什么
    qinkun1234
        83
    qinkun1234  
       2015-06-29 09:59:29 +08:00
    @seamon
    @jun4rui
    分析的比较到位。首先参与讨论的人先把 github、so 账号亮出来。然后有几年编程经验、失败过几个公司、真正熟悉过几个不同的语言、有没有在不同的团队熏陶过 再发表下观点!
    thomas2015
        84
    thomas2015  
       2019-03-13 15:41:41 +08:00
    @seamon 分析的精辟
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2854 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 02:29 · PVG 10:29 · LAX 18:29 · JFK 21:29
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.