ruby网站开发(ruby从新手到独立开发需要多长时间)

本文目录
- ruby从新手到独立开发需要多长时间
- 用ruby开发,w网页访问方法时提示template is missing,怎么解决呢
- Ruby 0n Rails 在网站开发上有什么优势相对于其他的语言php java等
- Ruby是用来做什么的程序!是编网页的,还是和C++一样是开发大型软件的
ruby从新手到独立开发需要多长时间
上手之类没问题的,不过ruby的思维习惯和一般的语言有点不一样,需要把你开发的思维改一下。
真要做一些应用开发,我估计三个月足够了吧,不过要是真的很精通,就算你学C或者Java,再给1年也不为过啊。
编程最核心的是你的思路、整体素质、算法和结构上面的能力,语言是其次的,但是语言方面,需要很多的经验积累,这样才能写的优雅和简洁,并且尽量利用该语言的特性。
用ruby开发,w网页访问方法时提示template is missing,怎么解决呢
在Ruby中,一切皆是对象。下面举一个例子来更直观地说明Ruby语言的这一特点。
在Java中,求一个数的绝对值的代码如下。
int c = Math.abs(-20);
而在Ruby语言中,一切皆是对象,也就是说“-20”这个数也是一个对象,因此,求一个数绝对值的Ruby代码形式如下。
c = -20.abs 这样的代码编写方式是不是更形象一些呢?
Rails 框架是一个更符合实际需要而且更高效的Web开发框架,Rails结合了PHP体系的优点(快速开发)和Java体系的优点(程序规整)。
Rails是一个全栈式的MVC框架,换句话说,通过Rails可以实现MVC模式中的各个层次,并使它们无缝地协同运转起来。
在实际开发一个MVC模式的Web应用项目时,如果使用Java开发,需要用到Struts、Hibernate和Spring等框架,而且需要额外整合3个框架开发出的内容。而使用Ruby语言开发相同的项目时,只需要用到Rails框架就可以完成。
RoR的效率肯定要比Java高一个数量级,这确实是事实,比PHP至少也要高好几倍,这也是事实,这一点在这篇文章中不展开了,但是为什么开发效率这么高,我也想谈谈我的看法,当然还很不成熟的看法:
一、主要原因是ruby语言的语法非常强大我记得庄表伟说过一个观点:“框架是强化的语法”,意思就是说语法比较弱,所以才需要n多框架,如果语法很强,框架就很少。这一点在Java和ruby身上得到了验证。
1、ruby的open class VS Java的AOP,反射、动态代理,字节码增强等技术JDK1.3开始引入反射,就已经打开了Java这种静态类型语言通往动态类型语法的潘多拉魔盒。随后的动态代理技术,字节码增强技术,静态和动态的AOP技术开始层出不穷,为什么呢?就是需要在程序运行期动态改变对象的行为。但是对于ruby来说是open class的,语法级别上就支持程序运行期修改对象行为,所以Java需要很复杂技术才能实现的功能对于ruby来说就是非常简单的搞定了。
2、ruby的duck typing VS Java的IoC,泛型Java的IoC不用说了,泛型在库级别也开始广泛使用。IoC就是根据对象行为来进行对象组装,泛型就是在不确定对象行为的情况下确定对象的交互。但是ruby的对象行为是在运行期才确定的,天然就是泛型的,行为不是静态的,所以不需要IoC。
3、ruby的block,closure VS Java的匿名内部类大家对spring的Template肯定印象很深刻,但是这是ruby标准的用法,所以各种资源释放,异常处理在语法级别上就支持的很好,做起来很简单。
4、ruby的Meta programming VS Java缺乏method_missing机制大家耳熟能详了,Java没有这么强的Meta programming,很多ruby magic耍不出来。
5、脚本语言 VS 编译语言这也是一个很大的优势,脚本编程速度确实快。
二、rails框架确实做的很棒
1、full-stackrails是一个概念一致的fullstack框架,不知道为什么,在Java世界目前只有Rife这一个可以和RoR相提并论的fullstack框架,但是Rife的实现并不好(作者从PHP转过来的,和DHH爆发过口水战)。不过因为底层语法支持的不同,用Java是做不出来RoR框架的。因此也有人用Groovy做Grails,不过这帮人不太争气。
2、CoC这个不用说了,现在很多Java框架开始吸收这一点。
3、为web开发良身打造web开发需要用到各种技术全部提供,绝对的贴心,如果用Java,这些东西都需要自己集成或者自己实现,省了一大堆麻烦事。
4、开发测试部署快速这个不说了,Java劣势太明显了
关于“效率提高的来源”问题,我的理解就是次要复杂性被ROR降低到了极致。说的难听一点,不是ROR太聪明,而是我们以前做得蠢事太多了。各种各样的xml, taglib,单元测试困难 ... ...
做过项目的人都知道这些次要复杂性很多情况下真的是要命的。ROR没有降低软件的内在复杂性,也就是业务问题。但是它把复杂性降低到无限趋近于业务复杂性,也有人称ROR是Web开发的DSL。而解决业务问题正是人发挥聪明才智的地方,ROR不能代替人,但是它把人从次要复杂性的泥潭之中解救了出来。
Ruby 0n Rails 在网站开发上有什么优势相对于其他的语言php java等
1.扩展很方便,功能很齐全。开发的时候会有很多很多不同需求,但是这个东西已经有人写过了,你可以直接拿来就用,比如nokogiri,paginate等等。而且很方便获取,用gem install就可以。
2.开发效率快,因为你不用注重底层代码构建,提供的基础方法很多,php或者java还要手写。
3.数据库可移植性太强了。一份database.yml,可以对应多种数据库,前提是你安装了gem包。
4.方便移植带走。你装了很多gem,只要另外一台server上ruby版本和rails版本一样,你可以直接bundle install,把你的环境直接安装进来。如果php用到非标准库,你还用phpize编译,改php.ini,比较麻烦。
5.PHP和Java的学习代价略高于rails,当然你也可以直接使用现成的框架,比如thinkphp这种的。
Ruby是用来做什么的程序!是编网页的,还是和C++一样是开发大型软件的
Ruby是一种功能强大的面向对象的脚本语言,她可以使您方便快捷地进行面向对象编程.有时使用像Smalltalk、Eiffel或C++这样正式的面向对象语言来开发一些小项目显得有点小题大作,而Ruby刚好可以满足这些面向对象编程的需求.当然了,您也可以使用Ruby进行普通的面向过程编程. Ruby的文本处理能力极强,与Perl不分伯仲.同时,Ruby的语法简单,还有异常处理以及迭代器等构造,使编程变得简单明了. 简而言之,您可以像使用Perl一样方便快捷地进行面向对象的开发.

更多文章:
another time(another time和other time的区别)
2026年10月11日 05:00








