BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

Apache Wicket 7.2.0发布

| 作者 Matt Raible 关注 11 他的粉丝 ,译者 刘嘉洋 关注 0 他的粉丝 发布于 2016年3月7日. 估计阅读时间: 8 分钟 | Google、Facebook、Pinterest、阿里、腾讯 等顶尖技术团队的上百个可供参考的架构实例!

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好读者)。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT