`
canonical
  • 浏览: 366916 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

[导入]既先进又落后的web开发领域

阅读更多

    web开发这个领域是很有意思的。首先,web的兴起是在软件业发展到一定阶段才发生的,它必然吸收了软件业最优良的思想,必然有其本质上先进的地方。另 一方面,web的应用毕竟是时日较短的事情,造成很多基础架构方面也是薄弱的,原始的。
    具体来说,前台html的展现模型本身是非常先进的。xhtml+css+js实现了结构(structure), 表现(presentation)和行为(behavior)的分离。xhtml本身是简单的文本文件,通过工具的支持可以做到结构上的"所见即所得" (WYSIWYG)。 在js中操纵html结构具有多种方式:可以通过id直接访问html片断,可以直接操纵dom的层次结构,可以将html作为线性文本处理,可以应用 xml相关的技术对dom结构进行变换,可以动态切换html元素的css风格等。dom结构的访问方式是高度统一的,通过parentNode, childNodes, setAttribute, getAttribute等少数几个 API函数,我们可以通过一种简洁一致的方式操纵所有的节点和相关属性(当然,IE这方面的bug不少)。html相关技术中所显示的结构控制能力远远超 越了传统桌面程序中组件技术所能达到的程度。
    但另一方面,html也是原始的,缺乏现代应用程序所必需的标准控件,典型的如Tree控件和Tab控件等。每个开发商都不得不实现并维护自己的界面库。 通过web界面调用后台业务逻辑的方式更是很粗糙的。基础的servlet只提供了基于IO的有限状态机模型,对于后台功能缺乏有效的组织,而对于前台界 面也缺乏合适的抽象手段,仅仅作为文本输出。MVC框架建筑在servlet模型之上,将后台逻辑功能以一种统一的组织方式向外暴露。而tag技术在前台 界面中的应用,使得我们可以有效的识别并分离出我们所关心的结构。这些技术的发展都是web开发模型逐渐精细化的必然结果。
    为了在服务器端获得足够强的结构控制能力,有些人求助于桌面程序的历史开发经验,希望通过java语言中的结构表达能力来扩展web开发的模型,于是便有 了echo2, tapestry这样的组件化web开发框架。坦率的说,我并不看好这类强类型建模的框架。除了性能上的原因之外,我反对这类框架的一个主要原因是 java语言直接表达的结构一般无法达到用xml文本表达的结构的统一性和灵活性,从而很难应对界面的快速变化。实际上,对web界面进行组件化的分解并 不一定需要一种强类型语言支持的组件模型。通过自定义标签的使用,我们完全可以实现将页面分解为多个子部分的目的,这一点已经由witrix平台中的 tpl模板技术所证实。

    web开发是个既先进又落后的领域。很多人面对这种矛盾的情况,难免思想上会出现混乱。关键是要认清技术的本质而不要被OO是否必需等抽象的讨论所迷惑。
分享到:
评论

相关推荐

    myeclipse和eclipse的web项目导入

    MyEclipse 和 Eclipse 都是流行的集成开发环境(IDE),它们都支持 Web 项目的开发和部署。在这篇文章中,我们将讨论如何将 MyEclipse 中创建的 Web 项目导入到 Eclipse 中,并进行相应的配置以便在 Tomcat 服务器上...

    Python Web开发,高清PDF文字版,带书签

    Python作为一门易学且功能强大的编程语言,在Web开发领域有着广泛的应用。本书内容详细,涵盖了一系列用于Web开发的关键技术和工具,旨在帮助读者从零开始掌握Python Web开发的基础与实践。 首先,Python Web开发的...

    大华摄像头web3.0二次开发webplugin

    【大华摄像头Web3.0二次开发WebPlugin详解】 大华摄像头Web3.0二次开发WebPlugin是一款专为开发者设计的工具,旨在帮助用户利用Web技术进行摄像头的高级功能定制和扩展。它允许开发者通过浏览器插件的方式,接入...

    C#web项目excel导入数据到数据库

    一个Excel导入到数据库的Demo和一个winFrom的Excel的导入,简单好用。一个Excel导入到数据库的Demo和一个winFrom的Excel的导入,简单好用。一个Excel导入到数据库的Demo和一个winFrom的Excel的导入,简单好用。

    LabVIEW中导入web服务器视频教程.zip

    总的来说,LabVIEW的“导入Web服务”功能大大增强了其与外部系统交互的能力,使得开发人员能够利用Web服务的强大功能,创建更复杂的分布式系统和跨平台应用程序。无论你是初学者还是经验丰富的LabVIEW开发者,掌握这...

    Eclipse导入Myeclipse web项目运行

    在IT开发领域中,经常会出现跨IDE迁移项目的需求,例如从Myeclipse迁移到Eclipse。本文将详细介绍如何在Eclipse环境中顺利导入由Myeclipse编写的Web项目,并确保其能够正常运行。 #### 一、概述 在进行项目迁移...

    idea导入eclipse的WEB项目(多个).docx

    "idea导入eclipse的WEB项目" 一、IDEA与Eclipse的概念区别 在讨论如何将Eclipse的Web项目导入IDEA之前,需要先了解IDEA和Eclipse的概念区别。IDEA和Eclipse都是集成开发环境(Integrated Development Environment...

    前端-HTML-Web Excel导入

    在前端开发中,Web Excel导入是一项常见的需求,它允许用户在网页上直接上传Excel文件,以便进行数据的读取、处理或展示。这项技术对于数据分析、报表制作等场景尤为重要。以下将详细介绍实现Web Excel导入涉及的...

    如何在eclipse导入JAVA源码并启动WEB服务.docx

    JAVA 是一种流行的编程语言,广泛应用于 Web 开发、Android 开发、企业级应用等领域。Web 服务是指通过网络提供服务的应用程序,常见于网页应用程序。 在本文中,我们将介绍如何在 Eclipse 中导入 JAVA 源码并启动 ...

    Web页面中sqlserver快速导入excel

    Web页面中sqlserver快速导入excel,生成csv格式 有的程序在Web页SQLSERVER导入excel的过程中,会出现下载时找不到样式的错误提示。本资源避免了以上问题,快速打开,快速导出。 c#.Net2005下运行成功。

    Oracle EBS r12 webadi开发

    Oracle EBS R12 WebADI 开发指南 Oracle EBS R12 WebADI 是 Oracle E-Business Suite(EBS)中的一种开发工具,用于快速构建基于 Web 的应用程序。WebADI 提供了一种基于模板的开发方式,允许开发人员快速创建基于...

    superMap gis web开发

    SuperMap支持多种数据格式,如Shapefile、GeoJSON、GML等,开发者可以进行数据的导入导出、编辑修改、发布服务等操作,实现Web上的数据共享与管理。 8. 安全性与性能优化: 在构建GIS Web应用时,安全性是不可...

    开源的快速web开发框架

    WebBuilder是一款跨平台、数据库和浏览器的可视化Web应用开发平台。WebBuilder使用了多项最新的技术,使Web应用的开发更快捷和简单。 作为一款高效的Web开发工具,WebBuilder的特色是: .基于浏览器的集成开发环境 ...

    数据库从excel导入到mysql(在web上导入)

    此部分是我的老师给的资料包含了视频以及代码,还需要2个jar包一个是jxl.jar和mysql-connector-java-5.1.7-bin.jar,自己导入就可以了,另一部分在我的资料里是我自己做的

    李兴华Java Web开发实战经典(高清版) Part2

    MLDN 李兴华 Java Web 开发实战经典.pdf (高清版) 全书分为两部分,需 要全部下载下载一起解压,此部分为第二部分 带有书签,清华大学出版社 第1章 JAVA WEB开发简介 1.1、WEB发展历程 1.2、企业开发架构 ...

    K3BOS开发单据导入

    本项目名为“K3BOS开发单据导入”,是一个基于VB的工具,旨在简化和自动化金蝶K3系统中的单据处理。 首先,我们要理解这个工具的核心功能:单据导入。在企业运营中,单据如采购订单、销售发票、库存出入库单等是...

    李兴华 java_web开发实战经典 源码 完整版收集共享

    第1章 JAVA WEB开发简介 1.1、WEB发展历程 1.2、企业开发架构 1.3、JAVA EE架构 1.4、JAVA EE核心设计模式 1.5、Struts开发框架 1.6、本章摘要 1.7、开发实战讲解 第2章 HTML、JavaScript简介 2.1、服务器...

    Eclipse导入MyEclipse下的web项目

    根据文档的描述可以轻松的将MyEclipse下建立的web项目添加到Eclipse开发工具下。

    pb11 开发 web service

    本文将深入解析如何运用PowerBuilder 11(简称pb11)进行Web Service的开发与调用,揭示pb11在Web Service开发领域的应用策略。 ### Web Service简介 Web Service是一种跨平台的、基于网络的应用组件技术,它允许...

Global site tag (gtag.js) - Google Analytics