【问题标题】:Recommendations for learning ASP.NET MVC from a desktop developer's perspective从桌面开发人员的角度学习 ASP.NET MVC 的建议
【发布时间】:2023-06-14 08:44:02
【问题描述】:

我的新年决心之一是最终学习一些 Web 开发。我决定使用 ASP.NET MVC,因为我是 TDD 和 IoC 的信徒。我正在寻找一个主题列表,也许还有一个学习它们的顺序,以便成为一名可靠的 ASP.NET MVC 开发人员需要知道的内容。也许这很尴尬,但我唯一的网络体验是 5 多年前我上大学时使用所见即所得编辑器制作的 html 页面。

【问题讨论】:

    标签: asp.net-mvc


    【解决方案1】:

    首先,恭喜您选择了 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:他在Professional ASP.NET MVC 1.0一书中写了关于NerdDinner 的第一章,他总是有一些关于ASP.NET MVC 新特性的很酷的帖子。
    • Steven Walther:似乎每次我看他的博客时,他都有另一个很酷的技巧或与 ASP.NET MVC 相关的代码 sn-p。他还写了一本关于 ASP.NET MVC 的书,在亚马逊上有一些不错的评论。

    阅读材料

    • WDVL: HyperText Transfer Protocol: 同样,这是你的 HTTP 教程。我已经阅读了其中的一部分,它看起来相当不错。您不需要对 HTTP 有扎实的了解,但对请求动词和标头的总体概述会对您有所帮助。
    • NerdDinner.com Tutorial:这是 ScottGu 自己编写的关于如何从头到尾创建基本 ASP.NET MVC 网站的冗长的分步指南。
    • Profesional ASP.NET MVC 1.0:这是编写这个 ASP.NET MVC 的团队的一本书,它确实很好地解释了框架。
    • ASP.NET MVC Framework Unleashed:这是 Steven Walther 关于框架的书。它在亚马逊上有一些不错的评论,虽然我自己从未读过它,所以我无法真正给出我的意见。

    截图

    IoC 和依赖注入

    由于您在 OP 中专门提到了 IoC,因此有一些库和博客文章可能会对您有所帮助:

    其他相关的网络技术

    由于您希望转向网络,因此您还需要了解其他语言和技术。下面是一些简短教程的列表,可以帮助您入门,尽管这些主题中的每一个都可以轻松地保证发布比这个更大(或更大)的帖子!

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

    我知道这看起来很多,而且我可能已经让您阅读了大量的材料,但是我认为打下坚实的基础很重要。当您擅长 Web 开发时,它会很有趣,而且绝对是一种谋生的好方法!祝你好运! ASP.NET MVC 是一个很棒的框架,您做出了很好的选择。

    哦,是的,您可能还想在业余时间使用 Google 搜索其他一些内容。它们往往非常先进,所以我没有在此处包含它们,但是当您更多地参与网络世界时,您会遇到它们:

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

    【讨论】:

    • 谢谢,这就是我要找的!
    • 这与我所见过的学习路径布局差不多,包括一些愿意向您收取培训费用的专业“培训”网站。干得好斯科特!
    【解决方案2】:

    启动 MVC 的第一步是通过 Nerd Dinner 教程。

    在我看来,这是向您介绍 MVC 基础知识的最简单、最快捷的方式。

    谢谢

    【讨论】:

      【解决方案3】:

      很抱歉,这听起来有点简单,但是...http://asp.net/mvc 上的教程虽然很基础,但可以让您熟悉该框架。和NerdDinner 一样。我发现,如果你有开发背景,那么学习 MVC 并没有那么大的难度,只要你能掌握 MVC 模式,这非常简单。让 Web 界面方面的东西跟上速度会更加努力。最好的办法是熟悉 HTML、JavaScript(和 AJAX)和 CSS,这样您就可以生成良好的界面(视图)。

      您的网络用户界面必须使用“learn jQuery”。

      【讨论】:

        【解决方案4】:

        在这里享用书呆子晚餐: http://aspnetmvcbook.s3.amazonaws.com/aspnetmvc-nerdinner_v1.pdf

        这是迄今为止我用过的最好的资源之一

        【讨论】:

          【解决方案5】:

          我将从以下书籍开始:

          Pro ASP.NET MVC Framework alt text http://www.apress.com/resource/bookcover/9781430210078?size=medium

          它包含有关从头开始 MVC 开发的重要信息。体育用品商店的例子比 Nerd Dinner IMO 包含更多有用的信息。

          【讨论】:

            【解决方案6】:

            查看ASP.NET MVC in Action 书籍和随附的codecampserver 项目。

            【讨论】:

              【解决方案7】:

              我从 Webforms 切换到 MVC 以完成我在回来的日常工作,发现自己暴露在 Rails 开发中,下午 6 点在家发帖 :),这对转换非常有帮助,因为许多 Asp.net MVC 原则似乎都是来自 Rails 的直接端口.....及其 Rails,所以无论如何你都会喜欢它......;)

              【讨论】:

                最近更新 更多