2011-10-23 108 views
1

在我看来,有两种类型的网络应用程序:网站和网络应用程序(有更多的表格和表格比文字和图像...)。发挥框架适用于网站和网络应用程序

我发现使用组件框架(apache wicket)创建动态表单和表格是很容易的。我也发现创建带有框架的网站更容易。

考虑到我对网站和Web应用程序的粗略区分,我可以说比起商业Web应用程序(想象一下基于Web的会计应用程序),该游戏更适合网站(类似于PHP,Rails ...)有很多表格,表格......)

+1

这取决于(tm)。 Wicket避开RAD功能(脚手架和其他代码/运行时UI的生成),有利于使涉及的状态行为更容易。如果您的UI很少,那么组件框架会更好。如果你有很多主要CRUD操作的实体,那么带脚手架的框架更好。我见过两种类型的“商业”应用程序。 – millimoose

+1

这对Stack Overflow来说太主观了。你可以尝试http://programmers.stackexchange.com,它允许更多的主观性问题,但我不明白为什么[你现有的线上游戏!邮件列表](http://groups.google.com/group/play-framework/browse_thread/thread/cd76278b0987f4a4)是不够的。 –

回答

5

我觉得@TJ指出的Play组的线程已经回答了你的问题,但是为了完整性,一般意见和我的也是这样Play既适用于网站和网络应用程序。

虽然Play确实让使用Java编写网站变得容易很多,但这确实是它为什么被构建的第二个功能。它的构建是为了使构建Java应用程序更容易,因为J2EE堆栈太臃肿,无法满足Play开发人员的需求。

这里有一些原因,我想打建,并且效果很好,作为一个Web应用程序平台

  • JPA集成,无需麻烦
  • Memcache的开箱
  • 优秀的错误处理在发展
  • 没有更多的停止,部署,重启循环(这是从来没有的JSP只有一个问题)
  • 容易长轮询/ WebSocket的整合
  • 模块为Spring/CRUD /安全

我已经看到了游戏内置的WebApp和网站的混合物,而我自己已经建立了两个Web应用程序和网站。 Play现在是我大多数Web项目的首选,我还没有发现Play限制我想实现的任何主要用例。

3

游戏并不完美,但它在Java世界中与Web应用程序开发有关。我仍然想知道为什么没有人决定尽早做这种事。

2年前,我几乎决定把Java看作是网页开发的迷失。我曾尝试过PHP/Python/Grails,并认为它比任何Java EE Web框架都更适合Web开发:更高效,更易于学习,开发和维护,所需资源更少,并且在图形方面具有更好的结果。 Java EE框架是可行的,但需要多少开发人员和时间和工具才能完成基本的工作,比如表单执行CRUD操作?

然后我发现了Play,从那时起,我认为Java可以再次成为一个很好的Web平台。 Play对于Web层来说足够轻量级,您仍然可以使用来自Java世界的所有这些优秀的开源生产就绪框架。而且,您可以使用Java进行编码,而无需切换到Groovy。自然仍然存在网页模板引擎的问题。 Play提供的Groovy模板并不真正占据上风。还有其他的引擎:Japid,剑桥,前者。斯卡拉模板是非常有前途的,因为它是一个编译的模板。 Java中没有解决方案。 Java根本没有针对这个话题。

Scar tempaltes深受感染,并感激伟大的发挥!作为一名高级Java开发人员,他们越来越被全球Java惯性感到失望,我开始发现Scala,它在JVM中提供了非常强大的Java替代品。 Scala非常成熟,并提供即使在10年内也不会出现在Java中的功能。我不确定一个基本的Java开发人员可以轻松地切换到Scala,因为Scala是一种高级语言,允许以多种方式编写内容,而不是像Java那样的一种或两种。您可以在编写Java时编写Scala,但它的功能如此强大以至于很快就会感到遗憾。尽管如此,作为任何高级语言,如果你不想结束编写难以理解的代码IMO(它在C++中是一样的,我也没有谈论函数式语言),那么它需要在编码策略中更加严格。无论如何,对于一位高级开发人员,让我告诉你,在Scala中实现一块代码比在Java中更智能满意......这是事实;)

传入Play2.0也很有希望.. 我相信Java + Web可能不是下面的“漫画”恶性循环:“写标签,写bean,写JPA,写XML /注释到处,重新部署,等待,等待,测试...... 10页例外。 ..重写标签,重写代码,启动调试器,重新部署,等待,等待,测试...调试......哦不:代码中没有代码但是在标签中......错误......“)。 。至少,在Play中,你删除了“等待,等待”,“xml/annotations everywhere”,并且不需要JPA(好吧,你也可以在Java EE中选择其他的东西),并且标记错误也可以(你可以有其他错误,但无论如何,它给出了另一个观点,有时很好)

1

我已经使用了一个小应用程序,只需要一个用户界面和一个数据库,并且开发和使用似乎相当快。但是,如果您需要在Web /应用程序容器和小型UI组件之外运行的大批量组件,我不认为这是一个很好的选择。基本上玩不允许你在容器外重复使用模型,因此在这种情况下,你需要在ui应用程序创建重复和维护问题的批处理中两次写入或映射数据库两次。

我认为在这种情况下,使用传统的分层方法,您可以通过UI和批处理来重用服务层,这很有意义(例如服务层中的DAO被写入并重用)。请让我知道,如果你不同意,但是有没有人有任何指导原则,应该使用播放框架,不应该使用播放框架,非常有兴趣听取人们的意见。

+0

我从来没有尝试过自己,但我认为你可以在容器外使用你的模型,你只会放弃由Model类提供的一些辅助方法,但没有什么能阻止你将DAO jar放在lib文件夹中并使用它们... – opensas

+0

我使用锡耶纳(也开发它:)),我可以在Play以外使用我的模型,因为我基本上不依赖于Play上的任何内容。但我同意,如果你使用游戏模型设施,你坚持使用游戏!因为这些模型需要运行时增强! – mandubian

2

Play是我在同一个袋子里Ruby on Rails和Django的,但 更好:-)我正在开发与Spring和 JSF 2.0(PrimeFaces),我认为这是很好的选择相当复杂apllications。我尝试了Vaadin(在 GWT上),但复杂的用户界面使客户端代码变得如此之重,以至于在某些电脑上杀死了 Firefox,并且在Chrome和Opera中运行得相当缓慢。 这让我不相信GWT。我也不会在这里使用Play - JSF对我来说确实是 。另一方面,我绝不会试图用JSF2编写公共网站 。这里玩得很好!

相关问题