文档章节

转 Rails VS Django - 为什么我要选择 Rails!

孔俊
 孔俊
发布于 2013/07/10 11:09
字数 890
阅读 158
收藏 2

很多朋友看我博客会发前,之前一段时间我有写过关于 Django 的文章,但后面变成了 Rails ,为什么我会选择 Rails。

会到两年前在接触这些 动态语言 之前,我就知道了大名鼎鼎 Ruby on Rails ,也知道了大名鼎鼎的 Python 和 Python 社区主推的 Web 框架 Django。我只是需要一门新的开发语言和 Web框架 替代 Asp.net。Python 和 Ruby 之间我需要任选其一。

当时因为 Python 的历史比 Ruby 更加久远,从国内的 Python 社区看来,好像选择它要更好一些,在加上 Ruby 的作者是日本人(我不讨厌日本,而是因为怕这个原因会影响Ruby在国内的发展),所以就选择了 Python + Django。

于是开始深入学习,Python 我并没有刻意的去学习,而是从 Django 开始的,自己找了个项目作为目标用作练习 Django Web 开发,这个项目就是 Tmitter。不久后 Tmiiter 成型了,我开始总结,并写下了《总结一下最近Python学习心得》,第二个项目是 Coderblogs 不过这个项目还没做完我就转向 Rails 了。

我为什么要从 Django 转向 Rails?

看起来 Django 的设计模式和风格跟我的风格不合,我不喜欢 Django:

  1. 一个 View 包括多个 Controller ,一个 Model 包括多个 表的定义;
  2. App 的设计思想,这个不喜欢;
  3. 没用的 Admin ,实际应用中 Django 提供的 Admin Panel 并不适合我;

但是…我放弃 Django 的真正原因却不是上面这几条,而是有一天我无意的看了看 Ruby on Rails,并试着去了解它,然后就爱上了它,Rails 太有魅力了,可以说它让我爱不释手:

  1. Rails 的设计风格跟我之前的风格非常相似,我刚开始接触的时候就发现,好多东西又是后都能才出来;
  2. Rails 的 数据库迁移工具 让我眼前一亮,这是从未接触过了,这东西解决了之前对于数据库发布的烦恼;
  3. 强制的命名规则,这一点在 Django 里面没有,Asp.net 也没有,之前一直会为同组开发人员命名不按规则来而烦恼,现在如果不规则,那就不通过;
  4. 相比 Django 的 MVT,Rails 的 MVC 概念才是我期望的;
  5. Rails Model 验证工具,很方便,在加上 “flash” 用于存放提示信息这个设计思想,又是眼前一亮;
  6. Rails 自动生成工具,自动生成 Migration、Model、Controller、View、自动生成数据库结构…;
  7. Rubyforge 和 Github 这两个 Ruby 社区,Railscasts 上面完美的 Rails 视频教程…;
  8. 很过 Rails 插件的创意都会让我眼前一亮,这些是之前 Asp.net、Django 都没有的,如:will_paginatepaperclipacts_as 系列Formtasticwice_grid….完善的社区里面以及有了相当多的插件、类库,不用再花时间造车轮。
  9. 嵌入敏捷开发的思想;
  10. 还有在开发过程中一种无法用言语表达的爽,这个在我从第一个 Rails 项目到现在第五个项目的开发过程中都有的感觉,我会暗暗叫“爽”;

我每次在跟朋友提及 Rails 的优点时,总是显得是那么兴奋!Rails 确实太让人激动了…

如果你还没有试过 Ruby on Rails,我强烈建议你试试,你会爱上的!(这句同样适用于 .net/php/java … 的 Web 开发人员)

本文转载自:http://huacnlee.com/blog/rails-vs-django/

孔俊
粉丝 11
博文 113
码字总数 13703
作品 0
长宁
程序员
私信 提问
Rails 和 Django 的深度技术对比

我想以一个免责声明来开始下面的内容。我使用Django开发网站已经有三年了,众所周知,我喜欢Django。我已经写了一个开源的应用程序(app),并且我已经将补丁发送到了Django.然而,我以尽可能...

oschina
2015/01/05
11.1K
30
针对 Rails 开发者的 Django 比较

Django 是 Python 最流行的 Web 应用开发框架,很多人认为 Django 就相当于 Python 的 Rails。如果你是一个有经验的 Rails 开发者,那么这篇文章将教会你如何使用 Django 来开发,并且帮助你...

oschina
2012/12/28
4.8K
4
本周链接列表(2007.12.03-2007.12.09)

1. Karrigell Web框架官方入门文档; 2. Django Step by Step (by limodou); 3. 基于 Django 框架的敏捷 Web 开发; 4. Rails vs. Django; 5. 危险的路径——URL的设计; 6. Web架构设计经验分...

长征3号
2017/11/01
0
0
Ruby on Rails VS PHP VS Python

为什么选择Ruby on Rails? 你选择Ruby on Rails的原因是因为它可以在很短时间内方便的创建不同类型的网站。它可以在服务器上管理 极大的存储空间而不会有任何异常。现在很多开发者更喜欢用这...

junwong
2012/08/31
9.2K
37
Rails 学习笔记第一篇(建立一个玩具项目)

Rails的学习我主要基于《Ruby on rails 教程》《Agile Web Development with Rails 4 》,官网的API文档和 来自Ruby-China的指南(http://guides.ruby-china.org/index.html)来学习,整体上...

Marmot_Alex
2014/12/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

用Python帮你上马,哪里无码打哪里

目录 0 引言 1 环境 2 需求分析 3 代码实现 4 代码全景展示 5 后记 0 引言 所谓的像素图,就是对图像做一个颗粒化的效果,使其产生一种妙不可言的朦胧感。费话不多说,先来看一张效果图。 <c...

上海小胖
14分钟前
1
0
python from import与import as 的含义

from os import makedirs, unlink, sep #从os包中引入 makedirs.unlink,sep类 from os.path import dirname, exists, isdir, splitext 从 os包中的path类中引入 dirmame exists 等方法 impo......

dillonxiao
14分钟前
1
0
【转】URL最大长度问题

今天在测试Email Ticket的时候发现在进行Mark as Read/Unread操作时,请求是通过GET方式进行的。URL中列出了所有参与该操作的Ticket Id。于是,我想起GET请求是有最大长度限制的。遂输入超长...

ZhangLG
16分钟前
0
0
Segment段

CurrentHashMap和HashMap相比支持并发操作,整个CurrentHashMap是由一个个的Segment组成的,也是就是常说的分段锁 Segment继承了重入锁ReentrantLock来进行加锁, 可以简单的把CurrentHashMa...

周慕云
17分钟前
0
0
JS Date 自定义格式化方法

JS Date 自定义格式化方法 Date 时间对象 快速 自定义格式化 定义方法 // 自定义格式化方法Date.prototype.format = function(fmt) { var o = { "M+" : this.getMonth()+1, ......

DrChenXX
22分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部