1

我目前正在开发的基于 Web 的应用程序是 Windows 应用程序的一个端口。这个应用程序是非常数据密集型的。有许多模块,每个模块都有许多表格(数据输入屏幕)和报告,而表格有很多字段,同样还有报告。

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

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

4

3 回答 3

1

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

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

如果您已经对 HTML + ExtJS 感到满意,那么这一定是对它有利的。

Silverlight 可能可用的设备范围(例如 Windows Phone 7 以及 Moonlight,我什至听说可能有适用于 Andriod 和 Symbian 的端口)正在增长。然而,它真的很早,并不是所有的都可以以对你有用的形式实现。

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

我认为您应该首先非常仔细地研究 WCF、REST 和OData。使用这些将应用程序很好地分层为有用的模型将更容易为客户端使用各种前端技术。

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

于 2010-03-18T09:38:16.507 回答
1

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

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

至于ExtJS中没有的一些控件,可以很方便的扩展ExtJS。

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

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

干杯

于 2010-03-18T09:42:59.700 回答
0

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

Ext JS 是一个完全用 Javascript 开发的很棒的库,所以你可以触摸任何适合你需要的东西。如果您基于的 Windows 应用程序分层良好,那么您的工作可能不会那么难。

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

快乐编码!!!

于 2010-03-18T09:35:27.767 回答