编写Web应用程序gui。我应该使用哪种技术?

时间:2010-01-28 10:14:09

标签: java ajax user-interface web-applications richfaces

我想写一个有点复杂的web gui应用程序。 它将用于通过显示面板编辑某些内容,并允许用户拖动项目以编辑内容。

这个解释有点抽象,但重点是我正在寻找一种现代的gui写作技术,越是标准,我就越有可能找到使用它的信息和样本。

我一直在使用JavaFaces编写一些简单的网页,并且已经看过RichFaces以编写上述应用程序。 我很想听到类似技术的推荐(例如 - 用什么来写这个网站?)

谢谢!!!

更新:感谢您的答案到目前为止,由于我被要求更多说明,我将尝试解释该应用的使用: 它将用于编辑复杂的脚本。将有一个面板包含脚本的操作(阶段),另一个面板将显示当前所选操作的内容。对于每种操作类型,将有一组不同的属性要修改。 您可以通过将操作拖动到新位置(有点像powerpoint幻灯片管理器或flickr照片管理器)来重新排序操作,并以这种方式复制它们。 动作属性面板的内容将能够显示各种类型的内容,如html文本和按钮以及各种内容。

希望有所帮助。再次感谢!

Update2 :在阅读了这篇StackOverflow Thread后,我倾向于RichFaces,因为它得到了广泛的支持和标准化。

11 个答案:

答案 0 :(得分:5)

看来你需要一个RIA。 Java世界提供以下选项:

  • Google Web Toolkit - 强大的RIA技术,需要您经历陡峭的学习曲线。好的组件框架是SmartGWTgwt-extExtGWT。在我看来,所有这些都有一些缺点,但在你的情况下你可能没有观察到它们。

  • RichFaces - 非常强大,而且由于你有JSF经验,我建议你这样做。

  • ZK - 从未使用它,我不喜欢它的某些方面(至少在不久前我上次检查时),但它仍然是一个选项。

  • Echo3 - 与开发方式中的GWT类似,但实际结果却大不相同。但是,我不确定它是否仍在开发中

  • JavaFX - 如果您有冒险精神,并且您的申请将不会被公开使用,请尝试使用。

答案 1 :(得分:1)

ASP.NET MVC用于编写此站点。

对于您的问题:您应该使用您喜欢的技术。如果您已经习惯了Java,那么您可能希望为此探索各种MVC框架。或者你可以尝试一些对你(或)技术不熟悉的新技术。

答案 2 :(得分:1)

了解GWT和SmartGWT。一起编写RIA webapps是一个非常强大的组合。

答案 3 :(得分:1)

一个有趣的框架,如果我有时间深入了解,我会很高兴Cappuccino。请查看280Slides以获取示例。

答案 4 :(得分:1)

Flex也是创建富Internet应用程序的不错的开源选项。
如果您想坚持使用JavaScript,那么您可以使用JQuery,YUI等

答案 5 :(得分:1)

还有一个非常有趣的事情叫做Vaadin检查它http://demo.vaadin.com/sampler/

答案 6 :(得分:0)

ICEfaces是一种可能性。 Demos here

答案 7 :(得分:0)

我使用了包括拖放功能在内的richfaces,非常适合提供良好的可用性。

答案 8 :(得分:0)

如果您喜欢Java Web Technologies,请查看zk。它承诺与ICEFaces相同的东西。我不知道它是否能兑现承诺,但IceFaces肯定不适合我。 ZK应该使您能够像常见的摇摆应用程序一样构建您的Web应用程序。

答案 9 :(得分:0)

如果您需要在浏览器中使用高级功能,我建议您不要投资基于浏览器端ajax功能与服务器端框架集成的技术/框架。 什么是高级,什么不是当然是一个完全不同的主题,但只是为了让您了解,当您开始面对越来越复杂的UI要求时,您将发现与后端框架的连接(如JSF)将成为一个问题而不是一个能力。特别是对于像JSF生命周期这样的东西,并且大多数服务器端框架都基于HTTP帖子(用于客户端 - 服务器通信)的想法,你会遇到问题。 例如:您将被要求开发一个具有拖放功能的非常特定的UI小部件。如果您选择的Ajax-jsf集成框架不包含此窗口小部件,那么您的问题就出现了。您将开始寻找将数据注入现有渠道的方法,并且会变得混乱。 为了避免进一步的猜测,让我再说一遍,如果您确定所选择的技术设置能够为您提供90%以上的功能,那就没问题。如果你最终开发了太多自定义的东西,那么考虑强大的客户端(javascript或flex或silverlight)层和更简单的服务器端层(resteasy等)之间的集成。初始开发可能没有其他选项快,但是如果你需要灵活性,这将最终成为一个更清洁的设置。我建议你看看DOJO和ExtGWT。

干杯 谢雷夫

答案 10 :(得分:0)

看起来XHTML + JavaScript对于拖动而言似乎足够了。删除你描述的功能。这意味着您可以使用您选择的任何Web框架。如果您需要频繁的异步服务器调用(AJAX),那么GWT是我认为最标准的Java框架,尽管它有其独特之处。我个人喜欢Wicket,因为它不使用XML配置,在很大程度上依赖于代码并且围绕它有一个很好的社区。 Wicket还提供了良好的AJAX支持。