基于Web的应用程序,我目前工作是从Windows应用程序的端口。这个应用程序是非常数据密集型。有几十个模块,这些模块中的每一个都有许多表单(数据输入屏幕)和报告,而表单有许多字段,同样的报告。
我一直在尝试为表示层确定最合适的架构。有许多功能不太容易移植,例如打印(这也很复杂)。对于大多数其他功能,我计划使用“Ext JS”库,它看起来能够处理大约70%的复杂性,而对于其余的功能,我将自定义编码或扩展Ext JS。
话虽如此(很抱歉如此描述),我想知道,如果这是一个内联网应用程序,为什么不将整个应用程序移植到Silverlight?虽然我擅长.Net,但我对Silverlight有点陌生。考虑到我知道我的目标受众,并且软件将按席位许可证使用,那么使用Silverlight更好,还是坚持使用传统的Web更好(XHTML,JS,CSS等)?此外,我必须在未来支持多个设备,并考虑到许多设备的Silverlight插件还没有出来,这会是一个风险?
3条答案
按热度按时间vnzz0bqm1#
IMO,如果你正在开发一个Web应用程序,那么是的,把它开发成RIA。
技术的选择取决于你。我更喜欢jQuery,从来没有使用过ExtJS。但是我看过它,如果你的应用程序是Windows应用程序的一个端口,并且有很多传统的UI元素,如表单,输入框,菜单,按钮等,那么就选择ExtJS。
至于ExtJS中没有的一些控件,您可以轻松扩展ExtJS。
关于.NET:ExtJS是完全与服务器技术无关的,所以你可以在.NET中开发你的应用程序,并且仍然使用ExtJS UI。
关于Silverlight:我有点反对使用silverlight,主要是因为它需要安装一个插件,而这个插件并不是在所有平台上都可用的。但是由于你的应用程序是一个内部网应用程序,你的用户群将在你的控制之下。但是你应该确保任何关于工作站平台的未来决定都不会影响你的应用程序的工作。
欢呼
ohtdti5x2#
在这种情况下,是否使用Silverlight而不是HTML/JS等取决于两个关键因素。
如果你已经习惯了HTML + ExtJS,那么这对它来说是非常有利的。
Silverlight可能会提供的设备范围(例如Windows Phone 7以及Moonlight,我甚至听说可能会有Andriod和Symbian的端口)正在增长。然而,它真的还处于早期阶段,并不是所有的都可能以对你有用的形式实现。
话虽如此,应该承认,设计用于桌面上的UI在小型设备上并不能很好地工作。因此,无论您使用何种技术,您都需要为其他设备开发一些特定于任务的UI。这反过来意味着您没有理由尝试为所有设备坚持单一技术。
我认为你应该首先仔细研究WCF、REST和OData,将应用程序很好地分层到有用的模型中,使用这些模型将更容易为客户端使用各种前端技术。
如果你喜欢.NET和其他微软技术,那么你应该认真考虑使用JQuery和ASP.NET MVC作为另一种潜在的前端技术。
h22fl7wq3#
我认为你需要考虑一下仅仅基于Silverlight的解决方案的不便之处,就像Flash一样,它需要在每个站点上安装一个插件,所以它失去了一些Web应用程序的前提(在任何地方运行,唯一的要求是浏览器)。此外,尽管Silverlight已经取得了很大的进步,但它还不是一个广泛支持的标准,它控制着一家公司,这家公司后来可能会在关于你使用的平台的非常重要的事情上为你做出决定,并使它过时或无用(在最坏的情况下)。
Ext JS是一个完全用JavaScript开发的很棒的库,所以你可以触及任何适合你需求的东西。如果你所基于的Windows应用程序分层良好,那么你的工作可能不会那么难。
如果你是一个asp.net的开发人员,你可以看看ASP.NET mvc,这是一个很棒的工具集,它使用相同的旧C#或VB将MVC模式实现到Web应用程序中。除了ASP.NET mvc背后的开发人员之外,他们还做了很多工作,使其适合与jQuery等JavaScript库一起工作
编码快乐!