`
- 浏览:
77575 次
- 性别:
- 来自:
北京
-
Webdw0.2版本用户手册
前言
为什么Java Web开发如此复杂?
互联网出现以后,应用程序的架构迅速发生变化,曾经流行一时的C/S模式很快被B/S模式所取代。但B/S的应用架构相对于C/S的应用架构,要复杂很多。这就造成了应用程序开发的效率低下,界面低效,用户体验差,维护升级困难。按照我个人的经验,以PB和Java来同时开发一套系统,Java的开发效率最多是PB的1/5,而生成的代码总量至少是4倍以上,这一估计还不包括Java本身所需要的各种架构在内,仅就代码而言,包括Java代码和JSP代码。
为什么一个如此流行的开发模式,开发效率会如此之低呢?
这一问题我思考了很久,最后终于找到了答案。Java开发的效率之所以低,最核心的原因在于HTML语言本身。这个语言的设计初衷,仅仅是为了显示标准化的文本而设计的,后来才加上了图形,以及插件,后来为了增加交互性,才增加了JavaScript等脚本的支持。但JavaScript本身又是单独一个标准,不包含在HTML之内。
简单来说一句话,HTML语言在设计的时候,根本就没有考虑过未来应用如何用它来开发,它仅仅是一个显示文本的定义语言。后来为了迁就应用开发的需要,人们在试图在这个地基上面加上其他功能,但又要兼顾对现有标准的支持和兼容,又要兼顾到现有各方的利益诉求,于是HTML本身变得越来越复杂,越来越难以理解,学习它的成本也变得很高,而效果并不明显。
刚才说的是Java的开发效率,怎么又扯到HTML了呢?
这是因为,非常不幸,Java在浏览器上的开发,不仅没有成为主流,而且基本已经被抛弃了,Applet本来是一种非常有前途,非常有潜力的技术,但在政治斗争中成为了牺牲品。现在知道的人已经不多了。
在一般的Java B/S架构开发中,可以用下面的图来演示。
上面这个图仅仅描述了在Java Web开发这个混乱的世界里面,开发一个Java系统所需要的一小部分技术的一小部分。
在浏览器上,开发需要用到的是HTML,JavaScript,Ajax,另外需要考虑:浏览器不同类型,不同版本的兼容性
在Web Server端,一般至少会用到Jsp,Servlet,再加上各种各样,千奇百怪的框架,如Structs,Webwork等等
在App Server端,则是各种技术的混合,EJB,Spring,Hibernate,Itabias,如果愿意写下去的话,恐怕这一张纸都列不完。另外还要考虑不同厂家产品的不同特性,不同版本的不同支持,在不同操作系统平台上的微妙差异等等。
数据库服务器相对要简单一些,但如果愿意的话,也可以搞得很复杂。这个就不再多说了。
Java 的Web开发,用到了太多的技术,太多的框架,太多的产品,也许从某个局部来观察,会认为这个不算太复杂,但从整体上宏观的来看,这个系统是在太复杂了。涉及到了多方面的技术,每一种技术都需要你花时间去了解,去学习,但与此同时它本身还在迅速演化,变异。
但是,这些技术,真的都是那么必要的吗?真的不可缺少吗?
如果答案是肯定的,那么我们就面对着在<<人月神话>>中同样的困境,无数的巨兽在泥沼中挣扎,但它们挣扎得越厉害,陷的就越深。软件行业就会变成一个不断制造复杂性,并且依赖这种复杂性进行生存的行业。在我看来,目前的情况似乎就是如此。大家都在拼命提出一个又一个的新概念,把整个系统搞得越来越复杂,很快系统的复杂性把它自己压垮了。怎么办,推倒重来,升级。买更快的机器,因为我们的程序越来越慢。
硬件行业有一个摩尔定律:
每过十八个月,芯片集成度提高一倍。
软件行业有一个逆摩尔定律:
每过十八个月,软件速度降低一半。(开发速度与运行速度)
两者相加的结果就是:如果你不升级硬件,软件就会越来越慢,最后无法使用。而且即使你升级了硬件,系统的速度还是提不上去。
详细内容见附件
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
对于压缩包中的"webdw0.2发布版本",这通常包含了安装程序或可执行文件,以及可能的文档、示例代码和许可证文件。安装程序将引导用户完成软件的安装过程,文档可能包含详细的使用指南和技术参考,示例代码能帮助用户...
WebDW是一款旨在提升开发效率和简化后台接口结构的软件产品,尤其针对B/S架构的开发痛点进行了优化。其设计理念源于对传统PowerBuilder中DataWindow技术的现代化改造,以适应多种开发语言和运行环境。 在需求分析...
这很可能是WebDW工具的安装程序,用户可以通过运行这个文件来安装和使用WebDW on VB版本。 基于这些信息,我们可以推测以下知识点: 1. **Visual Basic编程**:VB是一种流行的微软开发语言,尤其在早期的桌面应用...
使用WebDW这样的工具,用户可以通过图形界面直接拖放元素,编辑样式,大大降低了创建网页的门槛。 综上所述,"webdw.rar"中的项目为我们提供了一个了解HTML网页制作的实例,从中我们可以学习到HTML的结构、CSS的...
通过以上分析,我们可以看出 WebDW2.0 的 VB 版本 Demo 程序如何实现从后台获取界面定义,以及在客户端动态生成界面的过程。这种设计允许开发者专注于前端的用户体验,而将数据处理和业务逻辑交由后端处理,提高了...
- **token**:用户身份认证的标识,后台会将token映射为用户ID,如果未找到映射,则用户默认为guest。 - **dwname**:数据窗口名称,用于后台检索数据窗口对象的定义。 - **rand**:随机数,防止GET请求的缓存问题,...
然后,通过发布到 Web 服务器,用户可以在任何支持浏览器的设备上访问这些应用程序。 此外,Web DataWindow 也支持多种 Web 服务器和应用程序服务器,例如 IIS、Apache、Tomcat 等,并且可以与各种 Web 开发框架如 ...
NULL 博文链接:https://liujunsong.iteye.com/blog/1338944
一个很棒的BBS脚本,结合了DHTML、JavaScrip、CSS技术,界面与MS IE浑然一体。由本人汉化。汉化过程中修正了几处错误,几个连接图形文件名错误,更重要的是,原来的程序没有区分cgi和nocgi目录,导致在许多系统上...
项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全领域),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助...
总共12个Projects 包含: Advanced GUI Benchmark dotNET CAS DWGradientTransparency DWRichTextEditStyle Example App FeedReader Mobilink Treeview DataWindow and DatePicker Web Reports ...WebDW