2025上半年,最新 AI实践都在这!20+ 应用案例,任听一场议题就值回票价 了解详情
写点什么

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:011292

评论

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

什么是数据仓库

奔向架构师

数据库 数据仓库 数据架构 话题讨论 7月日更

Flink知识点总结

五分钟学大数据

flink 7月日更

如何实现跨设备的双向连接? Labo涂鸦鸿蒙亲子版分布式开发技术分享

科技汇

花2个月备战字节,3轮面试拿下总包60W Offer!

Java架构师迁哥

为什么AI需要大大大大大模型?

白洞计划

Linux之which命令

入门小站

Linux

架构实战营模块七作业

竹林七贤

新能源车的发展趋势

石云升

学习 新能源汽车 7月日更

在线HTML转JS/JSON工具

入门小站

工具

一文看懂 Context

Rayjun

Go 语言

2022秋春招/提前批面经分享总结(字节、腾讯、阿里)

学无止境的阿奔

腾讯 面试 阿里 字节 校招

AQS介绍和原理分析(下)

追风少年

并发编程 AQS

国内市场主流音视频产品主要功能分析

anyRTC开发者

音视频 WebRTC 语音通话 实时通讯 视频通话

将 FeignClient 的请求记录成 cURL 格式

哈德韦

微服务 前后端分离 log4j curl Spring boot Feign

从特斯拉召回事件,窥探OTA汽车进化真面目

脑极体

为什么AI需要大大大大大模型?

脑极体

Ubuntu 如何强制时间同步

HoneyMoose

架构实战营模块7作业

Vic

架构实战营

云原生负载均衡和网关应用实践

火山引擎开发者社区

云原生 后端

全表遍历并处理数据有点慢?放开!我来!

林一

jpa Stram @QueryHints

CVPR2021竞赛结果出炉,阿里淘系多媒体算法包揽3项国际冠军

阿里巴巴大淘宝技术

CVPR

大专的我,闭关苦学56天,含泪拿下阿里offer,五轮面试,六个小时灵魂拷问

Java架构师迁哥

08 | 指针系列(二):记住,指针变量也是变量(2)

Nydia

二分查找常见套路与分析

gevin

算法 二分查找

Linux常用命令-文件操作

正向成长

linux命令

网络攻防学习笔记 Day62

穿过生命散发芬芳

网络攻防 7月日更

利用 IComparable<T> 以及 IComparer<T> 定义顺序关系

喵叔

7月日更

【Flutter 专题】97 仿网易新闻标签选择器

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 7月日更

iOS 15隐私升级及注意事项

阿里巴巴大淘宝技术

ios WWDC21

Python协程 & 异步编程(asyncio) 入门介绍

行者AI

#python

external-attacher源码分析(1)-main方法与启动参数分析

良凯尔

Kubernetes 源码分析 Ceph CSI Kubernetes Plugin

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