从桌面开发人员的角度学习ASP.NET MVC的建议

Lee*_*ner 9 asp.net-mvc

我的新年决议之一是终于学习一些网络开发.我决定使用ASP.NET MVC,因为我是TDD和IoC的信徒.我正在寻找一个主题列表,也许是为了学习它们,我需要知道它是一个可靠的ASP.NET MVC开发人员.也许这很令人尴尬,但我唯一的网络体验是5年前我在大学时用WYSIWYG编辑制作的html页面.

Sco*_*son 24

首先,祝贺选择ASP.NET MVC.我敢说ASP.NET MVC比WebForms更容易使用.WebForms倾向于采用某种"黑盒"方式处理Web,并将其视为经典的WinForms开发.WebForms 对您来说可能是一种稍微舒适的技术(来自WinForms开发),但MVC将让您更加了解Web的工作方式,这非常重要.

在深入研究ASP.NET MVC之前,您可能希望了解HTTP的基础知识,因为了解何时开始编写基于请求谓词响应不同的操作方法非常重要.确切地知道HTTP头是什么以及如何在应用程序中利用它们也很好.无论如何,这是我的清单:

重要人物及其博客

  • Phil Haack:他是ASP.NET MVC的首席开发人员,他的博客有很多巧妙的技巧和使用技巧.
  • Scott Hanselman:他与NerdDinner的团队合作,他的博客不时有一些巧妙的MVC.
  • Rob Conery:Rob是ASP.NET MVC的狂热推动者和活跃的开源贡献者.他在github上有大量的代码供你浏览灵感/指导,他还在他的博客和他的商业网站TekPub上有大量的截屏视频.我建议从TekPub购买他的截屏视频,因为他只是一个了不起的主持人,并且很容易理解ASP.NET MVC.
  • Scott Guthrie:他在专业ASP.NET MVC 1.0书中写了第一章,尊重NerdDinner ,他总是有一些关于ASP.NET MVC新功能的很酷的帖子.
  • Steven Walther:看起来每当我看他的博客时,他都会得到另一个与ASP.NET MVC相关的酷炫技巧或代码片段.他还写了一本关于ASP.NET MVC的书,在亚马逊上有一些非常好的评论.

阅读材料

  • WDVL:超文本传输​​协议:同样,这是您的HTTP教程.我已经阅读了部分内容,看起来相当不错.您不需要非常了解HTTP,但是请求动词和标题的一般概述将特别有助于您.
  • NerdDinner.com教程:这是ScottGu自己编写的关于如何从头到尾创建基本ASP.NET MVC网站的冗长分步指南.
  • 专业的ASP.NET MVC 1.0:这是编写这个ASP.NET MVC的团队的一本书,它在解释框架方面做得非常好.
  • ASP.NET MVC框架释放:这是Steven Walther关于框架的书.它在亚马逊上有一些不错的评论,虽然我自己从来没有读过它,所以我无法以某种方式给出我的意见.

截屏

IoC和依赖注入

由于您在OP中特别提到了IoC,因此有一些库和博客文章可以帮助您:

其他Pertinent Web技术

因为您希望迁移到网络,所以您还需要了解其他语言和技术.下面列出了一些简要的教程,以帮助您入门,尽管这些主题中的每一个都可以很容易地保证一个比这个更大(或更大)的帖子!

  • HTML:看起来很愚蠢,我在这里提到这一点,但我只是提到它,因为这些天有很多推动写有效的 HTML.大多数的可访问性和浏览器不兼容的问题可以通过具有干净的标记是可以避免的.我个人在我的网站上使用XHTML,但任何doctype都会这样做:)
  • JavaScript:这是一种简洁的语言,可用于使许多Web应用程序更像桌面应用程序(除其他外).通过适当地利用JavaScript,可以获得很多性能提升和设计胜利.一旦您对JavaScript感到满意,您可能希望转移到JavaScript库以使跨浏览器兼容性变得非常容易.我选择的JavaScript库是jQuery.
  • CSS:这就是你应该如何将风格应用到你的网站.许多开发人员犯的最大错误之一就是让他们的HTML负责演示(使用表格进行布局[圣战]等).除了争论和圣战之外,CSS是一种有效的技能,它确实没有你想象的那么难:)

我知道这似乎很多,而且我可能已经用材料淹没了你,但是我认为建立一个坚实的基础是很重要的.当你擅长网络开发时,网络开发很有趣,而且它绝对是一种谋生的好方法!祝好运!ASP.NET MVC是一个很棒的框架,你做了一个很好的选择.

哦,是的,还有一些其他的东西,你可能想要在业余时间谷歌.它们往往非常先进,所以我没有在这里包含它们,但是当你更多地参与网络世界时,你会遇到它们:

  • AJAX:使您的Web应用程序更自然地执行并在后台执行操作.
  • Web服务:在Web上交换数据的通用方法.例如,有提供天气预报和股票报价的网络服务.你可以消费它们,甚至可以自己创造一些!
  • XML和JSON:这些用于描述数据.在Web上序列化数据时,XML和/或JSON是大多数开发人员使用的传统技术.JSON很受欢迎,特别是因为它可以在JavaScript中很好地使用.