什么是Ruby on Rails_cowboy_wz的博客-程序员宅基地

技术标签: 语言  rails  java 学习  编程  perl  smalltalk  ruby  

让我们先来看一张图片:

看完这张图片,我心里充满疑惑,难道Ruby + Rails真的能够有这么好吗?

心里有这么几个疑问:
  1. Ruby是谁开发的?
  2. Ruby是什么?
  3. Rails是什么?
  4. Ruby on Rails与目前已经有的开发语言相比有什么优点?为什么要使用它?
  5. Ruby on Rails稳定吗?效率高吗?能够承受大数据量的访问吗?
  6. Ruby on Rails有长远的发展前景吗?
让我们一个一个的解开这些疑问:
  • 松本行弘"Matz"(Matsumoto Yukihiro)是Ruby语言的发明人,他从1993年起便开始着手Ruby的研发工作。他一直想发明一种语言,使你既能进行高效开发又能享受编程的快乐。1993年2月24日Ruby诞生了,1995年12月Matz推出了Ruby的第一个版本Ruby 0.95。不久Ruby便凭借其独特的魅力横扫日本,相信在不久的将来,Ruby将走向世界。Ruby是日本人发明的,这点让我很不是滋味,人也是很奇怪的,美国,欧洲比我们强还能接受,而日本比我们强我就….
  • Ruby是一种有着超级清晰语法的纯面向对象的编程语言,它能够让编程变得有趣和优雅(这点在后面的内容中确实得到印证)。Ruby成功的组合了Smalltalk的优雅以及Python的易用性,还有Perl的实用主义。Ruby起源于90年代的日本,在过去的几年时间里随着更多的英语资料的出现变得更加的流行。
  • Rails是一个用来开发数据库后台的WEB应用的开源框架。
  • 到目前为止我发现Ruby on Rails最大的优点就是在于简单!RoR的核心思想就是“更少的编程,更简单的配置!”
  1. 安装和配置非常简单,不象Java需要安装运行环境,安装应用服务器,然后再进行一大堆的配置。在安装上Ruby和Perl很象,只需要装一个简单的解释环境就可以了(和Perl很象的地方很多,例如正则表达式的支持)。RoR避免了繁杂的XML配置文件,一个Rails应用程序只需要简单编程就可以通过影射和发现配置好所有的东西。你的应用程序和数据库里已经包含了所有Rails需要的东西。
  2. 编码简单,很多代码都是可以自动生成,可以自动生成MVC,可以自动生成框架、Web服务。甚至你只要写上一行代码就可以实现以前使用Java上百行代码的工作量,比其他开发工具速度快10倍!。当然越少的编程量就意味着越少的bug。
  • 关于稳定性目前还没有很全面的数据,暂时还不太清楚。关于效率,从相关的资料上可以看到: 有人说RoR的性能和开发效率比java的struts+spring+hibernate经典搭配还要快15%-30%
  • RoR目前发展势头强劲,在使用RoR的过程中你将会发现它已经具备了作为WEB开发语言的本质。如果它能够以简单为主的理念继续发展,相信它将象当年的PHP和Linux在网络上引起新的一轮革命
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/chl033/article/details/3265960

智能推荐

ubuntu下安装与卸载软件方法_软件安装包里的卸载软件怎么用_S-A-M的博客-程序员宅基地

