将 Windows 应用程序移植到 Web 时,是坚持传统的 Web 技术更好,还是采用 RIA 更明智?

StackOverflow https://stackoverflow.com/questions/2468563

我当前正在开发的基于 Web 的应用程序是 Windows 应用程序的一个端口。该应用程序的数据量非常大。有许多模块,每个模块都有许多表单(数据输入屏幕)和报告,而表单有很多字段,同样也有报告。

我一直在尝试确定最适合表示层的架构。有许多功能不太容易携带,例如打印(这也非常复杂)。对于大多数其他人,我计划使用“Ext JS”库,它看起来能够处理大约 70% 的开箱即用的复杂性,而对于剩下的部分,我将进行自定义编码或扩展 Ext JS。

话虽如此(抱歉这么描述),我想知道,如果这是一个 Intranet 应用程序,为什么不将整个应用程序移植到 SilverLight 上呢?虽然我擅长.Net,但我对SilverLight 有点陌生。考虑到我了解我的目标受众,并且该软件将按席位许可证使用,那么使用 SilverLight 更好还是坚持使用传统 Web(XHTML、JS、CSS 等)更好?此外,我将来必须支持多种设备,考虑到许多设备的SilverLight插件尚未推出,这会不会有风险?

有帮助吗?

解决方案

IMO,如果您正在开发一个Web应用程序,那么,开发它作为一个RIA。

技术的选择是由你。我喜欢jQuery和从未使用过ExtJS的。但我已经看到了吧,如果你的aplication是一个Windows应用程序的端口,并有很多类似的形式,输入框,工具栏,菜单,按钮等,然后去ExtJS的传统UI元素。

至于一些对照中未提供在ExtJS的,则可以很容易地扩展ExtJS的。

关于.NET:ExtJS的是完全的服务器技术无关,所以你可以开发.NET应用程序,并仍然使用一个ExtJS UI。其实,我宁愿做这样的实现。

关于Silverlight的:我微微是反对使用Silverlight,主要是因为它需要一个插件被安装,是不是适用于所有平台。但是,由于您的应用程序是一个Intranet应用,用户群会在你的控制。但是,你应该确保有关工作站平台未来的任何决定,都不会影响您的应用程序的工作。

干杯

其他提示

是否使用 Silverlight 而不是 HTML/JS 等。在这种情况下,将取决于两个关键因素。

  • 你已经熟悉什么了
  • 您需要访问什么类型和范围的设备。

如果您已经熟悉 HTML + ExtJS,那么这对它来说一定是一个巨大的优势。

Silverlight 可能提供的设备范围(例如 Windows Phone 7 以及 Moonlight,我什至听说可能有适用于 Andriod 和 Symbian 的端口)正在不断增加。然而,现在还处于早期阶段,并非所有内容都能以对您有用的形式实现。

话虽如此,但应该承认,专为桌面使用而设计的 UI 在小型设备上效果不佳。因此,无论您使用什么技术,您都需要为其他设备开发一些特定于任务的 UI。这反过来意味着您没有理由尝试在所有设备上坚持使用单一技术。

我认为你应该非常仔细地研究 WCF、REST 和 开放数据 第一的。使用这些将应用程序良好地分层到有用的模型中,可以更轻松地为客户端使用各种前端技术。

如果您热衷于 .NET 和其他 Microsoft 技术,那么您应该认真考虑使用 JQuery 和 ASP.NET MVC 作为另一种潜在的前端技术。

我认为你需要思考解决的仅仅基于Silverlight中的不便。像Flash,它需要被安装在每一个站一个插件,因此它失去了一些Web应用程序(无处不在使用浏览器的唯一要求运行)处所。此外,虽然Silverlight中采取了很大的进步,但还不是一个得到广泛支持的标准,它是谁以后可能在非常重要的事情对于您使用的平台决定了你公司的控制权,并使其过时的或无用的(在最坏的情况下)。

Ext JS的完全是在Javascript开发的,所以你可以碰任何东西适合您的需要一个伟大的图书馆。如果你是立足于Windows的应用程序是良好的层次感,那么你的工作可能不是那么难。

如果你是,你可以采取asp.net的MVC,一个伟大的一套工具,实现使用相同的旧的C#或VB MVC模式的Web应用程序一看一个asp.net开发。除了背后asp.net的MVC开发,已经采取了很多工作,使之适合与像的jQuery

快乐编码!!!

scroll top