我正在尝试选择一个基于Java的Web框架来启动一个新项目,到目前为止,我在决定时遇到了一些麻烦。我一直在使用普通的GWT,我不得不说这是非常好的,架构,API和文档都非常好,但我缺乏应用CSS和美化我的小部件的知识,所以我需要一些附带的东西包括在内,Gwt Ext被排除在外,因为它并非完全基于GWT,Ext Gwt很好,但它们完全偏离GWT并再次实现所有内容(数据存储,事件等),还有许可证。我发现了Vaadin并且看起来相当不错,除了它改善了GWT的弱点(在我看来),即一切都是客户端,预渲染(整个网站都在客户端,即使,让我们说,您的客户尚未通过身份验证)。关于Vaadin的唯一问题是我没有看到很多广泛使用,也许是最近的,所以我不能得到很多意见。
所提出的任何解决方案都不一定要基于GWT,只是它以一种很好的方式集成了JS和JAVA,从我,Java开发人员那里抽象出来,我需要学习的所有JS优点,以便开发一个网络应用程序。
所以,基本上:Java开发人员需要对不同的基于Java的Web框架提出意见。要求:对使用它不需要CSS或JS的深入了解(当然,基本知识总是需要的,但我不想过多地修改内部结构),包含的好看,可接受的外观小部件,使用能力Java开发工具/技术(Eclipse,Netbeans等)。
正如您所看到的,GWT几乎符合我的所有要求,这是我的第一选择,但现在我想获得更多有关其他选项的反馈。提前谢谢,teto。
答案 0 :(得分:5)
那么,
在我看来,你应该把时间花在CSS上。没有CSS的网络只是在寻找麻烦。大多数Web框架都需要一些HTML和CSS才能完成最终的演示。他们可能会将它们抽象出来,但如果不了解底层技术,当您需要UI中的特殊内容时,您总会遇到困难。
想象一下,在不想学习LayoutManagers概念的情况下编写一个UI。
大卫
答案 1 :(得分:3)
Grails,如果你不介意像JVM这样的Rails框架。
答案 2 :(得分:3)
JSF - Richfaces或Icefaces Seam 这是一个很好的包。
如果您决定不放弃所有作品 - 您还可以利用GWT with Seam。
答案 3 :(得分:3)
如果您喜欢基于组件的方法,请查看Apache Wicket。关于第三方JavaScript库,您可以使用任何您想要的JS库。 Wicket核心实际上只使用它自己的自定义JS for 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,原型,道场),jQuery Plugin等。您可能需要阅读Which Grails Rich Client Plugin is the Best?以获取更多输入。
答案 4 :(得分:2)
Stripes非常好。
但是,如果您正在开发更多的“应用程序”而不是“网站”,我强烈建议您使用ExtJS的简单html。然后,您可以通过类似DWR之类的内容将其连接起来,并编写非常少的Web代码。
答案 5 :(得分:1)
Sproutcore或EXTJS是替代品,但坚持使用GWT可能是一个不错的选择
答案 6 :(得分:0)
您可以查看RIFE。我不确定它是否具有您想要的小部件支持,但它符合要求。
答案 7 :(得分:0)
虽然不是基于Java的,但Flex是一种有趣且引人注目的技术,可用于创建富Internet应用程序,特别是可以立即创建gui。 它还可以通过BlazeDS等数据服务提供商与Java后端轻松通信。
Flex应用程序最终编译为.swf(Flash)文件,并在浏览器中使用Flash插件运行。 这可能不是你想要的,但我只是指出它来提供你的信息。
我使用过的大多数基于Java的Web框架,当您想要在基于组件的框架中更改组件的外观时,可以归结为css,甚至更多在基于MVC的Web框架中。
答案 8 :(得分:0)
Seam Framework是许多商业网络应用中使用的现代框架。 Spring Webflow是另一个不错的选择。
但就个人而言,我会考虑使用Grails。它比传统的Java框架更加轻量级和动态,拥有一个非常活跃的社区和强大的插件生态系统。显然它使用Groovy,但我相信你会发现学习是一种乐趣!我相信你可以用Grails在更短的时间内制作出高质量的网络应用程序。