Wicket 是适合单页应用程序的 Web java 框架吗? [关闭]

2024-01-06

或者这种应用程序、SPA 有最好的选择(框架)吗?

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

对我来说选择后端 Web 框架的主要要点是:

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

是的,你可以用Wicket构建一个SPA,它的组件架构实际上让它变得非常简单。

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

然而,您失去的一件事是页面的书签功能。

由于它是单个页面,浏览器地址栏中的 URL 永远不会改变,并且如果用户创建书签,它将始终访问初始页面,而不是创建书签时显示的页面。

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

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

关于使用基于操作的框架(Struts、Spring MVC、Play 等),如果您想要一个客户端密集型架构,它们更合适。但是您将不可避免地使用 Javascript 编写大部分应用程序,或者使用一些 Java 到 javascript 编译器 (GWT),并使用框架只是为了进行查询,我的意思是,实现服务(XML、JSON 或一些变体)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Wicket 是适合单页应用程序的 Web java 框架吗? [关闭] 的相关文章

随机推荐

  • JsonConverter CanConvert 不接收类型

    我有一个习惯JsonConverter 这似乎没有被正确调用 我已经创建了转换器 并将其添加到JsonSerializerSettings Converters集合并标记了我正在序列化的实体上的属性 JsonConverter typeof
  • 修复 Terraform 中的“仅插值表达式已被弃用”警告

    我升级到 Terraform v0 12 16 现在我收到很多类似这样的消息 Warning Interpolation only expressions are deprecated on modules test notifier te
  • 为什么我们在 Pytorch 张量上调用 .numpy() 之前先调用 .detach()?

    已经确定的是my tensor detach numpy 是从 a 获取 numpy 数组的正确方法torch tensor https stackoverflow com questions 55466298 pytorch cant c
  • 在没有 WRITE_SETTINGS 明确许可的情况下设置自定义铃声

    我只是想设置铃声 我不想授予 WRITE SETTINGS 权限 我可以找到大部分答案来授予 WRITE SETTINGS 权限 但我正在使用一个应用程序 该应用程序没有任何 WRITE SETTINGS 权限来设置铃声 https pla
  • 如何修复错误“命名管道提供程序,错误 40 - 无法打开与“SQL Server”的连接?

    我似乎无法从站点连接到我的数据库 我收到此错误 命名管道提供程序 错误 40 无法打开与 SQL Server 的连接 我尝试使用本地 IP 地址和公共 IP 地址进行连接 我试过了 是的 该站点可以与服务器通信 命名管道 TCP 已启用
  • 查找在 BigQuery 中创建表的查询

    我是公司的新员工 我之前的人已经在 BigQuery 中构建了一些表 我想研究该特定表的创建表查询 我想使用查询检查的事情是 使用了什么连接 用于制作相关表格的其他表格是什么 我以前没有使用过 BigQuery 但我通过阅读教程和文档进行了
  • 将文件从应用程序拖动到资源管理器。我的应用程序可以进行复制吗?

    在 Qml 中 我可以使用以下命令开始拖动text uri listmime 类型 以便启动从我的应用程序到文件资源管理器的复制操作 例如 Item id draggable anchors fill parent Drag active
  • 从元素中删除 :active 伪类

    我希望能够告诉一个元素它不再是 active这样 CSS 规则就不再适用 有没有办法在 JavaScript 中做到这一点 可能的解决方案 1 使用类 JS document getElementById element classList
  • ARM 周期精确模拟器

    是否有免费且周期精确的 ARM Cortex A9 模拟器 我认为 ARM IDE 提供了某种分析器 但首先我不确定它是否提供命令行界面 其次它不是免费的 我希望能从 GNU 找到一些东西 但我找不到 没有可用于最新 ARM 内核的免费周期
  • 以编程方式获取 12 Hive 的目录路径

    有没有办法以编程方式获取12 Hive的目录路径 我正在创建一个功能 将文件传递到 12 配置单元中的 XML 目录 并且我不想在代码中硬编码目录路径 是否有任何对象模型属性将 12 Hive 目录路径字符串公开为属性 您可以使用 Micr
  • SQL DataReader 网络使用限制

    我有这样的想法 不知道好坏 我有实用程序 它通过 reglament 连接到 SQL Server 并将一些数据获取到应用程序 数据很简单 2 个 varchar 文本属性 但数据数量约为 300 万行 因此 我的应用程序非常频繁地使用网络
  • 使用 PHP Simple HTML DOM Parser 之前登录 ASP 网站

    我正在使用 PHP Simple HTML DOM Parser 来解析来自游戏 ASP 网站的数据 我需要获取的数据仅对注册用户可见 因此在开始使用之前我需要一些东西来登录网站 有人可以建议我一个脚本或可以做到这一点的东西吗 预先非常感谢
  • 如何在 guile-2.0.11 的 macOS Sierra 版本上修复 libguile/stime.c?

    在此输入链接描述 http lists gnu org archive html bug guile 2016 06 msg00252 htmlguile 2 0 11 的构建因以下错误而停止 Undefined symbols for a
  • 如果命名空间也定义为默认值,则强制 XDocument 不使用命名空间前缀

    我有一个 xml 文件 其中指定了带或不带名称空间前缀的默认名称空间 当我生成 xml 输出时 我会为所有 xml 元素添加前缀 由于我使用的是默认命名空间 有没有办法摆脱前缀 class Program static void Main
  • 物理内存的对齐是如何保证的?

    malloc 返回适合任何内置类型的内存 如果需要更具体的对齐 例如 16 或 32 字节 可以在应用程序级别完成 但这种对齐是在虚拟内存级别 如何保证底层物理内存也处于相同的对齐方式 虚拟内存是在页面级别实现的 因此每个虚拟机页面在加载到
  • 从 F# 中的序列中删除单个非唯一值

    我有一个代表 F 中骰子的整数序列 在所讨论的游戏中 玩家有一池骰子 可以选择玩一个 受某些规则约束 并保留其余的 例如 如果玩家掷出 6 6 和 4 并决定玩一个 6 是否有一种简单的方法可以返回仅删除一个 6 的序列 Seq filte
  • Python - 快速批量修改PNG

    我编写了一个 python 脚本 以独特的方式为 OpenGL 着色器组合图像 问题是我有大量非常大的地图 需要很长时间来处理 有没有办法以更快的方式写这个 import numpy as np map data image data fo
  • 反应本机构建错误:包 android.support.annotation 不存在

    我必须完全重写这个问题 我有一个反应本机 Android 应用程序 当我建造apk文件与 gradlew assembleRelease x bundleReleaseJsAndAssets 一切顺利 但之后就完全停止编译了 甚至react
  • 无限斐波那契数列

    我正在尝试使用序列在 F 中模仿 Haskell 著名的无限斐波那契列表 为什么以下序列的计算结果不符合预期 它是如何被评估的 let rec fibs lazy Seq append Seq ofList 0 1 Seq map2 fib
  • Wicket 是适合单页应用程序的 Web java 框架吗? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi