JQuery VS Flex - 为SAAS选择平台

时间:2009-10-15 02:57:45

标签: jquery flex ria platform

我们的团队即将启动面向小型企业的SAAS Web应用程序。这对我们来说是一次全新的体验;我们是一个系统/ linux / php开发组织,没有任何开发客户端软件的经验,除了简单的基于html / php的CRUD支持应用程序。

我们正在评估Adobe Flex和JQuery。我们似乎无法在两者之间做出选择。我们的优先事项是:

  1. 生产力 - 我们必须尽快启动。
  2. 整体用户体验 - 结果应用必须看起来很专业,用户必须拥有使用我们产品的愉快体验。我认为这不是两个平台的问题,但我们可能会自动失去10%未安装闪存的潜在用户。
  3. 技能重用 - 我们都必须在这个项目上学习新语言和RIA平台,并希望我们可以在更多项目中再次使用它。顺便说一句,我们是一家软件承包组织,这是我们首次涉足消费者应用程序。我们希望能够利用我们在这里为客户所获得的技能。
  4. 应用特征:

    1. 以数据为中心 - 大量的CRUD操作。
    2. 3层 - 业务逻辑将驻留在PHP服务器上,数据将存在于MySQL上。 RIA只会向用户显示数据。
    3. 用户可访问的数据会很大 - 这就是我们决定使用RIA的原因。当用户进行少量更改/添加时,我们无法刷新页面。
    4. 安全是至关重要的 - 我没有看到选择一个平台而不是另一个平台有任何安全隐患,但社区可能有一些想法吗?
    5. 我们正在仔细研究这一点。我们经常在开发人员之间进行竞争,他们可以通过使用flex或jquery更快地实现测试应用程序。我们很想听听社区有什么要说的。

      提前致谢!

6 个答案:

答案 0 :(得分:5)

我用过两者。我没有强烈推荐,但有一些考虑因素。

  • 移动支持。 Flex需要Flash运行时,这在许多移动平台中都不存在。为了获得最佳效果,您无论如何都需要一个单独的移动界面,而不仅仅是重复使用桌面界面,尽管后者可以达到某种程度。
  • 浏览器支持。您将花费更多时间使用jQuery。它们抽象了许多东西,但是一旦你了解了应用程序的布局细节,你仍然需要在不需要Flex的浏览器和平台上进行大量的工作测试。
  • UI布局和架构。应用程序有多复杂?如何模块化? Flex具有非常好的模式来组件化您的应用程序,生成可重用的组件等,jQuery本身并没有帮助您,它是更多的准系统。使用Javascript / jQuery,您需要进行自己的研究,以找到最佳的架构设置。
  • 开发工具。如果您喜欢使用GUI设计应用程序,Flex有一个非常好的集成设计/编码IDE。你可以自己使用Javascript。有工具,但您需要自己选择。
  • 供应商锁定和成本。 Flex需要花钱(好吧,IDE无论如何,你可以得到一个免费的编译器,但我还没有尝试它是多么有用。)Javascript / jQuery是“免费的”但需要花时间研究以上所有内容。

用户体验方面,两者都是等价的,你可以用它们产生好的和坏的经验。两者都有不错的开箱即用UI小部件集,带有ThemeRoller的jQuery更容易定制,但Flex也非常适合使用与W3C CSS非常类似的系统进行换肤。

答案 1 :(得分:2)

我会使用Flex。如你所愿,赞美jQuery,但Flex是一个成熟的框架和环境,它通常会阻止IE6(你提到小企业)以后咬你的屁股。此外,由于您正在与小型/中型企业合作,因此他们将更喜欢使用Flex UI而不是jQuery / ExtJS /任何UI。我发现前者更具响应性,开箱即用,可以降低设置和周转时间。

答案 2 :(得分:1)

用户界面:你需要快速转身,并且html以某种方式使其成为可能。用HTML技术的意思你可以轻松改变你的用户界面。但是如果整个ui在flex上运行,那么稍微更改就需要sdk / flex编译。我们有一些像你一样的类似项目,但我们结合了两个世界,一些小部件正在使用flex,ui仍然在html中,而jquery则用来做神奇的东西。

后端this slides上的

可以给你一些想法:

答案 3 :(得分:1)

TimeFrame:Jquery更容易启动,但没有良好的基础技能和设计模式,当应用程序增长时,它很容易变得混乱。 IDE:Flex胜过Jquery,jquery我将浏览器和firebug视为IDE SkilL重用:我个人会说javascript(adobe air是证明)

当Flash播放器必须呈现大量文本和矢量内容时,它仍然在客户端非常密集,这是我将寻求javascript解决方案的主要原因之一。

我建议有选择地使用flash / flex(视频/绘图/图表,如果需要),并使用jquery + html作为应用程序的主要框架。

看看ExtJS,它比web应用程序开发目的更完整,而不是jquery。虽然不如jquery轻松起步。

答案 4 :(得分:1)

使用jQuery(或YUI / ExtJS / ...),您将能够生成外观甜美的应用程序,其效果与Flex相似/相当。

然而,恕我直言,使用jQuery-UI我发现当组件改变状态时它会闪烁。这不仅仅是一个跨浏览器的问题;它有时会发生在FF上,而不是其他时间。 (可能会出现一些内存问题),您的选择是1.等待社区发布修复和/或2.自己动手 另一方面,Flex组件已经过测试,并且有更好的支持(尽管Adobe可能会傲慢自大)。

HTML / JS / CSS应用程序并不总能产生令人愉悦且一致的效果(取决于您运行的选项卡数量,浏览器会话的可用数量。)

使用JS,HTML,CSS,您的开发将变得更加容易,而Flex则需要具有建筑感的优秀人才(阅读费用昂贵);否则你的应用程序会非常糟糕。

JS,CSS和HTML(甚至5)将始终存在可能永远无法完全抽象出来的跨浏览器问题。

使用Flex,如果您的后端是Java或CF,您可以获得远程对象(AMF二进制),这使得数据传输类型,本机和更快。 (甚至可以使用php-amf,saber-amf或WebOrb,具体取决于你的后端。)

使用JS,您可以使用json或XML。 您可以使用运行时共享库​​优化部署。并采用了许多策略,如模块化开发,延迟加载,感知和实际性能提升等。难以处理JS / HTML / CSS,其中一般的诱惑是在设计时创建窗口小部件占位符。

当一个新人出现时,JS应用程序难以维护,没有好的调试工具(恕我直言,Aptana是如此)。

最后,我同意这里有人说混合解决方案可能正在订购。在小部件中开发应用程序;

您可以在Flex小部件中使用一些很酷的拖放支持(与JS相同,但使用Flex更容易)。

您的flex小部件将被解耦,因此在发生更改时需要进行渐进式编译,如果您为彼此设计良好的API,不同的团队可以使用不同的项目。

您可以使用外部接口与HTML包装器进行通信,并来回发送数据。

最好的运气!

答案 5 :(得分:1)

“Penny明智的愚蠢”

您可能非常容易(并且合理)找到jQuery程序员,但是他们的方法论是否结构化是另一回事。你可能会在3年时间内陷入混乱,而不是一个可行的可扩展应用程序。

如果您能够获得具有Java,Ajax / jQuery和Flex技能的优秀技能的首席开发人员,并让那个人设置开发标准和指导方针,那么这将花费很多钱。