您现在的位置是:首页 > 数字化转型 >
框架最终能否在Web开发中占一席之地
摘要必须承认,Web 开发实在不是多么愉快的工作,虽然,近年来,一些也算是有趣的工具在源源不断地推出,诸如 Rubby on Rails, Ajango 一类的框架,诸如 jQuery, Dojo 一类的 JavaScript 库在帮我们摆脱枯燥的工作,但我们仍然要面临着大量繁杂的工作,事实上,我们在 Web 开发领...
必须承认,Web 开发实在不是多么愉快的工作,虽然,近年来,一些也算是有趣的工具在源源不断地推出,诸如 Rubby on Rails, Ajango 一类的框架,诸如 jQuery, Dojo 一类的 JavaScript 库在帮我们摆脱枯燥的工作,但我们仍然要面临着大量繁杂的工作,事实上,我们在 Web 开发领域取得的绝大多数进步都源自对各种繁杂工作的简化。
最近,于阿根廷召开的 Python Conference 上,Django 的开发者 Jacob Kaplan-Moss 回答了一些与此有关的问题 (以下是会议视频)。Jacob Kaplan-Moss 表示,我们已经完成了从思考“网页”到思考“Web 程序”之间的巨大变迁,而现在,我们面临着另一场变迁,从思考传统的“网站”,到所有相关的 Web 技术。
对 Kaplan-Moss 来说,所有相关的 Web 技术的意思是从后台框架到 HTML 5 的所有东西,而这些东西将改变 Web 开发者们的工作方式。如果你对此还没有感觉,可以看一下 280Slides.com,这个网站提供的服务界面已经很象桌面程序(然而,我亲自体验过之后,感觉这样的桌面实在太难用了 - 译者),让人伤心的是,Kaplan-Moss 指出,这个站点的开发者不仅要设计一个全新的框架(Cappuccino),还要设计一种全新的语言(ObjectiveJ)来实现他们的工作。
单单是设计一个框架已经够受的了,更何谈设计一种全新的语言。
不过, Kaplan-Moss 同时指出,关于框架,我们也需要慎重考虑,因为当那些现代 Web 开发者陷入困境的时候,应该怪罪的恰恰是那些框架。
框架有两个问题,它们并不灵活,更坏的是,框架往往将你框住,框架是为大多数人通用而设计的,然而,当很多项目发展到一定程度,他们往往不在需要通用的东西,而是需要一些特定的技术。Django,Ruby on Rails 以及其它框架非常好用,但当你的站点发展到一定规模,问题将接踵而至,框架最终成为你的桎梏。
作为局外人,你可能以为,如果你某个项目中的 Rubby on Rails 让你陷入了困境,你可以很容易使用别的什么框架中的技术来解决,事实上这很难,你没有办法轻松地将一部分交给 Django,另一部分给 Ruby on Rails 或 Erlang。
Kaplan-Moss 是个彻头彻尾的 Python 爱好者,他希望从 Python 寻找解决方案,确实,从历史上看,Python 就是一种”粘合“语言,那些桌面和游戏程序的开发者们一直使用 C++ 或 Java 编写对性能要求高的部分,再用 Python 编写高层的可定制部分。
在 Web 开发上,也可以使用类似的方法,即用 Python 将 Haskell,Erlang, Rubby 等语言粘合起来,然而这些对我们来说仍遥遥无期,Web 仍在膨胀,不管是规模还是复杂程度。
诚然,多数站点的规模都很小,不会碰到 Twitetr, Facebook, Google 等站点的规模与流量问题,然而,正是这些大规模站点促使我们设计出目前我们所使用的各种工具,Twiiter, Google 等站点成为我们的试验台,而一些新的解决方案也将从中诞生。尽管多数 Web 开发者不会遇到类似的问题,但这些问题本身会为我们带来更好的解决方案,最终让 Web 开发不再痛苦。
(本文不涉密)
责任编辑: