我看OperaMasks

    上个月金蝶到成都来推广基于JSF名叫 OperaMasks 的一个WEB开发框架,其实我很早都看到金蝶到处打的广告了,不过看到是基于JSF的就没有多大兴趣去研究了。公司里一个对新技术有些排斥心态的同事去参加金蝶的推广,回来就给我说金蝶这个东西确实不太一样,有技术有工具,并且都很强,使用金蝶的开发工具使用JSF的门槛降低了很多。听他这么一说,也勾起了我兴趣,找了点资料和 JBoss Seam 对比着看了一下,确实觉得这个东西的工具做得很好并且和Seam一样可以用一种非常简单的方式使用EJB和JMS这些J2EE容器的功能。但是依靠开发工具来降低JSF并不能掩盖JSF过于复杂的本质,实现显示逻辑和业务逻辑的分离早不再是什么问题,只要是 WEB 框架都能实现。我觉得 WEB 框架的重点应该是在该如何提升整个系统的客户体验和降低web开发的难度,从这两点来看 OperaMarks 其实并没有特别的地方,虽然支持 ajax 但和 EXTJS 库比起来就太简陋了。
    个人觉得 Web 应用开发的模式正在发生着深刻的变化,随着 AJAX 技术的深入应用在加上 REST 架构的提出,以后 Web 应用的开发的技术重点将是浏览器端的脚本技术,后台对数据的CRUD以及复杂业务封装将以广义 Web Service 的方式发布,当然 Web services 可能采用传统SOAP或者REST方式来与浏览器中的脚本交互。按金蝶自己宣传 OperaMarks 是为了解决 WEB 应用所面临的四个普篇性问题:
      1、复杂度高
      2、开发效率低
      3、人机交互体验差
      4、跨浏览器兼容性差
    关于复杂度高,主要是开发人需要掌握多种技术才能胜任 Web 应用的开发, OpareMarks 试图采用开发工具的方式为开发人员提供一个统一的完全采用JAVA就能完成开发任务的开发方式,例如你要使用 AJAX 都不需要使用浏览器端脚本,采用JSF 组件方式提供的统一的界面风格和界面组件开发人员也不用再客串美工。这种方式真得解决了复杂度问题吗?我想是远远不够的,软件开发的复杂性应该是造成软件危机的最根本原因吧,具体到 J2EE WEB 应用开发的复杂性更主要的原因是试图用解决复杂问题的方法去解决简单问题,就好比你要“用高射炮打蚊子”那么前提就是你必须能熟练使用高射炮,但能不能打下蚊子来还要看运气。掌握高射炮比使用使用蚊香的复杂肯定是高了不少,J2EE 就好比高射炮,它所要解决的问题是分布式的、面向核心业务的、组件化的大型企业应用的开发,而我们常常需要的是能够灵活快速应对CURD类型业务的技术框架。OperaMarks 在这点上来看和rails框架比起来还是有另一种“高射炮”(也许是“高射机枪”)的嫌疑。
    关于开发效率低,与 Delphi 之类C/S开发技术比起来 J2EE 开发效率确实低很多,主要原因是平台。这点上来看采用更先进开发工具可以一定程度上解决这个问题,OpareMarks 确实做得很不错。
    关于人机交互体验差,这应该是 HTTP 协议和 HTML 带来的天生不足,不过现在已经有很多技术方案可以解决这些不足了,例如早期的Applet、flash等,现在的AJAX和Comet也是不错的方案,正如前面说过的和 EXTJS 比起来 OperaMasks 确实太简陋了。
    关于跨浏览器兼容性差,如果只是应用系统而不是 Internet 应用这点并不重要。
    总之,J2EE WEB 应用现在正处于革命风暴的前奏,我们需要的是革命不是简单的革新。

你可能感兴趣的:(Ajax,Web,JSF,企业应用,seam)