Web开发中是否有框架的地位

开发 前端
尽管框架有其便利性,但是必须承认,Web开发实在不是多么愉快的工作,本文将讨论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 开发不再痛苦。

【编辑推荐】

  1. 22个开源的PHP框架
  2. 国外十大***PHP框架排名
  3. 全栈式Web服务框架Metro
  4. 如何选择最合适的Web开发框架
  5. JSP开发框架FastJSP简介
责任编辑:彭凡 来源: cnbeta
相关推荐

2009-09-03 16:52:44

Java Web开发框

2010-05-19 14:38:11

Web开发框架Web层

2022-06-30 08:13:44

PythonWeb编程语言

2010-04-20 09:14:33

Struts

2024-03-11 10:19:30

Plasmo浏览器Web

2014-03-28 15:36:43

移动WebJavaScript开发框架

2017-05-23 14:20:17

WebPython框架

2015-07-13 10:41:30

Web开发 Python 框架

2015-08-25 09:53:22

Web开发Python框架

2009-06-18 12:06:30

Java Web开发框

2023-10-22 20:20:37

FiberGo

2012-07-30 09:32:00

Web

2022-07-03 17:10:15

JavaScript编程语言开发

2009-06-25 17:14:59

JSF框架

2012-06-12 13:33:38

HTML5

2015-11-17 13:15:23

Apache开发

2016-01-27 09:39:13

JoobyJava Web流程

2022-04-07 15:41:36

PythonWeb 开发框

2013-05-21 09:54:39

Web前端

2010-09-30 08:24:55

Web移动应用框架
点赞
收藏

51CTO技术栈公众号