ASP.NET Webforms的主要优势是什么?

时间:2008-09-20 21:10:44

标签: .net asp.net webforms

ASP.NET Webforms(2.0-3.5)的主要优势是什么?我不是在寻找与其他框架的比较,我只是在寻找有关ASP.NET的反馈。

8 个答案:

答案 0 :(得分:3)

一个关键优势(对某些人来说)是集成到Visual Studio中的拖放式开发环境。这使您可以快速完成并运行简单的事情,但是当您真正需要了解底层代码时,这也可能是一种负担。

答案 1 :(得分:1)

我认为组件模型是关键,易于使用其他网页的部分作为组件(通过用户控件)是关键优势。

答案 2 :(得分:1)

ASP.Net的主要优势是:

  1. 编译代码 - 性能
  2. 多语言开发
  3. XCopy部署
  4. Visual Studio设计时集成和表达Web
  5. 许多第三方控件,包括开源和商业
  6. 初学者易于学习

答案 3 :(得分:1)

  • 国家管理
  • 开始学习简单的学习曲线很少(但是只要你有一个动态添加元素的页面就会很快变得复杂)。
  • 巨大的成熟控制库
  • 大量文档和资源
  • 出色的表现

尽管其他人可能已经说过,但有可能让事情变得完全混乱。

答案 4 :(得分:1)

Webforms的好处

  1. 事件驱动
  2. 有状态
  3. 轻松开发可重复使用的控件
  4. 对Webforms的误解

    1. 不容易测试
      • 如果您正确构建代码,它很容易测试
    2. 生成HTML的控件很糟糕
      • 不再有CSS友好控制适配器
    3. 整体ASP.NET网络表格是一个很好的开发模型,人们抱怨的大多数垮台都是误解或设计/架构不佳。最重要的功能是webforms的生命周期/状态,您可以灵活地开发易于使用和可重用的控件。

答案 5 :(得分:1)

相对快速构建的Web应用程序,但相对难以维护。

相对易于学习。你不需要知道html,css和javascript。但是,如果您已经了解html,css和javascript等其他Web开发技术可能更容易学习。

如果您来自不同的技术,那么相对易于采用 asp.net网络表单,因为它不需要严格的方法来提高效率,因为它支持多种语言。

这是一种相对成熟技术。

向网络应用程序添加新功能相对很容易,但在保持高质量代码的同时更改现有功能相对困难。

与Windows应用程序轻松集成,因为它是由事件驱动的。

许多第三方库可用。

相对易于处理应用程序状态

相对易于部署

平台独立性(我对此没有任何经验,所以我不知道这是否属实)


但是:

理论上它具有良好的性能,但在实践中却没有。编译代码不会带来更好的性能,因为这不是Web应用程序的瓶颈。瓶颈是发送到浏览器的html数量,字符串操作的速度以及查询数据库的速度。就这些问题而言,它是市场上最差的产品之一。

在竞争对手公司正在开发类似产品的简单应用程序或创新项目中,快速构建Web应用程序可能是一个优势,但在大多数情况下,应用程序可维护性比构建时间更重要。

多种语言的开发是一个缺点,因为某些第三方组件只能以一种语言提供,如果您碰巧需要它,则需要您学习两种语言而不是一种语言。 C#和VB.Net的99%相同,它们只是使用不同的单词,但语法几乎完全相同。在团队中进行开发时,总会有人喜欢用另一种语言开发,用两种语言开发一种产品只会让事情变得混乱,所以必须选择一种语言,不同意这种选择的团队成员会以糟糕的方式启动项目士气最终会对你的项目产生不良影响。真正受益于多语言支持的唯一一个是Microsoft。

与无状态系统相比,Web表单的状态完整性是一个缺点,因为它会导致许多问题。外部网站或书签将无法直接链接到所有内容,因为某些内容仅在执行几项用户操作后才可用,因此不会直接链接到www.example.com/a/b?c=d网站必须链接到www.example.com/a/b并向用户提供有关如何获取引用内容的一些说明。大多数搜索引擎都无法找到大部分内容。在浏览器中使用后退按钮可能会导致错误。连接问题或客户端休眠可能导致错误。在某些情况下,它无法利用会导致性能不佳的代理。代理,网关和缓存可能会导致错误。在网站更新时浏览网站会导致错误。

我同意sontek的说法,如果以正确的方式构建它可以很容易地进行测试,但我不同意sontek,因为这是web表单的一个优点。因为在软件架构中,您通过架构创建的每个优势也会导致缺点。在这种情况下,它将导致构造时间的缺点,这几乎是Web表单的主要优势,所以如果你想要一个可测试的系统,使用Web表单是没有意义的,因为那样你可以更好地使用MVC或者其他东西那样的。

答案 6 :(得分:0)

它使您无需很好地理解HTTP等基础概念即可构建Web应用程序。这有其自身的缺点。

答案 7 :(得分:0)

易于使用以简化操作