【问题标题】:Business web-app in .NET - which technology to pick?.NET 中的商业网络应用程序 - 选择哪种技术?
【发布时间】:2011-11-15 01:18:21
【问题描述】:

致力于将 Winforms 应用程序移植到 Web。这是一个业务应用程序,但无法控制最终用户的浏览器。大多数情况下,每个人都会在台式机上使用 IE、Chrome、FireFox,在 iPad 上使用 Safari。

应用程序大量使用 ListViews、TreeViews、网格、图表,并具有整体的“停靠式”界面(左侧导航栏,右侧打开详细信息页面并带有选项卡 - 类似于 Visual Studio UI )。不需要任何对 SEO/HTML 友好的框架,因为该应用对搜索引擎是隐藏的。

寻找有关网络技术的建议。需要对 ListViews、TreeViews、网格、图表和停靠 UI 的本机或 3rd 方支持。上市速度和简单性非常重要。 /讨厌/搞乱 Javascript 或非服务器技术。

银光?带有 HTML5 的 MVC?普通的MVC?带有 HTML5 的 Web 表单?计划网络表单? 第三方控制? (拥有 Telerik 的许可,除非有免费/开源软件包,否则更愿意坚持使用它们)

我认为一年前 Silverlight 会是一个简单的答案,但现在我不再确定这一点,因为缺乏 Silverlight 支持的 Android 设备最终崛起......而且微软似乎正在将重点从Silverlight 到 HTML5

那么,除了 Silverlight 之外,还有什么可用于商业应用程序?

谢谢!

【问题讨论】:

  • 关于我死亡的报道被大大夸大了。 - 马克吐温 - Silverlight 也是如此......

标签: asp.net asp.net-mvc silverlight html webforms


【解决方案1】:

虽然我是关于你在探索 UI 必杀技的过程中所处的位置,但我还是会谈谈我的想法。

我个人认为,如果您想坚持使用 Microsoft,但又需要在非 Windows 平台上运行您的应用程序,那么市面上只有两款游戏。 Silverlight 和 MVC 以及一组很好的客户端 UI 小部件。

到目前为止,我的思考过程可以归结为:

Silverlight 在易于开发(通过真正的 MVVM/出色的数据绑定)和 UI 的“丰富性”方面领先于 MVC。但是,不幸的是,对于开发人员来说,这对我们来说有多容易对用户来说并不重要。

正如其他人所指出的那样,SL 的缺点是它不会在您想要的任何地方运行。最具体地说,Android 和 iOS 很难(尽管您应该评估 MonoDroid 和 Monotouch)。

MVC,我觉得它是最好的服务器端 webapp 技术,非常适合开发,但根本没有 SL 所做的有状态客户端,你必须处理 HTML、javascript 和无状态客户端.

缓解这些 cmets 的原因是有很多不错的框架使 javascript 几乎可以忍受(我使用 JQueryUI 和 wijmo),并提供了半丰富的客户端 UI。

这真的归结为触及与丰富。我还看到 MS 非常重视 MVC。谁知道呢,也许我们将来会看到一些不错的数据绑定工具?

