【问题标题】:What are some of the major shifts in thinking required to become a good Rich Internet Application (RIA) developer?要成为一名优秀的富 Internet 应用程序 (RIA) 开发人员,需要在思维上发生哪些重大转变?
【发布时间】:2008-10-07 05:35:51
【问题描述】:

我最近一直在尝试Adobe Flex。作为一名长期的服务器端 Web 应用程序开发人员,我面临着很久以前涉足 Java Swing 开发时遇到的困难。它主要围绕我的代码和框架代码之间的控制流。大多数事情都是异步的,不会冻结 UI。

所以,我正在寻找所有经验丰富的开发人员,他们已经看到了从传统网络应用过渡到 RIAs 所需的思维转变 .

更新:将分散注意力的部分移至another question

【问题讨论】:

    标签: java .net desktop ria


    【解决方案1】:

    我现在在市场上看到了两种型号:

    • 混合用户界面。服务器仍参与 UI 构建工作,但其中很多工作已卸载到 javascript。这就是许多 javascript 工具包的工作方式(dojo、extjs 除外)。
    • 分离的关注点。服务器仅被视为一种数据存储和同步方法。该应用程序完全在客户端运行,甚至可能使用本地存储。这就是 flex 的工作原理。

    我认为我们将迁移到第二个模型,因为这意味着您不必跟踪服务器上的 UI 状态,这极大地简化了架构。我一直在玩 ExtJS 和 Flex,开发体验很像构建桌面应用程序,只是没有花哨的拖放 IDE。很难以这种方式想象三层桌面应用和网络应用之间的巨大差异。

    所以我的建议是:不要再认为你正在构建 Web 应用程序,始终怀疑某些东西是否属于服务器,因为在新模型中它通常不会。另外,请有效地使用齿轮或浏览器缓存,因为如果您的应用是客户端的,那么每次下载所有代码都会太慢。

    【讨论】:

    • 谢谢。关于 Gears 具有 LocalServer 与 Flex 的优点。但我认为这就是 AIR 的用武之地 - 这样您就不必每次都下载该应用程序。 Gears 实际上相当于 AIR,而不是 Flex。 AIR 和 Gears 都需要下载运行时,然后执行下载的应用程序。
    • 关于空气的好观点,我想它与齿轮的观点不同。 Air 旨在将应用程序从浏览器中拉出来,gears 旨在增强浏览器。问题是:你想基于浏览器吗?
    • 是的。但从长远来看,这个问题将不那么重要。我不认为 Chrome 是另一种浏览器。我认为 Chrome(加上内置的 Gears)是 AIR 等应用程序的运行时。所以问题是,您使用哪个运行时:AIR 或 Chrome+Gears。
    【解决方案2】:

    两条建议:

    • 您的服务器永远不应该信任客户端提供给它的任何东西。与任何网络应用一样,源自客户端的数据可能会受到损害。
    • 可视化。这就是 RIA 真正的(也许是唯一的)好处:能够提供丰富的交互式数据可视化,可以以有趣的方式混合。充分利用它。

    【讨论】:

    • 谢谢。当然,服务器验证是必须的; RIA 并不是要摆脱这一点。事实上,如果您查看 SOFEA,它就是通过 XML 进行数据验证直至数据交换的全部内容。 RIA 都是关于将所有表示逻辑放在客户端上,例如屏幕流程。
    猜你喜欢
    • 2011-11-19
    • 2011-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-08
    • 1970-01-01
    • 1970-01-01
    • 2022-06-14
    相关资源
    最近更新 更多