刚 刚 接触 ubuntu就开始一直在安装语言包、升级、常用软件和其它相关依赖等等东西,总的来说,是一个劲儿的装,缺全然不知怎么卸载,现在把安装和卸载写在一块,一旦出现安装的相关问题,可以将其卸载,慢慢分析错误,再安装,这样就不会导致重复安装(每次安装方法不同导致路径不同而引起混

Java使用Pipeline对Redis批量读写(hmset&hgetall)_youngitman的博客-程序员宅基地

一般情况下,Redis Client端发出一个请求后,通常会阻塞并等待Redis服务端处理,Redis服务端处理完后请求命令后会将结果通过响应报文返回给Client。这有点类似于HBase的Scan,通常是Client端获取每一条记录都是一次RPC调用服务端。在Redis中,有没有类似HBase Scanner Caching的东西呢,一次请求,返回多条记录呢?有,这就是Pipline。官方介绍...

2017-2018-1 20155222实验三 实时系统_weixin_34410662的博客-程序员宅基地

2017-2018-1 20155222实验三 实时系统1.学习使用Linux命令wc基于Linux Socket程序设计实现wc(1)服务器(端口号是你学号的后6位)和客户端客户端传一个文本文件给服务器服务器返加文本文件中的单词数上方提交代码附件提交测试截图,至少要测试附件中的两个文件2.使用多线程实现wc服务器并使用同步互斥机制保证计数正确上方提交代码下方提交测试对比单...

sublime分屏显示_weixin_33859231的博客-程序员宅基地

感觉分屏还是很有用的,使用sublime也是可以实现的。快捷键:shift+alt+(1,2,3,4,5,6,7,8)切换:ctrl+1|2 (窗口编号)转载于:https://www.cnblogs.com/hanpengyu/p/4589151.html...

ElasticSearch教程之基础介绍篇(二)_牧子与羊的博客-程序员宅基地

ElasticSearch API的简单使用POST 增DELETE 删PUT 改GET 查偷个懒,等有时间的时候再总结这篇使用kibana操作ElasticSearch

如何避免360开机启动及自动弹窗_weixin_34344403的博客-程序员宅基地

先说教程下载软件:https://pan.baidu.com/s/1kWLREFP 密码:9yqv(程序员版)    :https://pan.baidu.com/s/1o9DEcno 密码:4b9h(普通版)当然,害怕软件有病毒的可以自己去编译,源码在此:https://paste.ubuntu.com/26366578/建议使用vc++2015及以上版本编译,之后在工程文...

随便推点

使用svn+jenkins,提交代码即可自动构建_shizao的博客-程序员宅基地

1 安装JREsudo apt-get install openjdk-8-jre sudo apt-get install openjdk-8-jkd配置环境变量,加入启动文件里面将下面的内容加至文件 /etc/profile 中重启查看路径是否设置成功。Echo $PATH    2 安装Jenkinswget -q -O - https://p...

C++ Builder 动态创建控件_bcb dbgrid_RainingZ的博客-程序员宅基地

当开发类似解释程序或实现可视化操作功能等一类的应用程序时,都需要动态地创建控件(对象),而且还要为这些控件添加适当的事件处理程序,下面将介绍在C++Builder中如何实现基本的实现框架。动态创建控件的一般过程:  TButton *btn = new TButton(this);  btn->Caption = "Button1";  btn->Parent = this;  btn...

浙江工业大学 计算机及应用专业课,浙江工业大学2011年计算机及应用专业考试计划(本科)..._无敌小辫子的博客-程序员宅基地

(1080702)计算机及应用主考院校:浙江工业大学层次:本科序号 课程代码 课程名称 学分1 03708 中国近现代史纲要 2.02 03709 马克思主义基本原理概论 4.03 00023 高等数学(工本) 10.04 04747 JAVA语言程序设计(一) 3.04 04748 JAVA语言程序设计(一)实践 1.05 04737 C++程序设计 4.05 04738 C++程序设计实践 2...

hadoop之MapReduce详解【转】_skwang_君永夜的博客-程序员宅基地

转自:https://blog.csdn.net/weixin_44591209/article/details/88049264MapReduce源于Google一篇论文,它充分借鉴了“分而治之”的思想,将一个数据处理过程拆分为主要的Map(映射)与Reduce(归约)两步。简单地说,MapReduce就是"任务的分解与结果的汇总"。 MapReduce (MR) 是一个...

Altera SoC开发流程_weixin_30474613的博客-程序员宅基地

该笔记主要记录SoC的软件开发流程,主要包含一些Linux下的操作命令1. 编写design file .c .h2. 编写makefile 可执行文件名,交叉编译环境,compile flags3. 拷贝文件到SD Card (1)通过USB mount 1)mount命令格式: mount [-t vfstype] [-o opt...

Python可视化 | Seaborn5分钟入门(二)——barplot&countplot&pointplot_python barplot_易执的博客-程序员宅基地

微信公众号:Python读财如有问题或建议,请公众号留言Seaborn是基于matplotlib的Python可视化库。 它提供了一个高级界面来绘制有吸引力的统计图形。Seaborn其实是在matplotlib的基础上进行了更高级的API封装,从而使得作图更加容易,不需要经过大量的调整就能使你的图变得精致。注:所有代码均在IPython notebook中实现ba...

推荐文章

热门文章

相关标签