目前基于java的web开发框架数不胜数,而且其核心的功能都集中在web表现层的开发上,在这里我不打算对这些框架进行详细的分析和评论(因为针对这些框架的评论文章已经很多了),而是从另外一个角度提出一个新的Web表现层开发方法。
作Web开发的大都有这样的体会,页面与逻辑总是纠缠不清,没有一个清楚地界限。有一些开发方法虽然可以将程序逻辑与网页分离开来,但是却带来的另外的复杂性,不是需要借助特定的tag,就是需要创建附加的模板文件,目前还没有一种框架(我所见到的,也许已经有了),能够真正实现页面与程序逻辑的完全分类,只是将这种关系转移了而已。
我所要描述的这种新的Web表现层开发方法的灵感来自于ORM技术。对象/关系映射技术将java对象映射至数据库,由ORM框架自动完成数据的crud操作。同样的,我们也可以将java对象映射至html文档,由框架来完成html文档的填充,开发人员只需要操作普通的java对象,即可实现以前由脚本或者模版完成的工作。我将这种技术称为odm(对象/文档映射)。之所以称之为odm而不是ohm(对象/html映射),是因为这种技术还可以应用于更广泛的场景,比如,java对象到xml的映射,到wml的映射等。大家可能会认为这并不是真正的新的技术,其实很多使用taglib和模版的框架中都在使用这样的方法。但是我所要描述的方法与这些方法在实现上很大的不同,主要在以下几个方面:
1 Java对象属性与html文档中的节点通过java对象属性名和html中节点的ID属性对应.
使用这种方法保证了这种新的web开发方法不需要创建额外的模版,也不需要定义特定的taglib,最为主要的是将java对象,javascript脚本,css这几方统一命名,使得web开发的这几方面实现有机的统一,也使得这3个方面的相互操作成为可能。
2 程序开发人员所操作的只有java对象,没有任何的关于显示的循环、判断逻辑等。
3 开发人员与美工完全可以独立的、并行的工作,不会出现垮领域操作。
<o:p> </o:p>关于如何将java对象属性影射到html文档节点,这里面有一套完整但却不需要特别记忆的映射规则,以后再写。
这个框架完成后将具有以下主要特性:
1 基于POJO;
2 事件驱动;
3 原生的AJAX;
4 容易与现有的基于POJO的持久化框架集成,且更方便。
5 真正的所见即所得的页面开发
6 搜索引擎友好
7 无需复杂的配置文件,甚至不需要配置文件即可工作;
8 支持组件式开发;
9 真正的代码与页面分离。
……
还有更多的特性,比如可以将java属性映射到cooki,或者session变量甚至application级变量等,可以最大限对的简化web开发中的方方面面,可以说这个框架在开发效率以及可维护性方面将超越目前的其他所有的框架(有点说大了~_~)。
系统中一个html页面,对应一个页面类,它们通过一个约定来对应,不需要配置。
整个系统的模型有点像Delphi,熟悉delphi的朋友可能比较熟悉,在开发delphi GUI程序时,一个窗口对应一个dfm文件,而代码则放在pas文件中,dfm文件中的内容描述了窗口的gui组件的位置、颜色等显示信息,pas文件中则是事件处理代码。在webpilot中,html页面文件相当于delphi中的dfm文件,页面java类相当于delphi中的pas文件,页面java类中的事件处理函数相当于delphi中pas文件中的事件处理过程。
今天就写这么多了,写的比较零散,请大家见谅。这个方法我已经考虑了两年多了,已经有一个完整的实现思路,也已经有一个可运行的实现。工作一直比较忙,工作也与java不沾边,而且发现现在变懒了(^_^)。不过我还是希望能够实现一个真正可用东西。
文笔不好,有些地方可能说的不太清楚,请原谅。有什么疑问请提出,欢迎大家讨论。
分享到:
相关推荐
本文将深入探讨下一代Web前端技术的核心知识点,包括用户体验优化、网络通信改进以及混合应用开发等方面。 #### 二、用户体验优化 1. **加载速度优化**:提高页面加载速度是用户体验优化的重要方面之一。根据Jakob...
HTML5是新一代的HTML标准,它是互联网发展的重要里程碑。HTML5不仅提升了Web的表现力和功能性,更是引入了大量新的API和元素,这为开发富互联网应用(Rich Internet Applications, RIA)提供了可能。在移动Web开发中...
内容简介:本书全面深入地探讨了下一代分布式计算技术—— Web服务,深入透彻地阐述了如何使用Java实现和部署Web服务,同时也全面介绍了与之相关的基础知识。在详细介绍了Web服务之后,本书还引导您探讨Web服务体系...
《新一代VisualBasic2005程序设计》是针对编程初学者和进阶者的一套教程,旨在介绍微软的VisualBasic2005编程环境及其应用。这个光盘内容分为多个章节,通过不同的压缩子文件来分块提供。下面将详细阐述每个章节的...
《JavaScript Web 富应用开发》一书详细介绍了如何利用现代 Web 技术构建下一代互联网富应用程序。随着 MVC(Model-View-Controller)架构在前端领域的广泛应用和发展,该书应运而生。本书的作者 Alex MacCaw 是一位...
新工科背景下,Web前端课程教学改革的目的是为了适应新时代对工程技术人才的需求,尤其是在创新驱动发展、"中国制造2025"、"互联网+"等战略推动下,培养具有扎实科学基础、强大工程实践能力和高综合素质的新一代工科...
总结:2018年的Web前端开发趋势表明,技术在不断进化,开发者需要不断学习新技术,如PWA、TypeScript和WebAssembly,同时关注新工具和框架,如Parcel和Yarn,以及优化用户体验的布局技术。此外,理解人工智能和...
本书深入浅出地介绍了新一代分布式服务的基础,并通过开源Java工具展示了快速创建服务的方法。此外,书中还详细探讨了四个关键新兴技术:XML-RPC、SOAP、UDDI 和 WSDL。 #### 书籍结构与内容概览 - **第一部分:...
ASP.NET的新一代改进包括了更强的网页模型,支持编译式语言(如C#),具备层次性功能的架构,简化部署,增强性能和扩展性,以及解决Web Form中的Session问题。这一切都得益于微软的.NET Framework,其中包括Base ...
书中还提到了对未来移动Web开发的展望,认为现在是探索移动Web开发的混乱世界(chaotic world),并讨论了如何以及应该怎样应对未来。《Head First Mobile Web》不仅仅是对当前知识的介绍,也对未来技术趋势提出了...
传统的单机版应用软件正在逐渐退出舞台,取而代之的是支持网络、支持多种数据信息(多媒体)的新一代网络版应用软件,而目前网络版软件中似乎存在着两种不同的趋势,一种是称为客户端——服务器的C/S结构应用系统,...
他强调了CSS3作为新一代样式表语言,是如何推动网页设计进步的。本章中提到的一些关键知识点包括: - **CSS3的历史背景**:通过回顾CSS的发展史,读者可以了解到CSS3是在哪些关键转折点上被开发出来的,以及这些...
HTML5是新一代的HTML标准,它支持多媒体内容、图形和实时通讯等新特性。CSS作为样式表语言,负责网页的样式和布局,使得Web页面的展示更加丰富和灵活。JavaScript则是一种运行在浏览器端的脚本语言,它为网页添加了...
5. **Web Forms与ASP.NET Core对比**:虽然本课程可能主要关注传统的ASP.NET Web Forms,但也会提及ASP.NET Core,这是.NET的新一代跨平台框架,具有更高的性能和现代化的开发体验。 6. **转换策略**:对于从JSP...
**JsGen:JavaScript构建的新一代开源社区平台** JsGen是一个完全使用JavaScript编写的开源社区网站系统,它展示了JavaScript在Web开发中的强大潜力。这个系统设计的初衷是为了搭建社交网络服务(SNS)类型的社区,...
- HTML5:新一代的HTML标准,具有语义化特性,增强了本地存储能力,提供了更好的图形处理和多媒体支持,以及增强表单控制等。 - CSS:用于控制网页样式,使得网页设计更加灵活和美观。 - JavaScript:客户端脚本...
逐一讨论了HTML5的Canvas、Geolocation、Communication、WebSocket、Forms、Web Workers、Storage等APⅡ的使用,辅以直观明了的客户端和服务器端示例代码,让开发人员能够迅速理解和掌握新一代Web标准所涵盖的核心...
讨论HTML5 的Canvas、Geolocation 、Communication、WebSocket、Forms、Web Workers、Storage 等API 的使用, 辅以直观明了的客户端和服务器端示例代码,让开发人员能够迅速理解和掌握新一代Web 标准所涵盖的核心...