六个最酷的 Ruby on Rails 项目

Ruby on Rails(简称Rails)是松本行弘Ruby编写的纯面向对象编程语言,目的是让程序开发人员专注于编程最有趣最有创造力的部分。如今Rails已经是最火(薪水最高)的web应用开发语言之一,而且Rails还是开源的,拥有4200个开源代码贡献者,因此Rails在不断进化完善中。就流行而言,Ruby on Rails目前在HotFrameworks排名第三。

Ruby on Rails为什么会这么火?下面我们列举用Rails开发的六个很酷的项目,也许你会对Rails的强大有一个直观的感受。

知名网站:

一、Airbnb

Airbnb是目前最火的旅行房屋租赁社区,分享经济的排头兵和样板戏,从Airbnb的技术原型发展到今天这个规模,Rails一直是airbnb的助理后台工具。借助Rails,Airbnb能够轻松处理每天线上的海量交易。去年Airbnb还用Rails改良了大规模支付系统,新的支付系统可靠性、审计跟踪以及故障可预测性都得到了极大的提升。

二、Hulu

Hulu是在线视频租赁的老大之一,也是国内几家视频网站的学习对象。Hulu的产品概念很简单:让所有美国人都能用网络观看有线电视、电影和网络视频节目。与最主要的竞争对手Netflix相比,Hulu的最大优势是内容更新更快,而Netflix的优势是内容更全。如果你是追剧达人,那么Hulu是不二之选。

在2012年的RailsConf大会上,前Hulu开发总监介绍了Rails如何深刻影响了Hulu的产品开发:“Rails的惯例优先原则,不重复自己的工作,尽可能多地复用代码,测试优先,以及敏捷等,贯穿指导着Hulu软件开发的每一个阶段。

三、Github

即使你不是程序员,你可以也从极客朋友那听说过Github。事实上Github早已经超越了代码托管平台的范畴,成为互联网上最大的创意分享和协作平台之一。最为全球最流行的100大网站之一,Github实际上也是一个庞大的Ruby on Rails项目,是Rails使得Github能够应对每天数以亿计的请求。值得称道的是,2014年Github成功“空中更换机翼”,从Rails2.3热切换到Rails3,整过过程没有一秒钟停机。

开源项目

四、Hackety hack

开源项目Hackety hack是一个帮助初学者从零开始学习编程基础知识的网站(hackety.com)。在这个网站你不但能学习Ruby开发入门知识,而且还能帮初学者开发和分享简单而有趣的小程序。Hakety Hack在Github上托管开源项目,任何人都能帮Hackety开发新课程。

五、Diaspora

社交网络的三大要义是去中心化、言论自由和隐私保护。与Facebook不同,Diaspora不在中央服务器中存储任何用户数据,用户也无需实名注册,也不用担心会应言获罪,你可以访问Diaspora的Github网页贡献代码。

六、Spree

Spree是一个开源的Rails电商平台,优点是灵活性、可定制和易于部署和管理。从软件开发的角度看,Spree的功能性甚至超过了全球最大的电商平台Magento的企业版。

Spree的后端设计非常简洁,开发者很容易更新和维护产品,这同时也会影响和提升前端的用户体验。作为用Rails开发的项目,Spreee非常容易二次开发,处理服务器请求的效率也更高,只需要几行代码就能提升网站的加载速度。Spree的Github代码主页在这里。

