写点什么

Apache Wicket 7.2.0 发布

2016 年 3 月 06 日

Apache Wicket PMC已发布Apache Wicket 7.2.0 版本。这次的发布是一次较小的版本发布,但是它涵盖了很多新的功能。为了了解这次发布的更多内容以及Apache Wicket 的状况,InfoQ 采访了Apache Wicket PMC 的成员Martijn Dashorst 先生。

InfoQ: 首先,恭喜你们顺利发布!在你们的发布说明中新功能和值得注意的部分,你提到了两个值得期待的新功能:1)可以使用 Java’s NIO API 将资源从文件系统中读出 2)从外部服务器加载照片。你可以向 InfoQ 的读者解释一下为什么它们很重要吗?

Dashorst: 第一个功能让用户可以非常便捷地直接将媒体内容从文件系统导入浏览器中去。比如说,当你有视频文件被存储在 zip 存档中时,你可以使用 Java NIO API 直接导入。

Java 代码如下:

复制代码
URI uri = URI.create("jar:file:///videosFolder/videos.zip!/folderInZip/Video.mp4");
Path path = FileSystemResourceReference.getPath(uri);
FileSystemResourceReference ref = new FileSystemResourceReference("video", path);
Video video = new Video("video", ref);
add(video);

HTML 标记如下:

<video wicket:id="video"></video>视频组件将在 HTML 文档中创造恰当的媒体标签,当浏览器请求视频组件的时候,FileSystemResourceReference 会直接导入视频组件。

例如说,Wicket 在 Apache OpenMeetings 项目中使用,因此这个功能将会给他们带来便捷。

ExternalImage 组件不仅仅是对现有的组件的再使用,还可以加速现有的 web 最佳实践。ExternalImage 组件支持跨界资源共享协议(CORS)以及和一系列外部 URLs 一起提供的 srcSet 属性。

这使得应用程序可以使用响应的多分辨率照片。

