ASP.NET Webforms的主要优势是什么?
ASP.NET Webforms(2.0-3.5)的主要优势是什么?我不是在寻找与其他框架的比较,我只是在寻找有关ASP.NET的反馈。
解决方案
我认为组件模型是关键,而易于使用其他网页的某些部分作为组件(通过用户控件)则是关键优势。
它使我们可以构建Web应用程序而无需深入了解HTTP之类的基本概念。这有其缺点。
易于使用,可轻松完成一些工作
ASP.Net的主要优势是:
- 编译代码-性能
- 多语言开发
- XCopy部署
- Visual Studio设计时集成和表达Web
- 许多第三方控制,包括开源和商业
- 易于初学者学习
- 国家管理
- 学习入门的学习曲线很低(但是,只要页面上有动态添加的元素,它就会很快变得复杂)。
- 庞大的成熟控件库
- 大量的文档和资源
- 很棒的演出
不管别人怎么说,有可能避免事情变成一团糟。
某种程度上,一个关键优势是集成到Visual Studio中的拖放式开发环境。这样可以使简单的事情快速启动并运行,但是当我们确实需要了解基础代码时,这也可能是一个责任。
Webforms的好处
- 事件驱动
- 有状态的
- 轻松开发可重复使用的控件
Webforms的误解
总体而言,ASP.NET Web表单是一种很好的开发模型,人们抱怨的大多数缺点是误解或者糟糕的设计/体系结构。最重要的功能是Web表单的生命周期/状态性,我们可以灵活地开发非常易于使用和可重用的控件。
Web应用程序的构建相对较快,但维护相对较困难。
比较容易学习。我们不需要了解html,css和javascript。但是,如果我们已经了解html,css和javascript,则其他Web开发技术可能更容易学习。
如果我们来自不同的技术,则采用asp.net Web表单相对容易,因为它不需要严格的方法才能有效,并且它支持多种语言。
这是一项相对成熟的技术。
向Web应用程序添加新功能相对容易,但是在保持良好代码质量的同时更改现有功能相对困难。
与Windows应用程序轻松集成,因为它是事件驱动的。
许多第三方库可用。
相对容易处理应用程序状态。
相对容易部署。
平台独立性(我对此没有任何经验,所以我不知道这是否成立)
然而:
从理论上讲,它具有良好的性能,但实际上却没有。编译的代码不会带来更好的性能,因为这不是Web应用程序中的瓶颈。瓶颈是发送到浏览器的html数量,它可以执行字符串操作的速度以及查询数据库的速度。在这些方面,它是市场上最差的产品之一。
在竞争对手的公司正在开发类似产品的简单应用程序或者创新项目中,Web应用程序的快速构建可能是一个优势,但是在大多数情况下,应用程序的可维护性比构建时间更为重要。
使用多种语言进行开发是一个缺点,因为某些第三方组件只能以一种语言提供,并且如果我们碰巧需要这样做,将需要我们学习两种语言,而不仅仅是一种。 Cand VB.Net的99%相同,只是使用了不同的单词,但语法几乎完全相同。当在团队中进行开发时,总会有人优先选择另一种,而用两种语言开发一种产品只会使事情变得混乱,因此必须选择一种语言,不同意这种选择的团队成员会以不好的态度开始该项目。士气最终将对项目产生不良影响。唯一真正从多语言支持中受益的人是Microsoft。
与无状态系统相比,Web表单的全状态性质是一个缺点,因为它将导致许多问题。外部网站或者书签将无法直接链接到所有内容,因为某些内容仅在执行几次用户操作后才可用,因此,不能直接链接到www.example.com/a/b?c=d网站将必须链接到www.example.com/a/b,并向用户提供有关如何获取参考内容的说明。大多数搜索引擎将无法找到大部分内容。在浏览器中使用后退按钮可能会导致错误。连接问题或者客户端休眠可能导致错误。它不能利用代理服务器,在某些情况下代理服务器会导致性能下降。代理,网关和缓存可能会导致错误。网站更新时浏览网站会导致错误。
我同意sontek的观点,即以正确的方式测试架构很容易,但是我不同意sontek的观点,这是Web表单的优势。因为在软件体系结构中,我们通过体系结构创建的每个优势也将导致劣势。在这种情况下,这将导致构造时间上的劣势,这几乎是Web表单的主要优势,因此,如果我们想要一个可测试的系统,则使用Web表单是没有意义的,因为那样我们就可以更好地使用MVC或者其他东西。像那样。