Java 框架中的单页 Web 应用程序或示例? [关闭]

2024-02-09

有没有人看过 Java 中的示例或执行过以下操作:http://duganchen.ca/single-page-web-app-architecture-done-right/ http://duganchen.ca/single-page-web-app-architecture-done-right/

这是一个单页 Web 应用程序的设计,可以与 Google SEO 配合使用,而不会严重违反使用 Java 技术的 DRY?

自己做这件事似乎并不难,但我很好奇(而且很懒)想看看是否有人已经用 Spring 或 JAX-RS 完成了这件事。


我已经建立了一个相当大的“单页”JavaScript 网站 http://si.draagle.com,在客户端生成所有 HTML。服务器仅提供 JSON 响应。我用了谷歌关闭工具 https://developers.google.com/closure/出于以下原因:

  • 谷歌关闭模板允许使用高级模板语言(名为 soy)设计模板,该语言可以编译为纯 JavaScript 函数以在客户端上运行,也可以编译为 Java 代码以在服务器站点上运行。

  • 谷歌闭包编译器,它允许将 javascript 代码分离到模块中,并为未编译模式提供自动依赖注入。对于任何超出简单 html 装饰的项目来说,良好的程序结构和模块化都是必要的。使用 jQuery 或 dojo 等框架很难实现这一点。在高级编译模式下,它将您的 javascript 转换为更短、更高效的等价形式,消除死代码并显着减小大小,这可以将原始代码库缩小到原始大小的百分之几。

  • 谷歌样式表是元 CSS 语言,与闭包编译器配合得很好。

  • 谷歌关闭库是一个巨大且经过良好测试的 JavaScript 库,并且使用闭包编译器,您只需获取所需的内容。

为了简化开发,我正在使用plovr http://plovr.com/,作者:Michael Bolin,前 google 员工,原 Closure Compiler Team 成员之一。

我推荐阅读 Michale 的书:关闭,权威指南 https://rads.stackoverflow.com/amzn/click/com/1449381871.

我必须警告,最初的学习曲线可能相当陡峭,但这是值得的。 Google 使用这个工具来编写几乎所有的网络项目。

还有一件事

如果你真的很喜欢冒险,并且想窥探未来,我建议用 Clojure/ClojureScript 升级以前的策略。首先,请观看此Rich Hickey 的很有说服力的演讲 http://blip.tv/clojure/rich-hickey-unveils-clojurescript-5399498并确保检查Clojurescript 1 项目 http://clojurescriptone.com/.

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

