Playframework 查找web框架

Playframework 查找web框架,playframework,wicket,vaadin,Playframework,Wicket,Vaadin,我正在启动一个新项目,该项目涉及一个承载web应用程序的网站,并希望在决定选择哪个web框架时得到一些帮助。 因为我在过去几年中是一名eclipse开发人员,所以我更愿意使用Java web框架(我也发现Java更易于维护,更易于测试、调试和扩展,但这是另一个主题) 我做了一些研究,框架的数量惊人,你不可能在一段合理的时间内浏览所有框架,这就是为什么我要在这个精彩的社区发表演讲:-) 不管怎样,我已经调查过GWT了,玩吧!,维克特、瓦丁和其他几个人。在每一个问题中,我都发现有一些问题 例如,Va

我正在启动一个新项目,该项目涉及一个承载web应用程序的网站,并希望在决定选择哪个web框架时得到一些帮助。 因为我在过去几年中是一名eclipse开发人员,所以我更愿意使用Java web框架(我也发现Java更易于维护,更易于测试、调试和扩展,但这是另一个主题)

我做了一些研究,框架的数量惊人,你不可能在一段合理的时间内浏览所有框架,这就是为什么我要在这个精彩的社区发表演讲:-)
不管怎样,我已经调查过GWT了,玩吧!,维克特、瓦丁和其他几个人。在每一个问题中,我都发现有一些问题

例如,Vaadin和wicket都有一个非常好的小部件集,并且非常容易使用。我认为用它编写web应用程序比编写和调试javascript代码容易得多。缺点是——所有的逻辑都存在于服务器上,我发现这会损害用户体验(我查看了一些使用Vaadin的网站,感觉好像我登录到了远程计算机..这实际上离事实不远..)

Play很棒,但它缺乏GWT和Vaadin的GUI编程能力,使用纯jquery构建复杂的web应用程序可能会很乏味,尤其是在涉及AJAX的情况下。

目前,我发现使用GWT插件是一个合理的解决方案。有谁熟悉更好的候选人吗


谢谢

我认为play、vaadin或gwt是不同的,这取决于您对项目的需求

就我个人而言,我使用Play,我真的很高兴。一旦你习惯了它,你的工作效率就会提高很多。表演也很棒
我不熟悉Vaadin或GWT,但在我看来,jQuery并不难学,而且使用jQuery UI,您可以非常轻松地访问基本的小部件。 对我来说,如果你学习play+jQuery,而不是Vaadin或GWT,你将拥有更多有用的技能


一般来说,我更喜欢选择最流行的框架或语言,因为你会得到社区的大量支持。

这种问题并不是StackOverflow的真正含义,所以请在得到满意的答案后将其删除

也就是说

如果您希望最小化总体网络流量,或者更好地说,对应用程序生成的网络流量进行更好的控制(基本上,您将拥有一个客户端应用程序,在服务器需要数据时与服务器通信),那么GWT是一个很好的解决方案。它有一些非常丰富的组件库,但一旦您选择了一个,与其他组件库进行混合和匹配就不是那么简单了,所以您最终只限于此。而且,用Java代码布局组件并不是那么有趣

我对游戏知之甚少!,但是它是一个基于动作的框架,所以,即使它使事情变得非常简单,它所做的事情是基本的,你不能像使用基于组件的框架那样抽象和模块化你的代码

像Vaadin和Seam这样的框架抽象得太多,有时会失去对网络流量和资源消耗(特别是Seam)的控制


Wicket是围绕组件抽象构建的(这在构建复杂应用程序时非常有帮助),但不会对您隐藏太多内容,让您可以根据需要对其进行微调。缺点是,与您所说的相反,它没有非常丰富的组件库(尽管所有的构建块都在那里,而且很容易集成javascript库来添加“丰富性”).

关于Wicket的一点警告是:尽管为数百名并发用户创建复杂的web应用程序非常容易,但您仍然需要投入大量精力来扩展它。在做出决定之前,请确保您了解有状态页面和无状态页面之间的区别。因此,根据您的经验,wicket和其他有状态web框架更难扩展?这是有道理的。如果你在做一个高容量的网站,是的,有状态的框架会对它的扩展产生负面影响。幸运的是,使用Wicket创建无状态页面并不难(Wicket在服务器上不保存任何状态,因此在扩展方面有很大帮助)。但是你肯定要多加注意,就像你要处理其他框架一样。如果你使用Play!(或任何其他无状态框架)并手动将大量内容放入HttpSession,这比使用严格控制其内存使用的有状态框架更危险。@Protostome是的。因为wicket几乎在服务器端做所有事情,所以很难避免为每个访问者创建一个会话,即使是一个简单的Ajax控件也可以触发会话创建,会话大小也不小。@tetsuo当我说非常难时,我的意思是,相比之下,创建一个低流量的应用程序是多么容易。是的,我想你是对的。我只是有点担心——javascript代码一旦达到一定的大小,就很难维护。但我想将代码组织到模块中可以防止这种情况……100%的人都认为javascript很难。您应该尽可能少地编写它,或者购买JavaScript专家,或者学习闭包工具库(专门用于大型JavaScript开发)。没有银弹。我认为我们应该在不到1个动作基础框架(play)、1个组件基础框架(wicket)+1个javascript框架(jquery、闭包工具)中学习。vaadin和gwt并没有那么灵活,但如果我们在其范围内,它们会很好。祝你的项目好运