2

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

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

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

应用特点:

  1. 以数据为中心 - 大量的 CRUD 操作。
  2. 3 层 - 业务逻辑将驻留在 PHP 服务器上,数据将在 MySQL 上。RIA 只会将数据呈现给用户。
  3. 用户可访问的数据会很大——这就是我们决定使用 RIA 的原因。当用户只进行少量更改/添加时,我们无法刷新页面。
  4. 安全是最重要的——我没有看到选择一个平台而不是另一个平台有任何安全隐患,但也许社区有一些想法?

我们正在仔细研究这一点。我们经常在开发人员之间进行竞争,他们可以使用 flex 或 jquery 更快地实现测试应用程序。不过,我们很想听听社区怎么说。

提前致谢!

4

6 回答 6

5

我都用过。我没有强烈的建议,但有一些考虑。

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

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

于 2009-10-15T03:10:28.553 回答
2

我会使用 Flex。用你认为合适的方式赞美 jQuery,但 Flex 是一个成熟的框架和环境,它通常可以防止 IE6(你提到的小型企业)以后咬你。此外,由于您正在与中小型企业合作,他们会更喜欢 Flex UI 而不是 jQuery/ExtJS/任何 UI。我发现前者响应速度更快,开箱即用更漂亮,这将缩短设置和周转时间。

于 2009-10-15T03:22:48.270 回答
1

UI:你需要快速转身,而 html 以某种方式使其成为可能。使用 html 技术意味着您可以轻松更改您的用户界面。然而,让整个 ui 在 flex 上运行,轻微的变化需要 sdk/flex 编译。我们有一些像你这样的类似项目,但我们结合了两个世界,一些小部件使用 flex,ui 仍然在 html 中,jquery 来做神奇的事情。

在后端,这张幻灯片可以给你一些想法:

于 2009-10-15T03:18:26.547 回答
1

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

当 Flash 播放器必须渲染大量文本和矢量内容时,它在客户端仍然占用大量 cpu,这是我选择 javascript 解决方案的主要原因之一。

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

看看 ExtJS,它比 jquery 更完整,用于 web 应用程序开发。尽管启动起来不如 jquery 容易。

于 2009-10-15T06:14:09.227 回答
1

使用 jQuery(或 YUI/ExtJS/...),您将能够生成外观精美的应用程序,其效果类似于/媲美 Flex。

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

HTML/JS/CSS 应用程序并不总是能提供令人愉悦和一致的效果(取决于您运行的选项卡数量、浏览器会话的可用性。mem。)。

使用 JS、HTML、CSS 你的开发会更容易,而 Flex 你需要有架构意识的好人(读起来很贵);否则你可能会把你的应用程序搞得一团糟。

JS、CSS 和 HTML(甚至 5 个)总是存在跨浏览器问题,这些问题可能永远不会被完全抽象掉。

使用 Flex,如果您的后端是 Java 或 CF,您可以获得远程对象(AMF 二进制),这使得数据传输类型化、原生且更快。(根据您的后端,甚至可以使用 php-amf、sabre-amf 或 WebOrb。)

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

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

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

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

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

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

祝你好运!

于 2010-10-25T21:45:58.167 回答
1

“一分钱一分货一分货”

您可能会很容易(并且合理地)发现 jQuery 程序员,但是他们的方法论是否结构化是另一回事。你可能会在 3 年的时间里一团糟,而不是一个可行的可扩展应用程序。

If you can get a lead developer with excellent skills in Java, Ajax/jQuery and Flex skills and let that person set the development standards and guidelines then that would be money well spent.

于 2011-10-10T01:41:50.510 回答