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

问题描述 投票:0回答:3

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

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

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

silverlight extjs browser-plugin
3个回答
1
投票

IMO,如果您正在开发 Web 应用程序,那么可以将其开发为 RIA。

技术的选择取决于您。我更喜欢 jQuery,从未使用过 ExtJS。但我已经看过了,如果您的应用程序是 Windows 应用程序的端口,并且有很多传统的 UI 元素,如表单、输入框、工具栏、菜单、按钮等,那么就选择 ExtJS。

对于一些ExtJS中没有的控件,您可以轻松扩展ExtJS。

关于 .NET:ExtJS 完全与服务器技术无关,因此您可以在 .NET 中开发应用程序并仍然使用 ExtJS UI。事实上,我更愿意做这样的实现。

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

干杯


1
投票

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

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

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

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

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

我认为您应该首先仔细研究 WCF、REST 和 OData。使用这些将应用程序良好地分层到有用的模型中,可以更轻松地为客户端使用各种前端技术。

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


0
投票

我认为您需要考虑仅基于 Silverlight 的解决方案的不便之处。与Flash一样,它需要在每个站点安装一个插件,因此它失去了一些Web应用程序的前提(只需浏览器就可以在任何地方运行)。此外,尽管 Silverlight 取得了巨大进步,但它还不是一个得到广泛支持的标准,并且它由一家公司控制,该公司后来可能会在有关您使用的平台的非常重要的问题上为您做出决定,并使其过时或无用(在最坏的情况)。

Ext JS 是一个完全用 Javascript 开发的出色库,因此您可以触摸任何适合您需求的内容。如果您所基于的 Windows 应用程序分层良好,那么您的工作可能不会那么困难。

如果您是 ASP.NET 开发人员,您可以看看 ASP.NET MVC,这是一组很棒的工具,可以使用相同的旧 C# 或 VB 将 MVC 模式实现到 Web 应用程序。除了 asp.net mvc 背后的开发人员之外,他们还付出了大量的工作来使其适合与 jQuery

等 javascript 库一起使用

快乐编码!!!

© www.soinside.com 2019 - 2024. All rights reserved.