或者有这种应用的最佳选择(框架)SPA?
我感兴趣的是只使用Scala或Java框架进行后端开发。
为我选择后端Web框架的主要重点是:
答案 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或者一些)变体)。