ASP.NET 4.5是开发web应用的主流编程框架之一,开发者可以使用VB或C#基于它创建应用程序。Murach’s ASP.NET 4.5 Web Programming with C# 2012一书包含23个章节,共分为5个部分。第1部分的章节对ASP.NET web编程进行了基础的介绍,包括了开发单页面应用和多页面应用的基本步骤。这一部分也探讨了ASP.NET应用程序的测试及调试过程,并涵盖了HTML5和CSS3的内容。
第二部分主要讲述了标准的服务端控件、验证控件、模板页、状态管理、cookie、URL编码、主题、站点导航以及ASP.NET routing等内容。第三部分则详细探讨了数据库编程方面的内容,包括使用SQL数据源及各种控件,例如GridView、DetailsView、FormView、ListView、DataPager及对象数据源(object data source)。我希望这部分的内容涵盖能对开发者起到很大的帮助,因为他们不仅要学习对它们的使用,还要在真实的场景中应用它们。
第四部分探讨了确保web网站安全性的必要步骤,以及email的使用,定制的错误页面及回退按钮控件等等。作者也全面涵盖了用户认证与授权的各个方面,并阐述了ASP.NET 4.5应用程序的配置及部署。
最后一部分内容探讨了Ajax的使用,以及开发WCF与Web API服务的相关步骤。最后一章则全面讲述了ASP.NET MVC的相关内容。
Murach’s ASP.NET 4.5 Web Programming with C# 2012一书对计算机培训机构也非常有用,因为它们可以使用本书作为3至6个月的web开发课程的教材。出版社在官方网页上提供了本书的前两章的下载,以及了解本书内容所需要安装的相关工具。我建议出版社也加入相关的链接,这样读者就可以方便地自行下载,而不需到网上到处寻找了。
出版社也按照需求提供了一张教师专用光盘,包括了课堂上演示用的幻灯片讲义,测验用的填空,考试项目的一些想法,以及包括了另一部分练习及解决方案的代码下载,这些内容都没有随书提供。
InfoQ最近有幸与本书作者之一的Mary Delamater取得了联系,以了解本书背后的故事。她与Anne Boehm共同写作了本书的内容。
InfoQ:是什么促使你编写了这本书?
Mary:从Visual Studio 2010到Visual Studio 2012,ASP.NET及整个web开发都产生了巨大的改变,我想如今是时候更新一下本书的内容,以引入HTML5、ASP.NET MVC、WCF服务的改动、类似于Web API这样的REST web services,以前其它的一些变化。
对我个人而言,我已经为客户开发ASP.NET应用程序有好几个年头了,我也阅读了大量的技术书籍及文章以跟上时代的步伐。我一直很喜欢写作,在阅读其它书籍也在想,自己写一本书会不会很有趣。我很幸运,Murach Books给了我这次机会以更新它们的ASP.NET系列书籍,也让我发现写一本书确实很快乐。Murach里的每个人都很棒,我也对能参与到这样一个高质量的产品中感到自豪。
InfoQ:你能跟我们分享一下你的书和其它ASP.NET 4.5方面的书籍的不同之处吗?
Mary:我们的这本ASP.NET 4.5的书和其它书籍确实存在着一些不同之处。首先,我们尽量专注于真实世界的示例,我们不会使用“Hello World”这样的示例,因为我们觉得它对于想学习编程的读者来说不会很有用。相反,我们尽量提供一些读者们在实际应用中也可能用到的示例。
举例来说,这本ASP.NET 4.5的第1个示例是一个根据用户的输入值计算出某个将来结果的应用程序。这个例子足够简单,不会让读者有挫败感,但又是实用的,因为读者有可能会用到它。
按照同样的方式,我们也提供了完整的应用示例,使读者了解各部分是如何互动的。我们认为,和其它书籍中你所看到的一些零散代码片断相比,这种方式为读者打造了一个更好的基础。
我们的书籍与其它书籍的另一个不同之处,是在于我们的教材尽量提供一种更加专注的方式。它的意思是,与其尝试解释完成某件事的所有可能的方式,我们更愿意专注于我们认为正确的、或者最有效的方式。这对于读者的好处是可以减少信息负载,并为读者提供了最佳的实践。
当然,这本书的相对页面排版格式也与其它书籍截然不同。这种格式要求我们尽量精练内容的组织,然后只展示最恰当的信息,以致力于为读者提供更加良好的教学式体验。
InfoQ:我看到你在本书的每一部分都提供了大量的内容。你认为读者们会花费大量的时间去把它们全部读完吗?
Mary:这种相对页面格式以及整本书的结构的最优美之处,就在于读者不一定要致力于把整本书全部读完。读者可以选择整本书只阅读插图(相对页的右边的信息),忽略所有的文字(相对页左边的信息),并且仍旧能够获得足够的知识,以创建具有相当复杂性的web应用程序。
读者也可以选择只读完前两部分,并从剩下的部分中选择他们所感兴趣的部分。实际上,即使读者只阅读了第一部分,他所学到的内容也足以创建及测试一个web应用程序了。
这意味着读者不需要完整地读完整本书,读者可以选择慢慢阅读,建立起实际的经验,等有所进步后再继续阅读。或者也可以一口气完成所有的部分及练习。这本书的结构对任何一种学习方式及投入程度来说都是有效的。
InfoQ:你为MVC专门写了一个完整的章节,这部分内容是开发者所必需的主题吗?
Mary:这取决于你所谓的必需的主题是指什么。如果你是指开发者必须要学习,那么答案是是的。尤其对于像我这样的,更加熟悉桌面开发及ASP.NET Web Forms开发背景的开发者而言,MVC应用程序简直就像是另一个世界。
我还记得在ASP.NET MVC刚刚问世时我所阅读的一篇文章,当我看到代码时感受到了强烈的触动!对于有着较多ASP背景的人来说,这部分代码或者看起来更熟悉些,尤其是行内数据绑定的部分。但MVC的结构是如此的模块化,与ASP或者是ASP.NET都有着极大的不同,它的学习曲线还是比较陡峭的。
如果你的意思是对于ASP.NET MVC有着极大的需求,这其实不那么准确。就我所知,多数的企业应用程序依然是使用ASP.NET Web Forms所创建的。但ASP.NET MVC确实在不断进展中,貌似在当前的ASP.NET开发中已经占据了30%的份额。
讨论ASP.NET MVC的在线文章和示例确实是渐渐压倒了Web Forms,尤其是在MSDN网站上更是如此。因为,即使你暂不打算自己创建ASP.NET MVC的应用程序,你也可以至少熟悉一下MVC,这样你就可以理解那些在网上所找到的代码示例了。
关于ASP.NET MVC的章节,请记住这一部分仅仅是个简介。它仅仅触及了一些表面的东西,并未涵盖一些重要的MVC概念,例如单元测试及依赖注入。不过它对读者来说应该是个良好的开端。
InfoQ:你涵盖了一些web service的内容,能分享一下这部分的重要性吗?
Mary:由于移动平台的兴起,web service变得更重要了。这是因为人们希望在多种设备上都能够访问他们的应用程序,实现这一点的最佳方式就是以web service方式提供一个应用程序的基本功能。然后你的网站、移动应用甚至是桌面应用都可以访问相同的服务了。
这本书中的示例使用了web service以更新某个商店的产品目录。由于这本书是讲ASP.NET的,因此这个示例中是在web站点内直接调用服务的,但你也可以用同样简单的方式从桌面应用或移动应用中调用WCF或Web API服务。这为应对当今多种设备共存的现状提供了极大的灵活性。
InfoQ:你是否打算更新本书的内容,以涵盖Visual Studio 2013 Preview的部分呢?
Mary:目前我们并没有打算更新本书以涵盖Visual Studio 2013 Preview。在我看来,这次的更新只是小版本的改动,我们认为它不足以影响本书的内容。当然,如果这次更新最终证明比我们所想的更加重要,那我们会考虑提供一章专门供下载,以探讨相关的变更。
Mary Delamater以优异的成绩本科毕业于美国爱达荷州路易斯顿市的路易斯克拉克州大学。Mary最初作为一名心理健康顾问任职于TechKnowSolve公司,随后任职于Veterans Affairs在波特兰的部门。Mary为TechKnowSolve带来了优秀的沟通技巧及解决问题的能力。Mary有着多项微软认证证书,包括Microsoft Certified Professional, Microsoft Certified Technical Specialist及Microsoft Certified Professional Developer,并且熟悉非微软的技术,如PHP和MySQL。Mary专注于web编程及查询的设计。最近,Mary与专业编程图书出版社Murach合作,重新修订了它们的ASP.NET图书。ASP.NET 4.5 with C#已经完成,而Visual Basic版本也即将问世。
Anne Boehm作为一名企业应用的程序员已经有超过30年的经验了。她从Visual Basic的VB5就开始编程,并从.NET刚刚进入视线开始就使用它进行研发了。最近5年,她所掌握的编程语言里又多了一门C#。她也独立或与他人合作出版了Visual Basic、C#、ADO.NET及ASP.NET方面的多本著作。
查看英文原文:Interview with Mary Delamater, Author of Murach's ASP.NET 4.5 Web Programming with C# 2012