【问题标题】:Java based web framework alternatives基于 Java 的 Web 框架替代方案
【发布时间】:2009-10-15 13:39:27
【问题描述】:

我正在尝试选择一个基于 Java 的 Web 框架来启动一个新项目,但到目前为止我在决定时遇到了一些麻烦。我一直在使用普通的 GWT,我不得不说它非常好,架构、API 和文档都非常好,但是我缺乏应用 CSS 和美化我的小部件的知识,所以我需要一些附带的东西包括,Gwt Ext 被排除在外,因为它不是纯粹基于 GWT,Ext Gwt 很好,但它们完全偏离 GWT 并再次实现一切(数据存储、事件等),而且还有许可证。我发现了 Vaadin,它看起来不错,除了它改进了 GWT 的弱点(在我看来),即一切都是客户端,预渲染(整个网站都在客户端,即使,让我们说,您的 cient 尚未通过身份验证)。关于 Vaadin 的唯一一点是,我没有看到很多广泛使用,可能是最近才出现的,所以我无法获得很多意见。

提出的任何解决方案都不必基于 GWT,只是它以一种很好的方式集成了 JS 和 JAVA,从我这个 Java 开发人员那里抽象出我需要学习的所有 JS 优点,以便开发一个网络应用程序。

所以,基本上:Java 开发人员需要对不同的基于 Java 的 Web 框架提出意见。要求:无需深入了解 CSS 或 JS 即可使用它(当然,始终需要基本知识,但我不想过多地修补内部结构),已经包含漂亮、外观可接受的小部件,能够使用Java 开发工具/技术(Eclipse、Netbeans 等)。

正如您所见,GWT 几乎可以满足我的所有要求,这是我的第一选择,但现在我希望获得有关其他选项的更多反馈。提前致谢,teto。

【问题讨论】:

  • 请修正标题。令人讨厌的是,您的标题如此含糊,而您的问题却更加具体。请更改标题以匹配您的实际问题,例如“GWT 的替代方案”或“帮助我使用 CSS”或其他内容。
  • 您说得有道理,但请在对新人严厉之前让他们松懈一下。
  • 我第二个@S.Lott 请更改问题的标题。

标签: java gwt frameworks


【解决方案1】:

嗯,

在我看来,你真的应该在 CSS 上投入时间。没有 css 的网络只是自找麻烦。大多数 Web 框架都需要一些 HTML 和 CSS 来进行最终呈现。他们可能会将它们抽象出来,但如果不了解底层技术,当您在 UI 中需要一些特殊的东西时,您总是会陷入困境。

想象一下,在不想学习 LayoutManager 的概念的情况下编写 UI。

大卫

【讨论】:

    【解决方案2】:

    Grails,如果你不介意一个类似 Rails 的 JVM 框架。

    【讨论】:

    • Groovy 是 Java。您可以在 Grails 中用一个替换另一个。
    【解决方案3】:

    如果您喜欢基于组件的方法,请查看Apache Wicket。关于 3rd 方 JavaScript 库,您可以使用任何您想要的 JS 库。 Wicket 核心实际上只使用它自己的自定义 JS 用于 Ajax 等。查看wicketstuff 以了解流行的 JS 库和 Wicket 之间的许多现成集成。他们中的一些人不如其他人成熟,但好的人可以给你灵感,让你知道如何完成你需要的事情。另一种选择:Wicket ExtJS Integration Module

    就个人而言,我更喜欢Stripes,这是一个基于动作的框架,它提倡约定优于配置。同样,Stripes 不会强制使用任何特定的 JS 库,所以只需使用您想要的。不过,您可能想阅读[Stripes-users] Suggestions for a good widget framework for STRIPES

    最后,Grails 可能是小丑候选人。它有AJAX support(您可以使用YUI、原型、dojo)、jQuery Plugin 等。您可能需要阅读Which Grails Rich Client Plugin is the Best? 以获取更多信息。

    【讨论】:

      【解决方案4】:

      JSF - RichfacesIcefacesSeam 这是一个不错的包。

      如果您决定不放弃所有作品 - 您也可以利用 GWT with Seam

      【讨论】:

        【解决方案5】:

        Stripes 如果你要使用 jsp 风格的框架,那就很好了。

        但是,如果您正在开发更多的“应用程序”而不是“网站”,我强烈建议您使用带有 ExtJS 的纯 html。然后,您可以通过 DWR 之类的方式将其连接回来,并且只需编写非常少的 Web 代码。

        【讨论】:

        • Ext JS 来自制作 Ext Gwt 和 Gwt Ext 的同一个人,而且他们都有相同的许可模式,所以对我来说这是不行的。无论如何,感谢您的回答并指出 DWR,我的工具箱的另一个工具
        • 公平地说,Ext-GWT 和 GWT-Ext 是 ExtJS 的扩展。我会说,对于商业产品,Ext 许可证非常物有所值。
        • 是的,Ext-GWT 是纯 Java,这是一个很大的优势,我同意你的观点,许可是可以接受的,但我不能决定,这就是为什么不对我来说是一个可行的选择。
        • 作为一名技术专业人士,您的工作就是为您的上级传达正确的选择 :)
        【解决方案6】:

        Sproutcore 或 EXTJS 是替代方案,但坚持使用 GWT 可能是一个不错的选择

        【讨论】:

          【解决方案7】:

          您可以查看RIFE。我不确定它是否具有您想要的小部件支持,但它符合要求。

          【讨论】:

            【解决方案8】:

            虽然不是基于 Java 的,但 Flex 是一种有趣且引人注目的技术,可用于创建富互联网应用程序,尤其是立即创建 gui。 它还可以通过 BlazeDS 等数据服务提供者与 Java 后端轻松通信。

            Flex 应用程序最终编译为 .swf (Flash) 文件,并在带有 Flash 插件的浏览器中运行。 这很可能不是您想要的,但我只是指出来供您参考。

            我使用过的大多数基于 Java 的 Web 框架,当您想要更改基于组件的框架中的组件外观时,甚至更多地更改基于 MVC 的 Web 框架中的组件外观时,归结为 css。

            【讨论】:

              【解决方案9】:

              Seam Framework 是许多商业网络应用程序中使用的现代框架。 Spring Webflow 是另一个不错的选择。

              不过,就我个人而言,我会考虑使用Grails。它比传统的 Java 框架更轻量级和动态,拥有非常活跃的社区和强大的插件生态系统。显然它使用了 Groovy,但我相信你会发现学习是一种乐趣!我很有信心地说,您将能够使用 Grails 在更短的时间内开发出高质量的 Web 应用程序。

              【讨论】:

                【解决方案10】:

                首先感谢所有花时间回答的人,我检查了每个人,在考虑了每个框架/解决方案必须提供的内容后,我选择坚持使用普通 GWT,如果需要,可能会求助于 CSS 样式,是学习 CSS 永远不会太晚。我的大部分代码库已经启动并运行,因为我有一个截止日期来满足这对我来说似乎是最合乎逻辑的选择。 Grails 和 Groovy 绝对值得一看,也许在我的下一个项目中我会从头开始使用它们。

                【讨论】:

                  猜你喜欢
                  • 2010-11-09
                  • 2022-01-13
                  • 2017-05-28
                  • 2014-08-14
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  相关资源
                  最近更新 更多