Flex与JSON及XML的互操作
平台需要互操作性。在这篇文章中,作者仔细研究了Flex和JSON及XML的互操作性。文章也包含了使用E4X库来将XML映射到图表和表格组件的内容,还演示了如何使用as3core库来解码JSON消息。
作者 Luciano Ramalho译者 Jason Lai 发布于 2006年11月27日 上午9时26分
原文发布于 2006 年 11 月 16 日上午 11 时 35 分。
由于两位 Web 开发人员的努力,现在我们已经有一份对 Ruby on Rails 和 Python 的 Django 框架颇为客观公正的比较测评。Ben Askins 和 Alan Green 共同制定并各自并行开发了一个分享书评的简单 Web 应用。他们的报告以及源代码都已经发布到网上,供大家阅读及下载。从测评结果中,他们得到这样一个结论,两个框架没有哪个明显优于另外一个,因此最佳方案很可能还是坚持使用你所选择的语言写出的框架。但是,仍然存在一些关键指标,使得在二者之间做选择显得不是那么容易。
在这里我们无须介绍 Ruby on Rails ,但对于 Django 还是有必要着笔下墨做下介绍。Django 之所以能在 Python 世界中脱颖而出,主要有两个原因:一是Google 的大力支持,二是 Python 的掌舵人 Guido van Rossum 一反常态,在众多基本差不多的选择中对 Django 情有独钟。此外,Alan 和 Ben 也指出,“Django [……] 并不是 Ruby on Rails 的仿制品”。
在 两位作者实现的Web 应用中代码行的比较方面,Rails 以比 Python 少 4% 行数的成绩而胜出。尽管 Django 中的模板显得更加冗长,但是 Django 提供一个几近自由的管理接口,因而使得实际上他们写出来的 Python 代码比 Ruby 代码还要少。在开发时间方面,Rails 实现用了 25 小时 45 分,而 Django 仅用了 16 小时 36 分钟。当然,我们不能轻易断言到底 是Ben 还是 Alan 代码写得更快,但这还是对在 Rails 上编写管理表单时需要的不同起了一定说明作用,而 Django 则通过模型中的若干提示生成这些代码。作者推荐考察诸如 AutoAdmin 和 Streamlined 等 Rails 插件来进行相应的改进。
报告指出,通过使用 RJS 和集成的 JavaScript 库,Rails 使AJAX 开发变得更加容易,而 Django 包含了 JSON 功能,但将所有的 JavaScript 编码以及对客户端库的选择留给了开发人员。JavaScript 高手们可能会更喜欢 Django 的不干预政策,但除了这些人以外,其它所有人都能从 Rails 内建的 AJAX 支持中受益。
另一方面他们表示,Python 框架为国际化提供了更优秀的基础支持,因为 Python 平台提供与生俱来的 Unicode 支持及 gettext 消息替换功能,使得多语言网站可以针对不同的 HTTP 请求产生本地化响应。
Rails 的主要优势在于其迁移机制,可以使得对数据模型的变更尝试和改进变得容易,甚至对于生产环境的应用程序来说也是如此。Django 在此方面则尚无建树。倘若 Alan 和 Ben 忽略代码中迁移代码的行数,那么 Ruby 和 Python 的代码数量是大致相等的。在加入模板后,Rails 解决方案要比 Django 方案少出 15% 的代码行数,即便在提供了定制的管理页面时也是如此。在这里作者拿苹果和(不存在的)橘子做比较,表现出对 Django 的偏袒。
Green 和 Askin 二位先生颇为简洁地总结到:“尽管在二者之间做出选择可能是件困难的事情,但好消息是任意一个框架都是团队开发 Web 应用的优秀选择。”假如你的应用中有高级的国际化需求,他们的分析报告表明 Django 会是最好的选择。那些不需要国际化特性,但需要现成的 AJAX 功能,期望有大量不同模板以及不想被数据迁移困扰的开发人员,则将从 Ruby on Rails 中受益匪浅。
很可惜我今天才看到这则消息
我好奇Django和Rails哪个性能好一些,也许是两只乌龟赛跑,不过总有区别
两个产品目前都在发展过程中,不过关于Rails的资料现在更多一些。
最近开始研究 django ,感觉 django 很多设计思想很好,而且贯彻的很彻底(比如松耦合),内置的国际化支持和后台管理界面等功能都很吸引人,URLconf 的设计很棒,以前我总以 ror 的方式来看django ,似乎有欠公允。现在真正明白了一句话:“when you in Rome, Do in Rome as Rome does"
“Django不是Rails的仿制品”,文中这句话确切说出Django爱好者的心声。提到Django,常被说为Python的ROR框架,其实用过的同学们都清楚,Django拥有众多独特的创新之处,像页面模板嵌套和缓存,以及根据实体关系映射自动生成的后台管理模板等等。而且Django框架的版本一直没有停止更新的步伐,最新是23号release的0.96版本,这样看来Django的用户必将会越来越多。
绝对不可能是仿制,原因很简单。Django出现的时候ror还没有出现呢。不信你查一下。
平台需要互操作性。在这篇文章中,作者仔细研究了Flex和JSON及XML的互操作性。文章也包含了使用E4X库来将XML映射到图表和表格组件的内容,还演示了如何使用as3core库来解码JSON消息。
本文将简要介绍面向组合编程(COP,Composite Oriented Programming)的概念,展示它如何规避OOP存在的一些问题,并重新点燃使用可重用部件组装领域模型(Domain Model)的希望。
Mike Snell和Lars Powers用他们最近由Sams出版的新书《Visual Studio 2008揭秘》,试图帮助大家提高开发人员的生产力。本文包括一个下载样章——第10章调试。
Pierre Vigneras在本文中讨论了作为标准之一的BPEL所存在的问题。Pierre先给我们大致介绍了一个简单的并行流程,接着讨论了从业者在试图以一个结构化模型为基础表达非结构化流程时遇到的一系列问题。
Jeff Dwyer就关于他的新书(《Pro Web 2.0 Application Development with GWT》)、GWT1.5以及创建可搜索的Ajax应用谈了一些他的见解。
我们需要设身处地地为客户及客户的业务本身着想,与客户同舟共济。更多创新的思路、产品和模式也同样将为IT业带来新的出路。IT业并不需要坐以待毙,在春天到来之后,市场将会更加繁荣!
6 条回复
回复