Java 框架中的单页 Web 应用程序或示例? [关闭] 的相关文章

  • 数据库中的持久日期不等于检索日期

    我有一个具有 Date 属性的简单实体类 此属性对应于 MySQL 日期时间列 Entity public class Entity Column name start date Temporal TemporalType TIMESTAM
  • Next.js:如何将 source-map-explorer 与 Next.js 一起使用

    我想分析我的 Next js 构建源地图浏览器 https www npmjs com package source map explorer 有人可以帮我编写脚本吗 对于 React CRA 我使用以下脚本 build analyze n
  • 从三点求圆心的算法是什么?

    我在圆的圆周上有三个点 pt A A x A y pt B B x B y pt C C x C y 如何计算圆心 在Processing Java 中实现它 我找到了答案并实施了一个可行的解决方案 pt circleCenter pt A
  • 在 JQuery ui 自动完成中显示图像

    我有一个带有 JQuery ui 自动完成功能的脚本 可以完美运行 有一个显示用户名字和姓氏的搜索过程 但在我的数据库中 还有用户的图片 我想将其显示在带有名字和姓氏的建议中 数据库中pic包含图片url 剧本 function searc
  • 在电子生成器反应电子应用程序后,在 Windows 中出现空白屏幕

    在电子生成器反应电子应用程序后 Windows 中出现空白屏幕 这是package json 在电子生成器反应电子应用程序后 Windows 中出现空白屏幕 name SmallBusinessManagement version 0 1
  • Gmail 和 Google Chrome 12+ 中的“从剪贴板粘贴图像”功能如何工作?

    我注意到一个来自 Google 的博文 http gmailblog blogspot com 2011 06 pasting images into messages just got html其中提到 如果您使用的是最新版本的 Chro
  • java实现excel价格、收益率函数[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 即使禁用安全性,OAuth 令牌 API 也无法在 Elastic Search 中工作

    我是 Elastic search 新手 使用 Elastic search 版本 7 7 1 我想通过以下方式生成 OAuth 令牌弹性搜索文档 https www elastic co guide en elasticsearch re
  • 如何显示 GroupList 的 FormArray?

    我正在尝试制作一个交互式表单 在每一行上列出一个项目以及一个删除按钮 在我的示例中称为 verwijderen 这些项目是从数据库中检索的 并且每个项目都实例化为名为的自定义对象LaborPeriod 然后这些对象被转化为FormGroup
  • 在 Java 中通过 D-Bus MPRIS 访问 Clementine 实例

    我使用 Clementine 作为音乐播放器 它可以通过 D Bus 命令进行控制 在命令行上 使用 qdbus 我可以 Start Stop 暂停播放器 强制它跳过播放列表中的歌曲 检查播放列表的长度 检查播放列表中当前播放的曲目及其元数
  • 什么是 TinyMCE jQuery 包?

    我被要求在项目中使用 TinyMCE 编辑器 在下载页面上 有一个主包 然后是一个 jQuery 包 This package contains special jQuery build of TinyMCE and a jQuery in
  • Babel/RequireJS + typeof“RangeError:超出最大调用堆栈大小”

    我有一个非常基本的 JS 错误 我很羞愧无法解决它 我正在使用 ES6 和 Babel 进行开发 并且正在做一些实验 请注意 我在 Babel 中使用了这些参数 presets es2015 plugins transform es2015
  • 动态 dom 操作后,如何在浏览器历史记录中保留 dom 状态?

    是否有一个通用的解决方案来保留 dom 状态 以便当用户使用后退 前进返回页面时 整个页面处于他们离开时的确切状态 这篇文章询问并回答了为什么不同浏览器和不同 javascript 库的行为不一致 Ajax 后退按钮和 DOM 更新 htt
  • JsGrid 将嵌套对象加载到表中

    我正在 Django 中开发一个 Web 项目并使用 jsGrid 我遇到了问题并且找不到解决方案 我有一个嵌套的 JSON 数据 它是通过组合多个数据库表记录创建的 这是我的 JSON count 3 results personnel
  • 如何让 Firebase 与 Java 后端配合使用

    首先 如果这个问题过于抽象或不适合本网站 我想表示歉意 我真的不知道还能去哪里问 目前我已经在 iOS 和 Android 上开发了应用程序 他们将所有状态保存在 Firebase 中 因此所有内容都会立即保存到 Firebase 实时数据
  • 使用 DBCP 配置 Tomcat

    在闲置一段时间 几个小时 后 我们收到了 CommunicationsException 来自 DBCP 错误消息 在异常中 位于这个问题的末尾 但我没有看到任何配置文件中定义的 wait timeout 我们应该看哪里 在 tomcat
  • 如何在 Twilio 可编程聊天中的单个通道上侦听消息

    Using twilio chat js https www npmjs com package twilio chat如何在单个频道上收听消息 我发现这个问题 https stackoverflow com questions 54687
  • 设置 TreeSet 的大小

    有没有办法像数组一样对 Java 集合中的 TreeSet 进行大小限制 例如我们在数组中 anArray new int 10 数组具有固定长度 在创建数组时必须指定该长度 A TreeSet当您向其中添加元素时会自动增长 您无法设置其大
  • Angular 2:使用正则表达式进行数字验证

    我正在尝试验证 IE 11 中的数字字段
  • JavaScript 中“键”的类型是什么?

    当我失去焦点并开始思考一个愚蠢的问题时 我遇到了这样的时刻 var a b value b 的类型是什么 我的意思不是 值 的类型 而是标记为 b 的实际键 背景 当我必须创建一个字符串键时 我开始想知道这一点 var a b value

随机推荐

  • 如何向远程服务器添加 ssh 密钥? [关闭]

    Closed 这个问题是与编程或软件开发无关 help closed questions 目前不接受答案 在我的 VPS 中 运行ssh add l它返回 The agent has no identities 但我已经跑了cat ssh
  • 如何在 Ruby 中删除字符串中的最后一个元音?

    如何定义字符串中的最后一个元音 例如 我有一个词 经典 我想找到单词 class 的最后一个元音ic 是字母 i 并删除最后一个元音 我在想 def vowel str result new str split i new length 1
  • 解决方法:汇总下游测试结果

    据我所知 聚合下游测试结果 功能并没有按预期工作 并且很难找到有用的文档 我想实现非常相似的功能 Job Build触发工作T1 T2并行 其中T1FindBugs T2PMD 场景一 立刻T1 and T2已完成 我可以使用 加入 插件来
  • 如何使用参数传递对函数的引用? [复制]

    这个问题在这里已经有答案了 可能的重复 如何在 JavaScript 函数调用中预先设置参数 部分功能应用 https stackoverflow com questions 321113 how can i pre set argumen
  • 微服务依赖管理 - 治理还是领域驱动设计?

    背景 由于长期的单体式痛苦 一家采用联邦模式的国际公司正在转型为微服务 能够快速部署的自治团队是非常理想的 尽管理论上如此 但服务确实相互依赖以获得更高的功能 但它们是自治的 独立开发和部署 由于这是联邦模式和分散控制 我们不能像联合国那样
  • Java 安全管理器会降低性能吗?

    实施 Java 安全管理器是否会导致性能下降 这完全取决于实现的细节以及应用程序 当然有可能实现一个需要很长时间来检查某些权限的安全管理器 以及一个需要非常频繁地检查这些权限的应用程序 从而导致可怕的性能 但通常情况下 检查权限的频率不足以
  • 在 Firebase 数据库模拟器中模拟更新

    我的问题很简单 我不知道如何在 Firebase Simulator 中模拟多个更新 由于我什至不知道如何开始 所以我无法提供任何代码 任何指导都会非常有帮助 目前无法在 Firebase 数据库安全规则模拟器中执行多位置更新 拥有该功能就
  • OS X 上的 ssl.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] 证书验证失败 (_ssl.c:747)

    我正在尝试这段代码 import pandas as pd fiddy states pd read html https simple wikipedia org wiki List of U S states print fiddy s
  • 所有编译时常量都是内联的吗?

    假设我有一堂这样的课 class ApplicationDefs public static final String configOption1 some option public static final String configO
  • 使用 django 和 xgettext 进行本地化

    我正在翻译我的网站 但是当我尝试运行命令时 manage py makemessages locale bs 我不断收到如下错误 CommandError errors happened while running xgettext on
  • 将图像添加到 pandas DataFrame

    假设我有一个 DataFrame 我想导出为 PDF 在数据框中 我有以下列 代码 名称 价格 净值 销售额 每一行都是一个产品 我想向该 DataFrame 中的每个产品添加一个我可以使用 BeautifulSoup 获得的图像 有什么方
  • 网页设计:“向下滚动导航”

    某些网络应用程序中使用的技术是什么 例如http www alfredapp com http www alfredapp com导航在哪里向下滚动网站以显示另一个网站 为了获得这种导航方式 我会将所有内容放在一个页面上并使用 平滑滚动效果
  • Spark sql字符串到时间戳缺少毫秒

    Why is import spark implicits val content Seq 2019 09 11 17 16 54 762000000 toDF year month day hour minute second nano
  • 如何使用 Google 协作平台中嵌入的网络应用程序链接到另一个页面?

    单击新页面的链接后 从用户的角度来看 什么也没有发生 控制台打印出如下错误 不安全的 JavaScript 尝试启动具有原点的框架导航 来自带有 URL 的框架的 https sites google com https n frzjyfh
  • JQuery DatePicker 只读

    当我将日期选择器设置为只读时 我发现用户无法在文本框中输入任何内容 datepicker attr readonly readonly 但是 他们仍然可以使用日历更改该值 如何隐藏日历以使用户无法更改日期值 我不想禁用日期选择器 因为我需要
  • Travis CI:构建矩阵项中的分支过滤器

    我们想知道是否有任何方法可以向 Travis 矩阵项添加过滤器 在我们的特定情况下 我们希望仅在特定分支上运行某些作业 以下示例是配置此场景的理想方法 但它似乎不起作用 matrix include env BUILD TYPE relea
  • 超正方体的替代方案

    Python 或 OpenCV 中是否有替代软件或任何库可以替代 Tesseract 进行字符识别 有什么建议的可以用Python实现的字符识别方法吗 Thanks This site https github com kba awesom
  • Clojure 形式到字符串

    有没有办法将 Clojure 形式转换为字符串 例如 转变 and f 1 g 3 to and f 1 g 3 gt defmacro string it x str x user string it gt string it 1 2 1
  • 在Matlab中循环多个文件

    我需要让 Matlab R2013a 在目录中查找包含 txt 扩展名的所有文件 然后对这些文件执行某些数学表达式 之后 脚本必须打印出与输入文件同名的文件中的数据 除了添加一些新单词以便我可以区分之外 例如 Input file1 txt
  • Java 框架中的单页 Web 应用程序或示例? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 有没有人看过 Java 中的示例或执行过以下操作 http duganchen ca single page web app archit