Wicket是适合单页面应用程序的Web java框架吗?

时间:2013-02-17 13:52:42

标签: java scala web-applications wicket single-page-application

或者有这种应用的最佳选择(框架)SPA?

我感兴趣的是只使用Scala或Java框架进行后端开发。

为我选择后端Web框架的主要重点是:

  • 良好的文档,资源和许多示例
  • 社区的成熟和大量采用以及相当多的实际用例。
  • 简单易学的曲线。
  • 一个简单而广泛的架构,可以轻松使用或添加身份验证,授权和Web应用程序中常见的其他功能。

1 个答案:

答案 0 :(得分:4)

是的,您可以使用Wicket构建SPA,其组件架构实际上非常简单。

基本上,通常的应用程序中的页面是什么,您转变为Panel,并使用Ajax制作单页切换面板,而不是在页面之间导航。您可以在页面的多个部分使用多个面板等。所有这些都非常简单和自然的框架。自5.x以来添加的事件架构使得使用段间通信变得更加简单。

但是,你丢失的一件事就是页面的书签功能。

由于它是一个页面,浏览器地址栏中的URL不会改变,如果用户创建书签,它将始终点击初始页面,而不是书签制作时显示的页面。

客户端(基于javascript)的框架(如GWT)通常通过使用动态锚(#后面的URL中的字符串)对当前状态进行编码来实现这一点,以便应用程序可以在需要时重建它,但是一个以服务器为中心的框架,Wicket无法做到(至少,没有太多的自定义代码)。可行,可行,但需要一些思考和工作。

很多时候,这不是必需的功能(或甚至可能是不良行为)。如果是这样的话,Wicket可以真的帮助你。

关于使用基于动作的框架(Struts,Spring MVC,Play等),如果你想要一个客户端繁重的架构,它们会更合适。但是你不可避免地会在Javascript中编写大部分应用程序代码,或者使用一些Java-to-javascript-compiler(GWT),并使用框架来进行查询,我的意思是实现服务(XML,JSON或者一些)变体)。