阅读更多

19顶
2踩

Web前端

转载新闻 框架最终能否在 Web 开发中占一席之地

2009-09-27 10:38 by 资深编辑 wutao0603 评论(8) 有6486人浏览

必须承认,Web 开发实在不是多么愉快的工作,虽然,近年来,一些也算是有趣的工具在源源不断地推出,诸如 Ruby on Rails, Django 一类的框架,诸如 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 以及其它框架非常好用,但当你的站点发展到一定规模,问题将接踵而至,框架最终成为你的桎梏。

作为局外人,你可能以为,如果你某个项目中的 Ruby on Rails 让你陷入了困境,你可以很容易使用别的什么框架中的技术来解决,事实上这很难,你没有办法轻松地将一部分交给 Django,另一部分给 Ruby on Rails  或 Erlang。

Kaplan-Moss 是个彻头彻尾的 Python 爱好者,他希望从 Python 寻找解决方案,确实,从历史上看,Python 就是一种”粘合“语言,那些桌面和游戏程序的开发者们一直使用 C++ 或 Java 编写对性能要求高的部分,再用 Python 编写高层的可定制部分。

在 Web 开发上,也可以使用类似的方法,即用 Python 将 Haskell,Erlang, Ruby 等语言粘合起来,然而这些对我们来说仍遥遥无期,Web 仍在膨胀,不管是规模还是复杂程度。

诚然,多数站点的规模都很小,不会碰到 Twitetr, Facebook, Google 等站点的规模与流量问题,然而,正是这些大规模站点促使我们设计出目前我们所使用的各种工具,Twiiter, Google 等站点成为我们的试验台,而一些新的解决方案也将从中诞生。尽管多数 Web 开发者不会遇到类似的问题,但这些问题本身会为我们带来更好的解决方案,最终让 Web 开发不再痛苦。

本文来源:

http://www.webmonkey.com/blog/Do_Frameworks_Have_a_Place_in_Web_Development_s_Future_

来自: comsharp
19
2
评论 共 8 条 请登录后发表评论
8 楼 sykp241095 2009-10-25 20:41
按需求而定的,不过说起来,框架确实不灵活
7 楼 tedeyang 2009-10-13 10:50
没有统一最好,不然俺们就没饭吃
6 楼 xfuajiao 2009-10-13 09:49
不理解,好像没表达出来框架
5 楼 luckytiger 2009-10-10 10:09
web 开发 还是觉得php好
4 楼 whaosoft 2009-09-28 09:36
  确实不明白~!
3 楼 windlike 2009-09-28 09:05
你到底在说什么
2 楼 liuming 2009-09-28 02:19
tjhyupo505 写道
要是能有一个统一的解决方案就好了,可惜不可能。

