最近Ruby On Rails(ROR)的火热程度真的让人很惊讶,九月份的《程序员》也用了大量的篇幅来介绍这个新兴的Web Application快速开发框架。对新鲜东西向来都很好奇的我却对ROR提不起兴趣,也许是因为Ruby由日本人创造的缘故吧,我对Ruby一直有着抗拒感,尽管ROR是丹麦的小伙子David开发的。
抗拒归抗拒,ROR的成功着实是一种促使我去思考的动力。最简单的,Ruby与Python有着无比紧密的联系,那么在Python下有没有类似ROR的开发框架呢?答案是有,而且还非常的多!大家可以从两个site中找到很多很多的选择:WebProgramming和Web Development with Python。在这让人眼花缭乱的框架中,Zope是最为有名的,但是利用它来做开发却不见得高效,而且Zope所充当的角色更像是一个Application Server,与ROR所关注的范畴并不是很吻合;接下来就是CherryPy、Karrigell、TurboGears和Django了。对于CherryPy的了解其实是来源于TurboGears,因为TurboGears是Python世界中直接与ROR对话的框架,它是ROR的竞争者,因此最早进入了我的视野,大家可以看到ROR与TurboGears同时出现在了这条新闻中:TurboGears: Python on Rails? 。它最大的特点是并没有reinvent the wheel,而是充分利用了现有的优秀框架,提供了从前端至后端的解决方案,而CherryPy正是TurboGears的组成部分之一。Django也是ROR的竞争者,不过它还处于beta阶段,官方版本至今还没有发布,但是它已经受到了广泛重视,而国内的Python大牛limodou也更看好Django,认为它会比TurboGears做得更好。推荐Karrigell也是受到了limodou的影响,他对Karrigell也是宠爱有加,大家可以浏览他的blog,里面有一篇文章说明了他选择Karrigell的理由。
说了半天,面对那么多的选择,大家是不是有些厌烦了呢?是的,我一开始见到这样的一个列表的时候,我也有点蒙了。我开始明白ROR的成功或许不仅因为它本身的强大,而是众人拾柴火焰高啊!Web Programming Framework在Python世界里所面临的困窘丝毫不亚于纷扰的J2EE世界。由于对这些框架了解还不多,我无法为大家作出Professional的推荐,只能够说说自己的想法了。
在这众多框架中,我真正尝试过的只有CherryPy,它真的很小巧,而功能一点都不差。小小一百多K的体积竟然还包含了一个Http Server,所完成的应用程序可以放到一个.py文件中,部署起来会非常的方便,如果仅仅是开发一个小型网站,CherryPy是一个不错的选择。大家可以从IBM网站上的CherryPy for CGI programmers这篇文章中获得一些对CherryPy的感性认识。从中你会很惊喜的发现,代码量竟然是如此之少!由于CherryPy简单而不失强大,更重要的,它是TurboGears的重要组成部分,因此从CherryPy开始了解Python的Web Programming确实可以作为千里之行的第一步啊!
在利用这些框架来开发Web应用程序,你会发现Template是一个十分重要概念。Template就是MVC中的View一样,定义了应用程序的表现层。因此要开发一个实用的Web应用程序,成熟易用的Template系统是必不可少的,在TurboGears中,Kid就是这样的一个Template System。同时,Karrigell框架中Template系统对中文的支持是最好的,更加重要的是你可以从limodou的blog上找到丰富的参考资料。因此,你需要做更规模稍大一点的网站的时候,不妨考虑一下Karrigell了。BTW:limodou兄是一个热心的人,呵呵~~~
以上四个列举出来的框架就差Django还没有细说了,对于它我还真的不知道该说些什么了,大家还是看看Python wiki上对它的介绍吧。而且,limodou兄也是对它倍加推崇的。最后不得不提一下一种现在还没有出现也许在不久的将来会出现的Web开发方式——利用IronPython来开发ASP.NET!这种方式会在什么时候出现,它的影响将会有多大我们不得而知。但是这确实值得期待,我相信这样的开发方式会提高ASP.NET的开发效率。
以前学习Python还是停留在一个纯粹的学习阶段,而现在有了ROR的刺激,我想对于Python的关注也将转移到Web Programming上了。我相信这样的一个学习实践过程是很有价值的,毕竟我学习.NET,学习J2EE,学习Portal,都是围绕着Web Programming。偶是一个花心的人,喜欢去了解很多的东西,虽然都不深刻。其实,了解那么多就是为了能够拓宽自己的思维,从不同的开发方式中为各种问题寻求更好的solution,也就是T型发展的一个面了,至于某一点的深入就放到以后再说吧!吾好读书,不求甚解也,呵呵~~~
让我们都来关注Python在Web Programming的发展吧!欢迎各位与我一起讨论Web Programming with Python!
[后记] 这只是一篇介绍性的文字,以“吹响反击Ruby On Rails的号角”似乎有点名不副其实了。虽然我在文中提到我对Ruby有些抗拒,但是我也深信对于技术不该有偏见。因此,我也会关注ROR的发展,毕竟它获得了广大开发人员的认可,忽视它可是不明智的!当然,我还是希望Python能够在这场竞争中迎头赶上,最终胜出。:)
分享到:
相关推荐
《Ruby on Rails Tutorial》中文版(原书第2版,涵盖 Rails 4) Ruby 是一门很美的计算机语言,其设计原则就是“让编程人员快乐”。David Heinemeier Hansson 就是看重了这一点,才在开发 Rails 框架时选择了 Ruby...
### Ruby on Rails 101:深入理解与实践 #### 引言 《Ruby on Rails 101》是一本介绍Ruby on Rails(简称RoR或ROR)的基础书籍,旨在为初学者提供一个全面而深入的学习框架。本书由Peter Marklund编写,包含了五天...
Ruby on Rails是一款基于Ruby语言的开源Web开发框架,它遵循MVC(模型-视图-控制器)架构模式,简化了Web应用的开发流程。在Linux环境下安装Ruby on Rails需要一系列的依赖包和步骤,本资源包提供了所需的所有组件,...
Ruby on Rails,简称Rails,是基于Ruby编程语言的一个开源Web应用程序框架,它遵循MVC(模型-视图-控制器)架构模式,旨在提高开发效率和代码的可读性。Rails以其“约定优于配置”(Convention over Configuration)...
《Ruby on Rails 3 Tutorial》是一本专门为初学者设计的指南,旨在帮助读者快速掌握Ruby on Rails这一强大的Web开发框架。Ruby on Rails(简称Rails)是基于Ruby语言的一个开源框架,它采用MVC(Model-View-...
《Ruby on Rails for Dummies》是一本专门为初学者设计的Ruby on Rails教程,它旨在帮助新手快速理解并掌握这个强大的Web开发框架。Ruby on Rails(简称Rails)是基于Ruby编程语言构建的一个开源Web应用程序框架,它...
### Ruby on Rails Guides v2 - Ruby on Rails 4.2.5 #### 一、重要概念及基础假设 - **重要概念**:本指南旨在帮助读者深入理解Ruby on Rails(以下简称Rails)4.2.5版本的核心功能与最佳实践。 - **基础假设**:...
《Ruby on Rails入门权威经典》是一本专门为初学者设计的指南,旨在帮助读者全面掌握Ruby on Rails这一强大的Web开发框架。Ruby on Rails(简称Rails)是基于Ruby编程语言的开源框架,以其“DRY(Don't Repeat ...
本书教您如何使用Ruby on Rails开发和部署真正的,具有工业实力的Web应用程序,Ruby on Rails是为诸如Twitter,Hulu,GitHub和Yellow Pages等顶级网站提供支持的开源Web框架。
Ruby on Rails,简称Rails,是一款基于Ruby语言的开源Web应用框架,它遵循MVC(Model-View-Controller)架构模式,旨在简化Web应用程序的开发。Rails由David Heinemeier Hansson于2004年创建,它提倡“约定优于配置...
Ruby on Rails,简称Rails,是基于Ruby语言的一个开源Web应用程序框架,它遵循MVC(Model-View-Controller)架构模式,旨在使Web开发过程更加高效、简洁。本压缩包中的"Ruby on Rails入门经典代码"提供了新手学习...
Ruby on Rails,简称Rails,是由David Heinemeier Hansson基于Ruby语言开发的一个开源Web应用程序框架。这个框架遵循“约定优于配置”(Convention over Configuration)的原则,致力于简化Web应用的开发流程,提高...
Ruby On Rails 框架自它提出之日起就受到广泛关注,在“不要重复自己”,“约定优于配置”等思想的指导下,Rails 带给 Web 开发者的是极高的开发效率。 ActiveRecord 的灵活让你再也不用配置繁琐的 Hibernate 即可...
Ruby on Rails,简称Rails,是基于Ruby语言的开源Web应用框架,它遵循MVC(Model-View-Controller)架构模式,旨在使开发过程更加简洁高效。这个“ruby on rails 教程源码”很可能是为了辅助学习者深入理解Rails的...
Ruby on Rails,简称Rails,是一款基于Ruby语言的开源Web应用框架,它遵循MVC(Model-View-Controller)架构模式,旨在提升开发效率和代码的可读性。Rails以其“约定优于配置”的设计理念,以及“DRY(Don't Repeat ...
### Ruby on Rails与Java框架对比分析 #### 一、引言 随着互联网技术的迅猛发展,Web开发领域也迎来了各种各样的开发框架和技术栈。在众多的开发框架中,Ruby on Rails (RoR) 和 Java 的相关框架尤其受到关注。本文...
Ruby on Rails 4 Tutorial 是一本深受开发者欢迎的书籍,它详细介绍了如何使用Ruby on Rails这一强大的Web开发框架。Ruby on Rails(简称Rails)是基于Ruby语言的开源框架,以其“约定优于配置”(Convention over ...
Ruby on Rails(简称Rails)是一种基于Ruby语言的开源Web应用程序框架,它遵循MVC(Model-View-Controller)架构模式,旨在简化Web开发过程并提高效率。在这个“ruby on rails在线考试系统”中,我们可以探讨以下几...