【问题标题】:Modern HTML/CSS/JS layout together with a Java backend现代 HTML/CSS/JS 布局以及 Java 后端
【发布时间】:2012-02-03 18:50:30
【问题描述】:

简介

我基本上来自开发团队的两个方面。我开始使用 PHP 构建 Web 应用程序。这样,我必须手动实现所有内容。表单、图形元素、所有内容如何联系在一起(即单击按钮时会发生什么)。

另一方面,前段时间我进入了Java Web 世界,即JSF。在我看来,这是构建“严肃”应用程序的好方法。 (为什么我这么认为,请阅读下文)

问题

我想构建一个 Web 应用程序,它由一个漂亮且可用的前端组成,该前端是根据我的规范设计的(基本上首先将 HTML 和图形布局作为水平原型 - 尽可能 - 然后制作一个完整的webapp 出来)。但另一方面,我想在 Java 中完成所有业务逻辑,因为它有许多不错的框架 - Hibernate、Morphia、Lombok、Dozer,仅举几例我遇到并爱上的。

我可以自己用 JSF 构建前端,但我仍然认为,我太有限了,因为我必须使用只能定制到一定数量的内置组件。如果我想使用自己的设计模式和 UI 元素和行为,但仍希望它们与 Java“后端”一起工作,该怎么办?

实现我的目标的“最佳”工具选择是什么?选择一个不同的网络框架,比如 Wicket 或类似的?

我的想法:用 Java 构建一个 Web 应用程序,该应用程序可以理解古老的 GET 命令并将其转换为 Java 方法。一种 RESTful 服务 - 虽然我不太喜欢在前端使 一切 成为 RESTful - 除非你告诉我,否则这很好且可靠。

【问题讨论】:

  • 那么为什么不将您的应用程序构建为 J2EE 应用程序呢?使用 servlet 和/或 JSP 生成您的 html,添加 css 和您喜欢的任何 javascript 框架(jquery、mootools 等) - 并将所有繁重的工作留在 java 中。

标签: java web-applications grails


【解决方案1】:

您是否考虑过/查看过 Google Web Toolkit 以了解您想要制作的内容?

GWT 在幕后是 Java,但如果我理解您的要求,它仍然可以将您带到您想去的地方。

只是更新:

如果您不喜欢 GWT,请查看 Groovy / Grails 路线。

这里只是基于评论的一些详细说明......

使用 Groovy/Grails,您实际上不必合并前端和后端。我已经看到这样做了,但不一定总是 100% 需要。

例如,您可以在 Grails 中创建一个 Web 应用程序,您可以在其中形成和存储您的 AJAX 函数,并将 UI 代码交付给客户端以实现 Great-UI-Justice。为了增加乐趣,您甚至可以指示 Grails 包含一个 JS 框架(例如 jQuery)来帮助您处理 UI。

现在在后端,您应该能够使用您的 Java 后端并直接应用它,几乎不需要更改。但是,我建议您考虑调整您迄今为止所做的任何事情,以利用 Grails 方法。

【讨论】:

  • 是的,我看过它并看到了它的实际效果,但我对 UI 构造不太满意。让我想起了太多的 Swing/SWT/等。这绝对不是我想要的。
  • 你考虑过 Groovy / Grails 路线吗?后端是 Java,虽然前面没有那么多 Swing/SWT/etc。
  • 感谢 Grails 的提示。看起来很像我的开发风格。还有一个问题:在 Grails 中开发这个意味着前端和后端是结合的,对吗?但是我可以使用这些 GSP 页面来使用不同的功能,还可以实现我自己的 AJAX 功能和随之而来的 UI 动画,对吗?如果您能详细说明这一点,那就太好了。不过我会接受你的回答,因为这是我想要的。
  • 我不介意详细说明!我将添加到答案以获得更长的回复。
  • 非常感谢。帮了我很多。我想我将从在 Grails 中做所有事情开始,因为它似乎已经非常强大了。如果我觉得需要分离前端和后端,我仍然可以这样做。对吗?
【解决方案2】:

有很多像ICEfaces这样的JSF库, RICHfaces 等,使用 AJAX 等。

在我个人看来,拥有一个 RESTful API 并像对待任何其他客户端一样对待您的网页总是一个好主意;)

【讨论】:

  • 使用这些,我觉得我的 UI 设计有些局限,因为技术以某种方式决定了思考的外观和工作方式(数据表、按钮、其他 UI 组件) - 你有任何帮助资源来连接带有 Java RESTful 后端的普通 HTML/CSS/JS 前端?如何为基于会话的登录提供安全区域? RESTful 是相当无状态的,所以这就是这个想法最困扰我的地方。
猜你喜欢
  • 2016-01-28
  • 1970-01-01
  • 2012-03-28
  • 1970-01-01
  • 1970-01-01
  • 2018-03-22
  • 2022-10-01
  • 2014-01-08
  • 1970-01-01
相关资源
最近更新 更多