如何从Windows应用程序编程(使用C#.NET的WinForms)转向Web应用程序编程(ASP.NET)?

8

我在公司中使用C#开发WinForms已经有一段时间了,并且我有丰富的实现经验。然而,我需要换工作到其他地方去工作。这里的市场大多数需要Web应用程序开发人员,而我以前从未接触过。转向使用ASP.NET有多难?鉴于我不喜欢读书,自学的最佳方式是什么?

谢谢。

6个回答

8
一些在WinForms开发中没有涉及的障碍包括:
  • ASP.NET页面生命周期
  • IIS配置
  • 安全性
  • 性能
  • 搜索引擎优化
  • HTTP协议
  • HTML/XML/CSS/Javascript
  • 数据库(大多数网站都需要)
  • Web服务
  • 浏览器差异(这个真的很烦人)
请参考在构建公共网站之前,开发者应该了解什么?,这是一个很好的开始。

1

现在很多人似乎都在转向Web应用程序;好消息是,这并不像你想象的那么难。ASP.NET利用了许多与WinForms UI框架相同的设计模式,因此应该非常简单。

此外,转向ASP.NET后,您仍然可以利用您对C#的所有知识,因为它是该技术支持的语言之一。您将很快上手。

有几种方法可以使用ASP.NET构建用户界面,但最常见的是ASP.NET WebForms。如果您想更加分离业务逻辑和界面,还可以使用提供一些抽象的框架,例如类似于Ruby on Rails的ASP.NET MVC。

我建议您查看http://www.asp.net,其中有大量的资源可帮助您入门,以及视频、示例和演练。祝您好运;我相信您会做得很好!


1
相比之下,很多人不喜欢正常的ASP.NET,正是你所说的原因;网络并不真正等同于WinForms,使用一个假装是的框架就是在自寻麻烦…… - Marc Gravell

1

这个转换中最困难的事情是,你会看到很多例子都将大部分甚至全部代码放在aspx.cs代码后台页面中。

如果你一直在遵循WinForms世界中的良好设计和编码方法,那么你就知道,你能够将演示与你设计的类和对象分离得越多,你的设计就越容易测试。在Web世界中也是如此。

需要一点时间来适应页面和控件的生命周期,有些对象比你最初想象的更加不同 - 但这应该是一个相当平稳的过渡。


1

你猜对了!Web应用程序与丰富的客户端Windows应用程序大不相同。最重要的是,它们需要改变思维方式。

最基本和主要的区别源于“Web是无状态”的事实。在我看来,第二个最重要的区别是Web应用程序在用户的浏览器上呈现,因此您可以提供的交互水平受到浏览器功能的固有限制。

我的建议是慢慢开始,并熟悉ASP.NET页面生命周期、创建Web表单的代码后台和代码旁边模型、理解ASP.NET如何在服务器上编译和执行页面、状态管理、客户端脚本功能(如Javascript)等。

获取一本好的ASP.NET初学者级别书籍,并不要忘记查看ASP.NET网站上所有精彩的视频。


0

如前所述,从代码角度来看,这并不是一个非常困难的转换。但是不要让表面上的相似性欺骗了你;Web UI与Window Forms UI完全不同。花些精力去理解Windows Forms应用程序中有状态UI和Web应用程序中基于请求的UI之间的差异。这就是我多年来在ASP.NET应用程序中看到最奇怪的构造。


0

首先,您应该购买一些基本的asp.net书籍,以了解asp.net应用程序的核心概念。然后创建一些基础的简单应用程序,并玩弄基本控件,如文本框、按钮、单选按钮、下拉列表、网格视图等。然后您应该开始专业编程。

这对您来说非常容易,只需要了解asp.net应用程序和页面的生命周期。由于您已经在进行winforms编程,所以您熟悉使用C#和VB.NET进行编程。

ASP.NET Webforms 也是事件驱动型的,所以它适合您。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接