这个世界的精彩就因为它不是统一的而是纷呈的。
1 楼 tjhyupo505 2009-09-27 16:04
要是能有一个统一的解决方案就好了,可惜不可能。

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • VB.NE程序设计

    VB.NE程序设计

  • VB.net调用Com组件方法

    第一种方法 Dim oType As Type = Type.GetTypeFromProgID("Aniu.AnSoft") Dim obj As IAnSoft = CType(Activator.CreateInstance(oType), IAnSoft) Dim bk As IBasePlugInterFace = obj.get...

  • VB调用C#生成的COM组件

    在COM中使用.NET程序集 文章目录在COM中使用.NET程序集使用`ClassInterface`暴露.NET类使用AutoDual实现早期绑定使用`AutoDispath` 实现后期绑定使用`None` 实现后期绑定使用特性调整类型库元数据控制COM中GUID标识控制COM可见性封送处理常用数据类型的封送处理及使用MarshalAs属性控制数据的封送处理行为其它生成COM类型库的方法使用Tlbexp使用程序集注册工具Regasm 使用ClassInterface暴露.NET类 这个方法比较简单,

  • 在VB中怎么实现COM+

    终于试验成功了! 我在原本只有win2000 professional 的机器上又安装了一个win2000 server,并将其配置成主域 控制器,然后在另一台win98机器上用Administrator登录,启动VB,写个小程序试了一下,OK! 为避免大家继续在黑暗中摸索,我现将试验用的具体例子及步骤详述如下(一个最简单的例子): 1、在win2000 server机器上用VB(+S

  • 在 vb.NET 中使用 COM+ 服务

     查看原帖2002-04-29 15:33作者: 出处:Microsoft责任编辑:  摘要:将新的 Microsoft .NET 组件添加到现有的 COM 和 COM+ 应用程序中,它们将协同工作;如果您需要开发能够参与事务、利用基于角色的安全性或者与队列交互的 .NET 应用程序,这样做对您很有帮助。  目标 学习在 Microsoft? .NET 中使用 COM+ 服

  • VB.NET中制作COM_DLL在VBA、VB中调用

    在.net中新建的dll在VB.VBA中不能正常使用,使用该方法可以解决。

  • COM/COM+远程匿名访问测试成功[转]

    详细步骤!1、首先在VB中写一ActiveX(DLL)组件,工程名为COMTEST。编译后在另一程序中调用,确认组件工作正常。2、打开“控制面板/管理/组件服务”,在“COM+应用程序”下利用“COM+应用程序安装向导”创建一个空的COM+应用程序,名称为“COMTEST”。3、在“COMTEST”下,新建“组件”,在“组件安装向导”中,选择“安装新组件”(注意:不要使用“导入已被注册的组件”),...

  • vb.net ADO快速读取excel

    一:写在之前 其实我还在写erlang, vb什么的才和我没关系,要不是为了妹子,才不会看 二:关于vb的看法 感觉vb的资料非常乱,由于时间太久,而且有vb,vb.net的分别,需要花费更多的时间去筛选资料 就比如查找读取excel,查找出大量..2000年多有的资料,简直惨..接口已经变过了.. 三:vb 基本的读取excel方法 Dim xlapp A

  • vb.net创建和调用DLL教程

    1,创建类库项目。首先打开VS2015,点击菜单 文件-新建项目-模板-选择Visual Basic类库,修改名称为Test,如下图。然后确定下一步 2,保存项目。在Class1添加一个求和方法CalAdd 3,生成DLL文件。点击菜单 生成-生成Test,编译成功后,打开我们项目保存的文件夹..\Test\Test\bin\Debug,我们可以看到里面有Dll文件,这

  • VB.Net程序设计:动态添加按钮或者控件

    由于程序需要,在一个窗体中,读取数据库的记录内容,然后在界面中添加相应的按钮,供用户点击,响应对应的事件。 谷歌一下很多,看到: http://developer.51cto.com/art/200910/155672.htm http://www.dotblogs.com.tw/yc421206/archive/2009/06/01/8636.aspx http://wenku.ba

  • .net com组件

    <br /> <br />1. 在.net Visual Studio 中新建一个Class项目。<br /> <br />2.让类项目com可见(关键一步)<br /><br /> <br /><br /><br />3. 在项目中新添加一个类,代码如下:<br />using System;<br />namespace ClassLibrary1<br />{<br />   //定义接口,这点很重要(此接口中的方法与COM组件中的方法一致)<br />    public interface iCl

  • COM, COM+ and .NET 的区别

    所有的优秀程序员都会尽自己的最大努力去使自己所写的程序具有更好的可重用性,因为它可以让你快速地写出更加健壮和可升级性的程序。   有两种使代码重用的选择:   1.白盒:最简单的一种,就是把你的程序片拷贝到另一个文件中。   2.黑盒:它包括把编译过的程序片连接起来。因此客户端可以调用的编译过的黑盒类库就叫作组件。   .Net中也同样为开发者提供了类似于COM的建立和展开组件的方法。开发人...

  • VB.net,VB2005实现TCP协议编程

    (原文http://www.webmastersky.cn/viewthread.php?tid=33296) TCP 协议是TCP/IP协议簇中的传输层中的一个协议,也是TCP/IP协议簇最为重要的协议之一。在TCP/IP协议簇中,有一个协议和TCP协议非常类似,这就是UDP协议,网络上进行基于UDP协议的数据传送时,发送方只需知道接收方的IP地址(或主机名)和端口号就可以发送UDP数据包。而

  • VB.Net 菜鸟指南

    常看到有自称菜鸟的,要代码,一开始不知啥为菜鸟,听起来很不顺耳. 现在习惯了,也为他们着想(原来我在别的地方也是菜鸟)。是菜鸟没什么了,只是别做懒鸟。收集一些资料,希望对菜鸟和新手都有点好处:0. 当然最好先看看VB.Net Developer Center  http://msdn.microsoft.com/vbasic/    (VB.Net 的数组是从零开始的,偶也才发现)1

  • Com+事务

    1、手动提交using System;using System.Collections.Generic;using System.Text;using System.Data.SqlClient;using System.EnterpriseServices;namespace prjEnterprise{    [Transaction(TransactionOption.Require

Global site tag (gtag.js) - Google Analytics