【讨论】:

    【解决方案2】:

    如果你打算支持 iphone/android/non-win,那就告别 silverlight。再说一次,如果您打算支持智能手机,则需要为小型和大型设备进行单独的设计。可停靠接口对于小型设备来说太杂乱了。

    技术? HTML5 会很好,但只有最近的浏览器支持它,即使这样也只支持标准的一些部分。

    MVC 与网络表单?没关系。两者都只是吐出 HTML 的一种方式。

    您需要做一些“使用 Javascript 或非服务器技术”。 Telerik 提供了许多您提到的用于 Web 表单的组件,尽管它们确实会变得臃肿。

    根据您的要求:

    • 列表视图:webforms/mvc 中的原生
    • 树视图:telerik 或 jQuery 插件
    • 网格:本地 html 表在 IMO 中效果最好,或者您可以在 asp.net 或 telerik 中做数据绑定的东西
    • 图表:免费插件、telerik、dundas 或类似 SSRS(如果您有报告性质的话)
    • 停靠 ui:重新考虑您对此的需求。如果你仍然热衷于 asp.net 内置的 webparts,或者你可以从 jQuery UI 获取一个包

    总体而言,您可能正在寻找一种“快速”的方式来为您的应用程序启用网络功能,但它们是两种不同的野兽,并且会以同样的方式执行。如果您使用每个可用的插件进行直接转换,那么您将花费大量时间来学习每个组件,大量页面膨胀,大量错误,并且永远不会感觉正确。我的建议是花时间学习如何创建一个合适的网站。从长远来看,您的成本会更低。

    【讨论】:

    • "non-win" - Silverlight 在 OSX 上也能正常运行
    【解决方案3】:

    我有类似的项目并选择了 ASP.NET MVC 2 + Telerik 的免费 MVC Components,它具有良好的 Grid/ComboBox 功能。

    我还在一些 UI 方面使用了 jQuery。您将不得不摆弄 Javascript,但您可以使用 jQuery,我认为这是新的水平。和往常一样,IE6 是痛苦的 :)

    【讨论】:

    • 感谢 Telerik 的 MVC 组件的链接,让我不必搜索它们。
    【解决方案4】:

    (抱歉我的英语不好)我和你有类似的要求并选择了 Silverlight。我的客户不使用 iPad 或机器人作为工作工具,但我的应用程序的某些部分将被这些设备使用。对我来说,当我的客户 99% 的时间都使用 windows/osx 时,如果应用程序可以在所有平台上运行,那么使用 html/js 进行开发会更加痛苦。

    此外,平板电脑/智能手机/PC 都有不同的 UI 指南,对我来说,“html/js 无处不在”的事情没有任何意义。即使使用 html/js,如果你想要一个体面的用户体验,你也必须在每个平台上构建自定义 UI(至少对于桌面/平板电脑)。

    在 silverlight 中设计 UI 很容易,mvvm(如果你走这条路,请寻找 caliburn micro)非常适合。在服务器上,我使用 RIA 服务并公开 OData 提要,以便其他客户端可以轻松使用数据。

    【讨论】:

      【解决方案5】:

      请记住,如果您采用 Silverlight 路线,您将忽略 Android、iPhone 和 Blackberry 设备,而仅限于 Windows Phone。使用 MVC 的 Web 表单始终是一个不错的选择。

      我一直是 MVC 的大力支持者,因为组件和视图的分离以及接口的抽象。 Webforms 很不错,您可以使用与其集成的 AJAX 和 JQuery。这些在大多数浏览器上运行,AJAX 实际上在 android 和 iphone safari 浏览器上非常流畅。我已经为各种移动设备编写了遵循不同浏览器的 ASPX 页面。这只是简单的环境变量,您可以指定什么浏览器,以及正在加载什么移动设备。

      Silverlight 和 WAML 页面看起来很棒且便于携带,但它在移动设备上的使用并不普遍。虽然它适用于桌面,但它可以在不同的平台上使用。

      Plus Telerik Suite 随附 Silverlight/WPF、Webforms 和 Winforms,并为所有三种格式提供了可比较的控件。

      【讨论】:

        【解决方案6】:

        我在之前的回答中忘记提到的一件事:如果您有任何与设备交互的要求(无论是 windows/android/iOS/OSX 等),那么您确实必须做一个原生应用程序。虽然有一些 HTML5 技术有能力做这种事情的承诺,但我 1) 说实话,我怀疑它 - 跨平台原生访问?和 2) 它还有很长的路要走。

        我选择多次编写 UI:一次在 MVC/JQueryUI 中,理论上运行“无处不在”(尽管这个无处不在的部分会随着不同的屏幕尺寸/外形尺寸迅速下降),以及每个“有趣的”的本地应用程序部署场景”。

        我目前正在寻找最佳实践,以分解出尽可能多的常见跨平台代码。如果大多数 UI 代码可以跨 UI 通用,那么 UI 部分可能非常小,并且针对特定设备进行了优化。如果我可以让 UI 保持“足够笨”,应该不会是太大的负担吧? :-)

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-07-01
          • 2011-12-26
          • 2016-05-14
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多