====================================分割线================================
文章转载自 开源中国社区[http://www.oschina.net]

时间: 2024-08-20 07:30:11

六个最酷的 Ruby on Rails 项目的相关文章

第一个Ruby On Rails项目

网站开发讲究的是效率,能把一个创意在最短的时间内实现,往往容易占得先机.尽管Ruby On Rails 的开发效率很高,但是如果每次开发网站都需要从头做起注册.登录.权限管理.忘记密码这些繁琐的基 础功能,实在不是一件愉快的事.下面这些代码能够让我们直接关注网站的逻辑实现,而不是繁琐的基本 功能. restful_authentication_tutorial http://github.com/activefx/restful_authentication_tutorial/tree/mast

Windows下Ruby on Rails开发环境安装配置图文教程_ruby专题

本文详细介绍如何在Windows配置Ruby on Rails 开发环境,希望对ROR初学者能有帮助. 一.下载并安装Ruby Windows下安装Ruby最好选择 RubyInstaller(一键安装包). 下载地址: http://rubyforge.org/frs/?group_id=167 . 我们这里下载目前较新的rubyinstaller-1.9.3-p0.exe 一键安装包.这个安装包除了包含ruby本身,还有许多有用的扩展(比如gems)和 帮助文档. 双击安装,安装过程出现如下

Android 访问rails项目

问题描述 新手问题,我有个ruby on rails项目,现在需要android去访问,比如在android上登录,那么是要rails提供webservice吗?还是有其他的访问方法? 解决方案 我不懂ruby on rails但是我想应该用 http进行通信应该没问题···android post或者get请求到ruby on rails 返回状态码··或者返回数据集···XML json 之类数据格式都可以···解决方案二:做一个Android客户端,在服务器端的数据渲染xml或者json,

Ruby on rails开发从头来(五十六)- ActiveRecord基础(一对多关联关系)

一对多关联可以使我们表示一组对象,例如,一个order可以包含有任意多个line item,在数据库中,所有的line item记录都通过外键关联到特定的order. 在Active Record中,通过在父对象中的has_many来定义到子对象的关联,在子对象中使用belongs_to来指定父对象.我们已经在上一篇中了解了belongs_to声明,实际上,在一对多的情况下,和一对一是相同的,所以我们来了解has_many声明. 开发从头来(五十六)- ActiveRecord基础(一对多关联关

Ruby on rails开发从头来(四十六)- ActiveRecord基础(SQL和Active Record)

想象一下Active Record是如何处理SQL的,我们来看看find方法的:conditions参数,调用的时候像这样:find(:all,:conditions=>-),这里的:conditions参数决定了find方法将返回哪些记录,它相当于Sql语句的where部分,例如,要获取所有的名字为Dave,pay_type为po的订单,我们这样写: pos = Order.find(:all,:conditions => "name = 'dave' and pay_type =

Ruby on rails开发从头来(windows)(三十六)- 调试技巧

这次我们来看看一些关于调试的小提示. 首先,而且也是最重要的就是,编写测试代码,在Rails里编写单元测试和功能测试都很简单,使用它们,可以减低bug发生率,也可以避免在你从前的代码中突然出现bug. 测试代码告诉你哪些东西能够工作,哪些不能,并且,测试代码帮助你隔离那些有问题的代码,因为有时候bug并非很快地表现出来. 如果问题发生在一个Model中,我们可以使用脚本script/console来模拟一个irb对话,在其中进行跟踪,例如下面这样: Z:\study\ruby\InstantRa

Ruby on rails开发从头来(windows)(二十六)- 使用Mock对象

前面我们测试了model和controller,学习了一些常用的测试方法,现在我们来深入学习几个有关测试的主题.第一个是使用Mock对象. 在很多时候,我们的程序和实际的环境有依存关系,比如现在的购物车,在汇款,结账的时候要接入网络上的银行账号,这样就造成了我们测试的时候必须要有internet环境.比如,我们在model目录里创建了一个payment_gateway.rb来处理网络银行相关的操作,我们在store_control.rb的save_order方法里这样写: gateway = P

Ruby on rails开发从头来(windows)(十六)-登录

现在我们的购物车程序为两种用户提供了服务,一类是普通用户,一类是管理员.两类用户分别有不同的功能.上次我们又实现了添加用户的功能,这次我们来实现登录的功能. 1.给login_controller添加login方法. 上次使用rails的命令行生成的login_controller中已经包含了login方法,下面修改该方法的内容: def login if request.get? session[:user_id] = nil @user = User.new else @user = Use

Ruby on rails开发从头来(windows)(六)-美化你的列表页面

在上一篇随笔中,我们给Products的创建页面添加了输入验证,今次的内容非常简单,来稍稍美化下Products的列表页面. 1.打开app\views\admin\list.rhtml文件,可以看到下面的代码 <h1>Listing products</h1> <table> <tr> <% for column in Product.content_columns %> <th><%= column.human_name %