当前位置:  开发笔记 > 编程语言 > 正文

GWT vs Flex vs?

如何解决《GWTvsFlexvs?》经验,为你挑选了3个好方法。

我的公司正试图从.NET应用程序迁移到纯粹基于Web的东西,而且非常"a".原始的.NET应用程序相当具有交互性,就用户交互而言大致相当于谷歌地图(缩放,平移,注释矢量地图上的功能).

我们的.NET开发人员真的使用Flex2.我承认有一个非常强大的Java偏见.我也有大约一年的GWT经验,可以很快完成任务.我们的代码库主要是J2EE,所以GWT似乎很适合我.我没有使用Flex的经验,所以我真的无法建议或反对它

我们选择框架的主要兴趣如下:

面向未来

适用于所有主流浏览器

快速响应的用户体验

代码应该是可单元测试的

代码必须是可维护的

速度和易于开发

支持某种矢量图形(SVG加)

注意权衡这两种技术的优缺点,甚至推荐第三种选择?



1> rustyshelf..:

我对Flex很熟悉,但已与GWT合作多年.几年前我们不得不做出一个非常类似的决定(Flash与GWT),但出于不同的原因.最后,我们看到了GWT相对于Flash的许多优点(其中许多适用于Flex):

并非所有客户都拥有闪存,Adobe的渗透数量无用,您需要自己的(我们拥有)来查看客户实际拥有的内容.在企业和教育市场,渗透率实际上远远低于Adobe引用的90年代.

GWT是真正的跨浏览器和平台兼容(Linux,Mac,Windows,Android,iPhone等),而闪存永远不会.你可能不在乎,但我们做到了.

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

GWT与DOM集成,页面上的其他所有内容都比Flash和Flex更容易.

GWT是用Java编写的,我们都非常了解Java

解决您的具体问题:

*  futureproof

没有什么是真正的未来证据,但我觉得GWT和Flex都是未来的证明.也许GWT更加微不足道,因为它是开源的.

* works on all major browsers

GWT适用于Firefox(以及所有gecko浏览器),Safari(以及所有Webkit浏览器),IE和Opera.Flex适用于所有浏览器,但只有支持Flash,所以我会说GWT在那里出现.

* fast & responsive user experience

在支持它的平台上,Flex将为了用户体验而杀死GWT.在光滑度和光滑度方面,你无法与闪光灯竞争.

* code should be unit testable

两者都很容易进行单元测试

* code must be maintainable

编码好时两者都是可维护的

* speed & ease of development

只要你熟悉它们,我就会说它非常多.

* supports vector graphics of some sort (SVG a plus)

我不能代表Flex,但GWT通过SVG支持矢量图形,通过第三方库.


是的,那些iProducts和100,000,000用户安装基地.你应该忽略它们.这是正确的做法;)Safari是一个主要的浏览器.拥有1亿用户的任何浏览器都是主流浏览器.苹果公司对它的看法不是Adobe的错,但这就是它的方式;)
Flex是开源的,请参阅http://labs.adobe.com/wiki/index.php/Flex:Open_Source Flex支持编译时SVG:http://www.adobe.com/devnet/flex/quickstart/embedding_assets/ #EmbeddingSvgFiles
"适用于所有主流浏览器" - "今天"这对GWT来说不是问题,但如果IEx(或任何浏览器确实出现)出现,则会产生一个需要GWT更新才能修复的问题 - 现在你的应用程序被破坏了**直到你经历了升级GWT的可能痛苦的过程.哎哟! GWT不太具有前瞻性!评论开始"GWT真正是跨浏览器和平台兼容",这意味着Flex/Flash不是完全诚实的.唯一真正的兼容性问题是残缺的iProducts.但是,每个人都可以选择是否支持Apple的反选择做法......
Apple需要意识到他们无法控制这个市场.顺便说一句,Android正在用苹果的专有**东西擦拭地板(如果我们如此担心这些事情).为什么你不能使用开源Flex SDK(以及部分OSS Flash播放器),这是*免费赠送* - 只是因为它是专有的......但是可以支持Apple专有的封闭系统,他们'重新尝试变成微软式的半垄断?我讨厌直言不讳,但是你的整个帖子只是**非常**单方面.

2> Troy Gilbert..:

我不熟悉GWT,但我对Flex非常熟悉.即使GWT是基于Java的(听起来你主要是一个Java商店),我建议根据您列出的兴趣使用Flex:

Futureproof - Flash支持YouTube以及网络上的大部分多媒体......他们已将其构建到视频游戏控制台中,英特尔正在将其构建到机顶盒中.它将在很长一段时间内出现在这里,Adobe一直保持与Flash播放器的100%向后兼容性.

适用于所有主流浏览器 - 是的.使用Flash Player 10,也包括Linux系统.而且管理难度很小(在我看来,这种方式比Java还少).

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

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

代码必须是可维护的 - 绝对.AS3是一种严肃的语言,而不是玩具脚本语言.对C#或Java用户来说非常熟悉.

速度和易于开发 - 对于您正在做的事情,您将能够找到几十个您所描述的确切内容的示例:缩放和平移谷歌地图矢量图像.运行时的核心是精心设计的图形引擎,因此构建交互式图形应用程序是其天生的苦差事.

支持某种矢量图形(SVG加号) - 显然,Flash本身就是这样做的.编译阶段支持SVG(您可以在SVG中编译,但无法在运行时解析SVG).有些工具链可以在运行时为您将SVG转换为SWF.

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


评论:"快速和快速响应的用户体验 - 是的,尽管在某些情况下Java可以更快." GWT为浏览器生成JavaScript,而不是Java.
只是想从你的第二点接受.GWT不需要在客户端上安装Java.GWT的整个想法是JavaScript是输出,因此它几乎可以在任何浏览器中工作而不需要插件,所以没有"管理头痛".

3> 小智..:

另外需要注意的一点是iPhone和Android目前都不支持Flash.越来越多的人希望通过手机访问网络应用.


关于Android的过时.对于iPhone而言,乔布斯有意压制他的产品,这是一个压力.最终客户会厌倦遇到"iPhone不支持",他们将不得不允许Flash."Apple的iPhone不运行Flash,虽然Adobe希望在那里看到它并且一直在开发版本."我们正在为iPhone开发Flash播放器.要在iPhone上发布软件,需要Apple的同意.我们必须让它工作得很好,并且需要得到它的同意才能发布它,"Adobe首席技术官Kevin Lynch说道.
乔布斯不会"停止故意削弱他的产品".iOS(iPhone,iPad)永远不会支持Flash,Apple对此非常清楚.Adobe已放弃尝试支持它:http://www.wired.com/gadgetlab/2010/04/adobe-flash-iphone/因此,如果您希望您的应用程序在iOS上运行(或者更可能是移动版本的它是由构建您的桌面应用程序的同一个开发团队编写的,Flex不是一个好的选择.或者您的开发团队在语言和编程环境之间进行交换,当您可以在HTML/JS/CSS上进行同质化并根据需要"浮动"开发资源时这是非常低效的IMO
推荐阅读
yzh148448
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有