InfoQ: Wicket’s mailing list traffic 似乎正在走下坡路(根据 http://wicket.markmail.org 提供的资料,每天平均 6 条信息)。你是否认为这是由于 JavaScript MVC 框架的兴盛造成的?

Dashorst: 我认为 mailing list traffic 的走低是许多不同的因素造成的。

正如你所见,许多其他的框架都关闭了——几周之前 JBoss 宣布了 RichFaces 中止使用——服务器端的网络框架的全盛时期已经渐渐衰退。我在一年多之前注意到,Wicket 是 15 个 2000 年代中期幸存下来的服务端网络框架之一,我使用“幸存”的意思是它在去年还进行了一次发布。

当然,拥有书,拥有在线用户指南可以去除对许多问题的解答需要,Stack Overflow 的出现也可以承担提问和回答问题的任务。

Wicket 已经推出了很长一段时间,在这期间有很多的应用程序都依附于其工作。然而我们从其 6.0 版本开始采纳了语义版本模型,努力将主要的 API 做得最小。这减缓了框架发展的速度,因此给 mailing list traffic 带来了麻烦。

即便如此,服务端框架都已经步入末路,彻底完结了。不需要在这些框架中加入很多东西来改善它们,我怀疑我们的现有用户希望我们可以彻底重写 Wicket,尽管它将给新的开发者提供一个新的引人注意的 API。

这是不是代表着对 Wicket 未来的唱衰?不,我很自信我们将支持开发提供给 Wicket 可以预见的未来!我们经常引入新的开发者到核心队伍中去,以促进项目的发展。我们的下载量在过去的几年中每月都稳定在 70000 次,未来还持续会有使用 Wicket 的项目。

InfoQ: 你们计划在未来在 Wicket 中加入什么功能?

Dashorst: 对 Java 8 lambda 表达式的支持似乎是对我们所处理的任务的很自然的匹配,我们也将加入一些功能,以实现连接组件和你的域中的对象。然而,我们想确保内存需求保持在一个低位。这是我们为 Wicket 8 计划添加的新功能,但现在还没有一个确切的时间表。

我们将关注 Java EE 技术,与 CDI 和 bean validation 这样的框架保持整合。

我们也将改善 Wicket 的一些部分,获得更高的性能。我们最近替换了 Wicket 的一个负责向页面中添加组件的核心功能,之前它的复杂度是 3 层 O(N^2),而替换之后的算法的复杂度仅仅是 O(1)。这是基于过去我们优化 CPU 周期之上,对内存消耗的优化。

我个人非常希望 Wicket 核心的功能可以改变。Wicket 在其许多 AJAX 处理中使用了服务器端状态,而我希望它可以达到无状态的 AJAX。我希望重新访问 Wicket 实例项目,将其和用户指南整合,之后用户手册中就可以引入活跃的代码。

InfoQ: 你怎么看 Spring Boot starter for Apache Wicket

Dashorst: 它非常棒!为了创造这个项目,我们投入了大量的劳动,但我还没有使用过它。这是我们在我们的网站上提供的快速启动项目的很好的开端,似乎这也是基于 Wicket 的新项目启动和运行的很好的开端。

我认为这是我们社区活跃的很好的范例、Wicket 整合了大量开源项目,比如说我们的 Wicket
Stuff 项目涵盖了大约 100 个项目。Wicket Bootstrap 项目跟进最新的 Bootstrap 和 Wicket 项目发布。另外一方面作用于,JQuery UI 和 Kendo UI 与 Wicket 的整合。所以即使世人对于服务端框架的兴趣在下降,我们产品会消亡的谣言也实在是太夸张了。

InfoQ: 你还想补充一些什么吗?

Dashorst: 如果你阅读到这里,还没有用过 Wicket,或者你在很久以前用了 Wicket,请尝试一下它!使用 Wicket 从来没有这么简单、你可以使用上面所提及的 Spring Boot 整合,或者我们的 Maven Quick Start

如果你想了解谁也正在使用 Wicket,请关注我们的 Built with Apache Wicket tumblr 网站,或者关注我们的推特账号 @apache_wicket ,在上面我们将发布社区中发生的任何事情,你也可以找到所有使用 Wicket 建造的网站。

查看英文原文 Apache Wicket 7.2.0 Released


感谢张龙对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群InfoQ 好读者(已满),InfoQ 读者交流群(#2)InfoQ 好读者)。

2016 年 3 月 06 日 18:001099
用户头像

发布了 217 篇内容, 共 52.4 次阅读, 收获喜欢 70 次。

关注

评论

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

大神带你一睹为快!阿里技术官亲自码了“2000页的Spring全家桶笔记”真牛逼!

比伯

Java 编程 程序员 架构 计算机

用 JavaScript 实现寻路算法 —— 编程训练

三钻

Java 算法 前端进阶训练营 七日更 寻路算法

Nice!有了这份Alibaba内部 “Java面试宝典”,跳槽面试稳了

Java架构之路

Java 程序员 架构 面试 编程语言

Java并发编程:AQS的自旋锁

码农架构

Java java 并发

用 Proxy 简单实现 Vue 3 的 Reactive

三钻

Java Vue3 前端进阶训练营 Proxy 七日更

ECS实践案例丨逻辑卷的创建和扩容操作指导

华为云开发者社区

数据库 数据 服务

应对游戏业务的四大“崩溃”场景有妙招,安全畅玩不是梦!

华为云开发者社区

游戏 场景 崩溃

就这一次,学习完包括 Java这些知识点,必拿大厂50W年薪offer

Java成神之路

Java 程序员 架构 面试 编程语言

滴滴Java后台3面题目:网络+内存溢出+各种锁+高性能+消息队列

Java架构之路

Java 程序员 架构 面试 编程语言

鹅厂面经,希望对大家有用

Bryant-cx

前端 面经

软件测试的方法

测试人生路

软件测试

阿里P8整理出Nginx笔记:Nginx应用与运维实战核心篇

996小迁

Java nginx 架构 面试

饿了么刚给我确认了p7的职位,对自己的经历,做一个面试总结。

Java成神之路

Java 程序员 架构 面试 编程语言

APP专项测试 —— 弱网测试

行者AI

测试

顶会两篇论文连发,华为云医疗AI低调中崭露头角

华为云开发者社区

人工智能 医疗 华为云

用 JavaScript 实现一个 TicTacToe 游戏 —— 编程训练

三钻

Java 算法 游戏开发 前端进阶训练营 七日更

阿里p7耗时10个月整理出这些微服务、Nginx、Kubernetes核心技术知识点,真香

Java成神之路

Java 程序员 架构 面试 编程语言

字典树 —— 字符串分析算法

三钻

算法 前端进阶训练营 七日更 字典树

从中心到边缘,IoT正变为互联网之上的一张大网

华为云开发者社区

物联网 IoT 网络

真香!阿里P8耗时半年著作660页Java高并发与网络编程实战总结

Java架构之路

Java 程序员 架构 面试 编程语言

波场智能合约系统开发技术方案丨智能合约DAPP系统开发源码

系统开发咨询:I76-883I-5I52 邓森

滴滴内部框架手册:Spring5+SpringMVC3+MyBatis3.X

Java架构追梦

Java spring 架构 mybatis springmvc

四年Java开发,刚从美团、京东、阿里面试归来(已拿offer),分享个人面经

Java架构之路

Java 程序员 架构 面试 编程语言

入职没见过P8领导,3月后他带着份769页虚拟机笔记出关了

周老师

Java 编程 程序员 架构 面试

区块链数字货币多币种钱包开发案例

系统开发咨询:I76-883I-5I52 邓森

使用LL算法构建AST —— 编程训练

三钻

Java 算法 前端进阶训练营 七日更

SpacePX挖矿系统APP开发|SpacePX挖矿软件开发

开發I852946OIIO

系统开发

程序员必看的Redis6.0多线程性能测试结果及分析 你看懂了嘛?

比伯

Java 编程 架构 面试

架构师训练营第 1 期 第 13 周作业

李循律

极客大学架构师训练营

阿里巴巴首发架构师必知必会的必备SpringMVC实战架构文档,你不来了解一下?

Java成神之路

Java 程序员 架构 面试 编程语言

摸透原理|一文带你了解 Redis 列表底层的实现方式

Java架构师迁哥

演讲经验交流会|ArchSummit 上海站

演讲经验交流会|ArchSummit 上海站

Apache Wicket 7.2.0发布-InfoQ