Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/344.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java GWT vs Flex vs?_Java_Ajax_Apache Flex_Gwt - Fatal编程技术网

Java GWT vs Flex vs?

Java GWT vs Flex vs?,java,ajax,apache-flex,gwt,Java,Ajax,Apache Flex,Gwt,我的公司正试图从一个.NET应用程序迁移到一个纯粹基于网络的、非常“ajaxy”的应用程序。最初的.NET应用程序是相当交互式的,就用户交互而言,大致相当于谷歌地图(矢量地图上的缩放、平移和注释功能) 我们的.NET开发人员非常喜欢Flex2。我承认我对Java有很强的偏见。我也有一年左右的GWT经验,可以很快完成任务。我们的代码库主要是J2EE,所以GWT对我来说似乎很合适。我对Flex没有任何经验,所以我真的不能推荐或反对它 我们选择框架的主要利益如下: 未来证明 适用于所有主要浏览器 快

我的公司正试图从一个.NET应用程序迁移到一个纯粹基于网络的、非常“ajaxy”的应用程序。最初的.NET应用程序是相当交互式的,就用户交互而言,大致相当于谷歌地图(矢量地图上的缩放、平移和注释功能)

我们的.NET开发人员非常喜欢Flex2。我承认我对Java有很强的偏见。我也有一年左右的GWT经验,可以很快完成任务。我们的代码库主要是J2EE,所以GWT对我来说似乎很合适。我对Flex没有任何经验,所以我真的不能推荐或反对它

我们选择框架的主要利益如下:

  • 未来证明
  • 适用于所有主要浏览器
  • 快速响应的用户体验
  • 代码应该是单元可测试的
  • 代码必须是可维护的
  • 开发的速度和易用性
  • 支持某种类型的矢量图形(SVG a plus)

你愿意权衡一下这两种技术的利弊,甚至推荐第三种选择吗?

我不熟悉GWT,但我非常熟悉Flex。尽管GWT是基于Java的(听起来你在很大程度上是一家Java商店),我还是根据你的兴趣推荐Flex:

  • 面向未来-Flash为YouTube和网络上的多媒体提供了强大的支持。。。他们已经将其内置到视频游戏机中,英特尔正在将其内置到机顶盒中。它将在这里存在很长很长一段时间,Adobe一直保持着与Flash播放器100%的向后兼容性


  • 适用于所有主要浏览器-是的。Flash Player 10也包括Linux系统。而且管理方面的麻烦非常少(在我看来,比Java少得多)

  • 快速响应的用户体验——是的,尽管Java在某些情况下可以更快。Flash针对矢量渲染进行了优化,因此,既然这是您的目标,它可能会比Java提供更好的性能

  • 代码应该是单元可测试的-是,请参阅FlexUnit

  • 代码必须是可维护的,这是肯定的。AS3是一种严肃的语言,而不是一种玩具脚本语言。C#或Java的用户将非常熟悉它

  • 开发速度和易用性-对于您正在做的工作,您将能够找到几十个与您描述的内容完全相同的示例:缩放和平移谷歌地图(如矢量图像)。运行时的核心是一个设计良好的图形引擎,因此构建一个交互式图形应用程序是它的自然任务

  • 支持某种类型的矢量图形(SVG a+)——显然,Flash本身就是这样做的。在编译阶段支持SVG(您可以在SVG中编译,但不能在运行时解析SVG)。有一些工具链可以在运行时为您将SVG转换为SWF


我认为使用GWT的唯一原因是将您的商店Java保持在服务器和客户端上。。。但话说回来,你是在为这份工作寻找最好的技术,对吗?在这种情况下,我会说Flash(特别是Flex框架)最适合您想要完成的任务。

我倾向于Flex,因为我从2000年开始就一直在做Flash/Flex开发。不过,我认为要回答你的问题,它实际上取决于你想要实现的交互性和复杂性

Flex将允许您完成在JavaScript环境(ASP.NETAjax、jQuery、GWT)中几乎不可能完成的事情,例如简单的3d图形。在Flex中构建复杂的交互性是非常简单的。而且它速度非常快,一次可以处理许多动画对象。Flex可以使用web服务与.NET或Java无缝通信。使用Flex的缺点是,它感觉像是web站点上的嵌入式应用程序,而不是紧密集成的应用程序


如果您打算坚持使用JavaScript方法,通常我建议您使用与语言无关的东西,比如jQuery。但是,既然您已经有了GWT经验,那么这可能对您的项目很有用。缺点是GWT最终仍然是JavaScript,因此您将受到浏览器中可能出现的速度和交互性的限制。

Sun最近为此类RIA推出了一种称为JavaFX的新技术。您可能想查看一下(javafx.com)。它应该在Java5或更高版本上运行,但这肯定不会像Flash那样具有客户端渗透性。但是,我认为,鉴于您的测试要求,目前这种技术可能不合适


另外,我认为特洛伊·吉尔伯特在他的帖子中犯了一个错误。具体来说,他似乎指出GWT应用程序将(由客户机)在java中运行。我几乎可以肯定,GWT应用程序首先是用Java编写的,然后GWT会将其编译到客户端运行的javascript库中。

我对Flex只稍微熟悉一点,但多年来一直使用GWT。几年前,我们不得不做出一个非常类似的决定(Flash vs GWT),但原因不同。最后,我们看到了GWT相对于Flash的许多优点(其中许多适用于Flex):

  • 并不是所有的客户都有flash,Adobe提供的渗透率数据是无用的,您需要自己的(我们有)来查看您的客户实际拥有什么。在企业和教育市场,渗透率实际上远低于Adobe所报的90年代的高点

  • GWT是真正的跨浏览器和平台兼容(Linux、Mac、Windows、Android、iPhone等),而flash永远不会。你可能不在乎,但我们在乎

  • Flex是专有的Adobe技术,而GWT是完全开源和可定制的

  • GWT与DOM以及页面上的所有其他内容集成起来比flash和Flex容易得多

  • <
    *  futureproof
    
    * works on all major browsers
    
    * fast & responsive user experience
    
    * code should be unit testable
    
    * code must be maintainable
    
    * speed & ease of development
    
    * supports vector graphics of some sort (SVG a plus)