`

JSF:Java中面向Web开发的生旦净末丑

    博客分类:
  • Java
阅读更多

 搞Java开发这么多年,说起J2EE Web开发,还真是百感交集、爱恨交加:

  我爱J2EE服务器端编程带来的高可靠性、安全性和运行期的高效稳定性;

  我恨以手工方式来编写JSP页面代码,我恨基于有限的HTML界面组件进行编程!

  俺一向佩服的牛人袁红岗说得好:现状让人有时怀念VB、Delphi可视化编程的时代,有时甚至会羡慕微软的.net、Studio,因为它们的确使用起来很方便实用。

  然而,Java世界所倡导的自由氛围“一切源于技术,一切源于开放”已进入我的血脉!我追求一种自由和完美的理想技术主义,希望Java中也能有一个功能强大的可视化工具!

  我想,其实我和各位兄弟一样,要得很简单!

  看了袁红岗关于“Ajax+JSF双剑合壁”的观点后,说实话我是比较赞赏的。倘若Apusic果真能实现他们的承诺,那J2EE的Web开发将发生渐进而深远的变化!!!

  京剧脸谱大家都略有所知,分为生、旦、净、末、丑5种,那么,就以它为例吧:

  “生”:容器级的Ajax支持

  目前有JSF + Ajax这种思路的,恐怕也不是一家,但很多第三方的JSF + Ajax实现是提供一个组件库以及一个附加的Servlet 或Filter来处理Ajax请;而Apusic号称是直接由JSF容器来处理Ajax请求的,根据请求的类型来判断这是一个正常的HTTP请求还是一个 Ajax请求。Apusic JSF引擎号称实现了一个 AJAX Render Kit,可以在HTML文档中嵌入Java Script代码来实现Ajax特性,而替换Render Kit只需要修改配置文件即可。

  “旦”:举重若轻的JSF引擎

  常规JSF容器每进行一次客户端与服务器端的响应时,都需要把所有的状态传来传去,对系统运行性能带来较大的负面影响,而通过Apusic JSF号称的Ajax特性,能够只把发生变化的数据打包成Ajax请求发送给服务器端,而服务器端也只会将发生变化的数据打包成Ajax应答,从而大大提升系统的运行效率。并且,传统的JSF请求应答将刷新整个页面,而Apusic JSF号称将只更新发生变化的客户端组件,从而给客户带来更好的人机体验。

 “净”:让Web开发更轻松

 

  以前要写Ajax应用要写很多Java Script代码,开发、调试、维护这些 Script脚本都相当烦琐,如采用Apusic JSF技术,就不再需要编写任何Java Script代码,引擎已经帮你生成了这些代码。Apusic JSF所有的标准组件都是支持Ajax的,某些第三方组件可能本身并不支持 Ajax,但使用一个名为的标签,可以立即将这个第三方组件转换成Ajax Enabled。

  “末”:丰富的UI组件

  据称Apusic JSF还提供了一个名为的标签,可以接受在发送和完成一个Ajax请求时触发的事件,缺省的实现是在发送 Ajax请求之前显示一个HTML片段,在完成Ajax请求之后显示另一个HTML片段,这些HTML片段可以包含文字和图片。此外还实现了一个 标签,可以以RPC方式调用服务器端Java对象的某个方法。

  “丑”:随意拖曳的可视化设计

  据Apusic开发部的人说,用Apusic JSF还包含其它一些差异特性,包括:控件的换肤功能,控件对IE、Mozilla(Firefox)、Opera等多浏览器的支持,以及强大的布局功能等。通过Apusic JSF,实现UI界面其实并不复杂,只需要通过简单的几行代码,就能够完成复杂的UI界面。

  在JSF规范中,有这样一句话:“JSF is designed to be tooled”。换言之,JSF规范从设计初开始,就非常强调对工具支持的依赖。幸运的是,目前对JSF提供支持的开发工具也逐渐丰富了起来,包括Oracle JDeveloper、Sun Java Studio Creator等等。金蝶Apusic宣称也同样提供了一个基于Eclipse的集成式开发环境:Apusic Studio,并通过该工具,能够给JSF的开发带来良好的支持,包括:语法加亮、代码辅助、断点调试、可视化的设计等等。

  总之:厂商靠产品说话。声势炒的这么大,Apusic到底有多少实力和老袁的一世英名就看这次了,呵呵。在中国作系统软件很不容易,希望Apusic的这个Java京剧脸谱能拿出点真东西。

 

分享到:
评论

相关推荐

    经典JAVA.EE企业应用实战.基于WEBLOGIC_JBOSS的JSF_EJB3_JPA整合开发.pdf

    中文名: 经典Java EE企业应用实战--基于WebLogic/JBoss的JSF+EJB 3+JPA整合开发 原名: 经典Java EE企业应用实战--基于WebLogic/JBoss的JSF+EJB 3+JPA整合开发 作者: 李刚 资源格式: PDF 版本: 第一版 出版社: 电子...

    java web 开发详解

    Java 的 Web框架虽然各不相同,但基本也都是遵循特定的路数的:使用Servlet或者Filter拦截请求,使用MVC的思想设计架构,使用约定,XML或 Annotation实现配置,运用Java面向对象的特点,面向抽象实现请求和响应的...

    JAVA上百实例源码以及开源项目

     用JAVA开发的一个小型的目录监视系统,系统会每5秒自动扫描一次需要监视的目录,可以用来监视目录中文件大小及文件增减数目的变化。 Java日期选择控件完整源代码 14个目标文件 内容索引:JAVA源码,系统相关,日历,...

    JAVA上百实例源码以及开源项目源代码

     用JAVA开发的一个小型的目录监视系统,系统会每5秒自动扫描一次需要监视的目录,可以用来监视目录中文件大小及文件增减数目的变化。 Java日期选择控件完整源代码 14个目标文件 内容索引:JAVA源码,系统相关,日历,...

    pdfhub-jsf:基于 JSF 2 的 Web 应用程序,可从 github wiki 生成 PDF

    将任何 Github wiki 转换为 PDF! 此应用程序面向需要以跨... 在 OpenShift 上的 JBoss EAP 卡盒中使用 JSF 2/Facelets 实现。 该应用程序具有轻量级前端,不使用持久层、@ViewScoped CDI bean 和促进 PDF 创建的库。

    JAVA程序开发大全---上半部分

    以及基于这些技术的商业化应用程序的开发技巧,在讲解过程中以目前最为流行的开发工具MyEclipse为载体,全面系统地介绍了如何在MyEclipse中开发基于Struts、Hibernate、Spring等主流框架的各种Java应用程序。...

    Java EE 7权威指南卷1_1

    并提供使用最新版本NetBeans IDE和GIassFish服务器开源版的有关说明书中不仅介绍了平台的基础知识,包括资源创建、资源注入和打包,还涵盖了多项相关技术,包括JavaServer Faces(JSF)、Java Servlet、WebSocket Java...

    java开源包4

    WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...

    java开源包11

    WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...

    java开源包6

    WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...

    java开源包101

    WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...

    java开源包9

    WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...

    java开源包5

    WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...

    java开源包8

    WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...

    java开源包10

    WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...

    java开源包1

    WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...

    java开源包3

    WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...

    Java EE 7权威指南卷1 part2

    并提供使用最新版本NetBeans IDE和GIassFish服务器开源版的有关说明书中不仅介绍了平台的基础知识,包括资源创建、资源注入和打包,还涵盖了多项相关技术,包括JavaServer Faces(JSF)、Java Servlet、WebSocket Java...

    Java综合技能知识库

    Java面向对象、Java基础类库、JDBC数据库访问、Web编程Jsp&Servlet、Hibernate持久层、iBatis持久层、Structs界面控制层、JSF界面控制层、Spring应用框架、Ejb、WebService技术、J2EE模式等其他Java相关开发技能汇总...

Global site tag (gtag.js) - Google Analytics