我有使用Cairngorm框架在Flex / Actionscript中开发的一些经验。那时我没有ActionScript / Flex的经验,开始认真开发应用程序花了我3个月的时间。也是那个时候,我怀疑开发一个基于Flash的应用程序,这个应用程序在所有PC浏览器上都无法查看(不是没有更新闪存),只留下iphone / ipad。但是我想知道使用Flex可以构建什么样的应用程序,所以接受了挑战。
但是现在我又开始想知道为什么我应该混入Flex,当我有jquery / ajax,各种快速的php框架(我觉得与ActionScript / Flex不同)。
如果我决定,我应该如何说服我的客户Flex中的网站比HTML / php等内容更好。
有人可以对此有所了解吗?
此致
答案 0 :(得分:4)
除了这些原因之外还有更多原因,但主要原因是:
O& M成本:大多数“工程师”都没有给老鼠A这个因为他们是以发展为中心的,但事实是O& M是迄今为止的主要成本。运行IT系统。使用像Flex(或Silverlight,或JavaFX)这样的VM方法,您不必担心每次新浏览器出现时都会更新库,测试,应用修补程序等。使用难以持续运行的传统技术会直接损害客户的利润。
性能: Flash(Flex)是JIT编译的,(如果SL也不会感到惊讶),Java也是如此。解释的JavaScript依赖库(如GWT)根本无法阻止您从已编译的VM客户端获得的性能 - 它甚至不是一个密切的比较。 “AJAX”(尤其是使用XML时)并不“快”。 (请注意Gmail通常加载速度有多慢 - 一个非常简单的支持AJAX的脚本。)证据在基准测试中。
一致性/可靠性:每个人都知道,当您使用JavaScript或HTML编写任何内容时,必须在每个浏览器中对其进行测试(包括一些旧版本,如果您真的想要安全的话)。当您定位VM平台时没有这样的问题。使用AJAX:无论何时发布新的浏览器或浏览器版本,都会担心。如果有问题,它会为你创造工作。
更丰富的组件和更好的用户体验:这是Adobe的一大卖点,但这是真的。虽然一些纯粹使用浏览器脚本(JavaScript)完成的东西令人印象深刻,但Flex或Silverlight组件只是更好。当您不需要编写(和维护!)跨浏览器JavaScript魔法时,也可以轻松创建自己的自定义组件。
特定于Flex,但值得一提 - AMF:这是Flex Data Services二进制协议,可用于与服务器通信。基准测试(请问Google)已证明此协议比AJAX框架使用的协议更快,带宽更高。在当今网络成为主要瓶颈的世界中(如果不是很清楚),这是一个相当大的胜利。
对许多人来说,这是一个敏感话题。大多数AJAX / DHTML / JavaScript'工程师'或他们称之为自己的任何东西都会嚎叫和侮辱只是建议他们花费数年时间成为专家的1990年代技术已经过时且有缺陷(坦率地说,他们有很多东西要输掉)。但基于纯粹的技术优势,与任何基于VM的成熟解决方案相比,即使是HTML5也会产生相反的时间浪费。我相信有些人会很快出现,通过投票来捍卫他们的拒绝崇拜。但是很难阻碍未来。
AJAX / DHTML框架主要依赖于遗留黑客和复杂,缓慢,脆弱,不断维护的库,以使它们在多个浏览器中运行得相当好。 HTML5,当它在2022年终于“完成”(!!!)时,在功能方面甚至不会被Silverlight 2所吸引 - 更不用说当时Flex会有大量的东西。基本上,AJAX的东西是维护陷阱和脆弱的开发环境,您可以通过使用Flex,Silverlight或JavaFX等VM解决方案完全避免这种情况。
答案 1 :(得分:3)
与使用Flex的HTML / AJAX / JavaScript相比,您可以轻松解决跨浏览器问题,获得精美的动画和滤镜效果,非常方便的IDE(Flash构建器),ActionSctipt 3(恕我直言,非常方便,更像Java然后的JavaScript)。
你应该忘记让应用程序在移动平台上运行。)
答案 2 :(得分:2)
我看到它的方式,Flex中的组件以及创建符合您确切需求的自定义组件的能力(以及所有这些都通过完全面向对象的方法完成)无法与AJAX框架相匹配。 AMF协议也是一个很大的优势,因为它的速度非常快。动画很容易创建,让每个组件都有一种感觉,可以增强用户体验,并为您的界面提供自己的生活。我的帖子之前提到的所有内容也应该考虑在内。
开源解决方案可以在任何时候使用它们,如果我想用一些服务器端代码构建一个简单的站点,我也会使用它。
但是当你从“网站”传递到“网络应用程序”时,我认为为了获得成功,你必须创造出突出的材料。 Flex正是为此而存在的。
如果你可以在没有它的情况下建立相同的体验并继续这样做,那对你有好处。 :)
答案 3 :(得分:1)
你应该问问自己为什么需要使用flex。你在开发游戏吗?网络上的3D图形应用程序?用HTML实际无法实现的东西?
如果没有,则没有理由使用flex而不是HTML。 HTML是一个开放的标准规范,您不需要插件,您的应用程序将在任何支持html的浏览器平台上运行,并且它将更快,更少消耗资源。不要陷入使用HTML / AJAX完美地完成flash / flex开发的错误。我看到一些开发人员使用flex或silverlight创建应用程序,这些应用程序只包含一系列表单,这是浪费时间和资源的浪费。
因此说服客户使用flex的唯一方法就是找到一些你实际上无法用HTML做的事情。并且考虑到HTML5几乎就在这里,硬件加速的HTML5浏览器将在最后推出今年......,很难说服人们加入flash / flex! :)
答案 4 :(得分:1)
项目不应该由您使用的工具定义,而是相反,定义您的项目并选择最合适的工具来实现您的目标。
也许是第一个好的步骤(当你决定“混入Flex”时,你似乎已经采取了这一步)是为了更好地理解这些工具。
为什么要将Php框架与AS3 / Flex进行比较? 更新闪存有什么问题?或者如果您愿意,更新有什么问题?!
选择是很棒的,在没有必要的情况下,不要施加不必要的限制。为什么不根据每个项目来决定;)答案 5 :(得分:0)
它不是一个或两个决定。 Flex组件应该被视为页面的一部分但不要 - 我再说一遍,不要错误地在flex中构建一个单一的应用程序。我刚刚开始构建一个庞大的flex应用程序。永远不会再这样做了。它有它的用途但是,flex小部件应该补充一个html框架。不是相反。