写点什么

JSF 开发框架 OperaMasks 推出 1.1M2 版本

  • 2007-09-04
  • 本文字数:1210 字

    阅读完需:约 4 分钟

日前 OperaMasks.org 社区推出了其开源的 JSF 开发框架 OperaMasks 1.1M2 版本。在新的版本中增加了多个便于开发的标记,并修复了用户反馈的一些 Bug。OperaMasks 是由金蝶中间件公司支持的一个开源的以JSF 为核心引擎且引入了丰富的JSF 组件的开发框架,于2007 年7 月份正式对外发布。

Apusic OperaMasks 全国巡演会上,InfoQ 中文站就这一框架的特性、社区支持等问题和其架构师袁红岗进行了交流。谈到为什么为什么选择以 JSF 为基础技术的原因,袁红岗表示:

JSF 是由 Sun 公司主导提出的一个编程模式和标签库,使用它可以减轻带有服务器端 UI 的 Web 应用的建立和维护工作,目前已经得到了 IBM、BEA 和 Redhat 等众多公司的支持。另外与现在很多流行的开源框架建立在 J2EE 本身和 HTTP、HTML 底层协议基础上所不同的是,JSF 与底层协议无关,是一种更高层次的页面表达形式,或者说它更是一种规范或者标准。正是因为这一点,JSF 的持续性、包容性和扩展性都非常好。

OperaMasks 很好地融合了 JSF 的一些优点,并加入了当前流行的 Ajax 技术。袁红岗这样描述了 OperaMasks 的特性:

关于 OperaMasks 的详细特性,可以浏览 OperaMasks 官方网站的文档,这里需要重点提及的是它对 RIA 技术的可插拔实现。随着 Ajax 的出现,Web 应用也越来越丰富多彩,很多软件厂商也推出自己的 RIA 技术方案,比如微软的 Silverlight 、Adobe 的 Flex 和 Sun 的 JavaFX 等,OperaMasks 通过 Render Kit 可以轻松地融合这些技术,只需要针对某种 RIA 技术编写一个 Render Kit,这种新的 RIA 技术就能在 OperaMasks 中获得支持,而以前所写的应用也不需要做任何修改! 另外,结合 OperaMasks 实现融入 Ajax 风格的 Web 应用时,不需要你了解 Ajax 内涵,也不需要了解 JavaScript 的使用,只要代码是遵守 JSF 规范的,OperaMasks 即可使其呈现出 Ajax 效果。对于当前流行的 REST、Ruby 等技术在 OperaMasks 中也可以直接应用等。

由国内的商业公司推出开源的开发框架,还不是一个多见的行为,社区里也不乏一些质疑的声音,Ajaxcn 网站站长、《Ajax 实战》一书的译者李锟这样评价 OperaMasks:

袁红岗的能力非常强我也没有疑义,他率先实现了国内第一个 JavaEE 服务器,做过的工作和贡献有目共睹。问题就是,万一 JSF 和 EJB 都是没有前途的技术,甚至整个 JavaEE 都前途暗淡,那么基于这些技术的开发框架的前途也就很难说了。 还有一个问题是,OperaMasks 能否建立起来一个像 Rails 和 Flex 那样庞大和生机勃勃的开发者社区?目前看来可能性非常小。这是我们做技术选择必须慎重考虑的一个问题,这跟民族感情没有什么关系。

与 Java 社区优秀的 Spring、Struts 等这些优秀开源产品相比,OperaMasks 还有很长的一段路要走。但 OperaMasks 已经迈出了坚实的第一步,除了发布 1.1M2 新版本,日前还推出了支持 OperaMasks 框架的开发平台 Apusic Studio 5.1M1 、发布了 Apusic OperaMasks.org 社区 2.0Beta 版等。恭喜 OperaMasks 团队!

2007-09-04 01:011319

评论

发布
暂无评论
发现更多内容

Failed to load module "canberra-gtk-module"

Ayosh

拆分电商系统为微服务

ren

07 Prometheus之服务发现

穿过生命散发芬芳

Prometheus 1月月更

全链路压测系列(四):全链路压测的价值是什么?

老张

性能测试 生产环境全链路压测

试论架构师必备的基础能力

陈俊

架构 技术认知

【Spring专场】「IOC容器」不看源码就带你认识核心流程以及运作原理

码界西柚

Spring Framework spring ioc 1月月更 框架原理

Tableau Day4:时间分析

贾献华

Tableau 1月月更

我最终选择VS Code

Jackpop

工作方式发生了动荡?

Jackpop

ReactNative进阶(八):connect

No Silver Bullet

React Native Redux 1月月更 connect

模块五作业

Geek_e6f7f6

架构训练营

办公专用!又一款开源免费”摸鱼“神器....

Jackpop

Python

数据库设计三范式

Ayue、

MySQL 1月月更

【日拱一卒进击大厂系列】为什么单线程的Redis可以实现高并发访问

慕枫技术笔记

后端 1月月更

18款口碑爆棚手机浏览器,被一网打尽了

Jackpop

Rust 元宇宙 18 —— 多场所共存的世界

Miracle

rust 元宇宙

【网络安全】浅析跨域原理及如何实现跨域

H

网络安全 网络安全信息安全、

一个cpp协程库的前世今生(十三)互斥量

SkyFire

c++ cocpp

在 Flutter 中发出 HTTP 请求的最佳库(2022 年)

坚果

flutter 1月月更

LabVIEW彩色图像分割(基础篇—14)

不脱发的程序猿

机器视觉 图像处理 LabVIEW 图像分割 阈值处理

个人成长中,关于规划设计的思考

程序人生

log4j bug

你?

LabVIEW色彩匹配实现颜色识别、颜色检验(基础篇—13)

不脱发的程序猿

机器视觉 LabVIEW 颜色识别 颜色检验 色彩匹配

C#使用原生方法将文字朗读出来

喵叔

1月月更

架构实战营模块四课后作业

Jude

架构实战营

跟着动画学习GO数据结构之Go链表

宇宙之一粟

数据结构 链表 Go 语言 1月月更

跟一段工作说告别了

wood

300天创作

Go编译原理系列4(语法分析)

书旅

Go 编译 计算机基础 编译原理

Uber系统架构设计

俞凡

架构 大厂实践 uber

Postman如何做接口测试1:如何导入 swagger 接口文档

和牛

测试

被忽视的问题:测试环境稳定性治理

老张

测试环境 稳定性治理

JSF开发框架OperaMasks推出1.1M2版本_Java_霍太稳@极客邦科技_InfoQ精选文章