【原文地址】Silverlight 4 demos from my PDC Keynote now available
【原文发表日期】 Wednesday, December 16, 2009 9:56 PM
【除了写博客外,我现在还使用Twitter发短贴和共享链接。请通过twitter.com/scottgu跟随我。】
上个月,我在PDC大会上做了一个Silverlight 4的主题演讲。你可以在这里在线观看我的主题演讲(我的部分是在录像的53:30时分开始的)。
在演讲中,我展示了多个很有趣的示范,着重介绍了Silverlight 4中的一些新特性。今天,我们把这些样例(含代码)发布在网上,这样你可以下载,并在你自己的机器上本地运行它们。
你可以在这里下载主题演讲中的示范(源代码,每个例程都包含了VS项目文件)。
主题演讲中的示范
下面是供下载的每个示范的一些细节:
PhotoBooth应用
PhotoBooth应用示范了你可以用Silverlight 4中新的网络摄像头(WebCam)和麦克风(Microphone)支持来做的一些有趣的事情,它允许你在浏览器中记录视频和照相,然后可以对它们施加效果(例如下面的膨胀效果),要过把瘾的话,还可以将任何一张照片发到 Twitter上, :-)。
条形码扫描器(BarCode Scanner)
条形码扫描器应用也使用了Silverlight 4中新的WebCam支持。它允许你扫描书背后的ISBN条形码,然后使用 Amazon web服务在线查询该书的细节:
富记事本(Rich Notepad)
富记事本应用展示了Silverlight 4中一些新的文本编辑特性。它允许你在浏览器中编辑rich text(多信息文本),支持 Bidi文字(包括阿拉伯文和希伯来文),同时支持从左到右(left-to-right)和从右到左(right-to-left, RTL)的控件布局(RTL示范如下,注意卷动条是在屏幕的左边),支持编程手法拷贝/粘贴到系统剪贴板,自定义右击上下文菜单,打印,和将文件从桌面拖放到浏览器中以做编辑等:
HTML Hosting(宿主)
HTML Hosting应用展示了如何在浏览器之外的应用中使用新的Silverlight 4 webbrowser控件(注:你必须在浏览器以外运行,该应用才会工作)。它允许你以交互的方式使用该控件(意即你可以点击其中的HTML,象一个应用一样运行)。它还允许你将宿主的HTML当作画刷,将它们施加到其他Silverlight控件上。为好玩,你可以点击下面的 MSDN.com 页,你会rick-rolled到YouTube上。你还可以把HTML当作画刷,将其刻成锯齿形, 尽管录像还在播放过程中(使用了宿主在HTML中的Flash):
了解详情
留意一下Tim Heuer的博客以及John Papa的博客,他们会经常性地发表有关Silverlight的贴子,会在不久的将来发表一些对上面的应用做详细介绍的贴子。
结语
你可以在这里下载主题演讲中的示范(源代码,每个例程都包含了VS项目文件)。它们可用于公开的Silverlight 4 Beta + SL4 VS工具支持中。它们提供了一个很棒的方式,在你自己的机器上重温主题演讲的内容,还可以向朋友下秀一下这些示范。
希望本文对你有所帮助,
Scott
附注: 在主题演讲中展示的Facebook应用不久也会提供下载。我们还在往其中添加更多的特性,做些修饰,一旦完成,我会写贴做介绍。
【原文地址】Presenting in Europe Next Week
【原文发表日期】 Friday, November 27, 2009 12:33 AM
下周我将动身去欧洲做多个技术演讲。我会在多个不同的城市做5-6个小时的演讲,会讨论ASP.NET 4 和 VS 2010, ASP.NET MVC 2, 和 Silverlight 4。
下面是我将访问的不同城市,以及如何注册参与有关讲座的细节:
我还将参加12月8日在巴黎举行的BizSpark Camp,也会在那里做一个讲座:
希望在这些活动中见到你们中一些人!
Scott
附注: 除了写博客外,我现在还使用Twitter发短贴和共享链接。请通过twitter.com/scottgu跟随我。
【原文地址】LIDNUG: Free Online Virtual Chat with Me Tuesday Morning
【原文发表日期】Monday, August 24, 2009 10:23 PM
几个月前,我做了一个由 LIDNUG (Linked .NET Users Group) 主持的在线聊天,非常好玩,参与的各位似乎也非常喜欢。
这个星期二(8月25日)从上午9点到10点半(美国太平洋时间)【北京时间凌晨0点到1点半】,我将再次参与这样的活动。
日程格式是开放式的,任何人都可以参加。基本上是这样的形式,你键入你的问题,然后你可以倾听我的在线答复,我将答复尽可能多的问题。什么问题都可以!:-)
点击这里 注册参与该活动。
静候大驾光临!
Scott
【译注】对不起,这个活动已经过期。
【原文地址】ASP.NET MVC Talk in Reading UK July 3rd
【原文发表日期】 Thursday, July 02, 2009 1:11 AM
今明两天我将在英国,我是在从这个星期两天的印度之行的回国途中,准备在此做2个技术讲座。
第一个讲座将在今晚的伦敦用户组织的活动上,我将讲演Silverlight 3。不幸的是,这个活动的注册已经超员了,所以,如果你还没有注册的话,等下次我来时再光临吧。
第二个讲座将在明天(星期五)从下午1点-4点在瑞丁(Reading)的微软设施举行,是关于ASP.NET MVC的。上个星期刚宣布该活动不久,它的注册很快就超员了。但这个星期,感谢我们的主办人,他们找到了一个大一点的房间,所以又多出了120个座位。
如果想参加的话,你可以在今天下午4点前注册参与这个免费讲座。但要快哟,因为只剩下43个座位了(在我刚开始撰写这个博客贴子时还有57个座位)。
希望在那里看到你们,
Scott
【原文地址】MIX 09
【原文发表日期】 Tuesday, March 31, 2009 11:37 PM
二个星期前,我们在拉斯维加斯举办了MIX大会。MIX是我最喜欢的年度大会,因为它把开发和设计方面的主题在一个会议中很好地整合在一起,而且通常还附带一些非常酷的产品宣布。
今年,我又做了首日MIX主题演讲,在其中,我谈到和宣布了一堆新的微软web开发产品。这些产品包括:
我的主题演讲还包括了成堆的示范,突出介绍了好几个重要客户,他们包括StackOverflow, NetFlix, NBC, Bondi Publishing, 和 KEXP公司。
点击这里在线观看首日的MIX主题演讲。Bill Buxton首先出场,花了20分钟的时间大谈用户体验,之后我讲了1个小时50分钟。
你还可以在这里在线免费观看所有的MIX分会场讲座。Greg Duncan还在此提供了一个便于导航的讲座列表。
不久我将发表一些更深入的博客贴子,讨论我们介绍和宣布了的许多技术,以及你可以用它们来做的所有酷的事情。
希望本文对你有所帮助,
Scott
【原文地址】Slides from my ASP.NET Connections Orlando Talks
【原文发表日期】 Sunday, April 27, 2008 9:51 PM
上星期,我在奥兰多举行的ASP.NET Connections 大会上做了演讲。星期一我做了一个主题演讲,那天稍后,我还做了2个分会场讲座。你可以在下面下载我的讲义和示范例程:
主题演讲
我主题演讲的讲义可以在这里下载。
在演讲中,我示范了如何调试 .NET 框架源码。你可以在这里了解如何在VS 2008中做配置。
我还示范了如何使用新的ASP.NET动态数据支持来建造网站,你可以在这里了解有关ASP.NET动态数据的详情。我还示范了如何使用新的ASP.NET MVC框架,你可以在这里了解有关ASP.NET MVC的详情。
我还展示了使用Silverlight 2建造的新Hard Rock Memorabilia网站。你自己可以在这里把玩一下Hard Rock应用,你可以在我这里的链接网页了解到Silverlight的详情(中文版)。
使用Silverlight建造.NET 应用
Silverlight分会场讲座的讲义和示范例程可以在这里下载。
你可以在我这里的链接网页(中文版)上了解到有关Silverlight的详情。特别地,我建议你阅读一下我这里 和这里的教程贴子。
ASP.NET MVC
我的ASP.NET MVC讲座的讲义和示范例程可以在这里下载。
你可以在这里了解到最新的 ASP.NET MVC源码更新版的详情。 Stephen Walther 刚在这里贴出了一套他在大会后做的ASP.NET MVC讲座的讲义和示范例程,非常之棒。
希望本文对你有所帮助,
Scott
【原文地址】Visiting China, South Korea and Japan the Next Two Weeks
【原文发表日期】 Tuesday, January 08, 2008 9:35 PM
本星期五,我将出发,开始十天的亚洲之旅。出差旅行一般不会让我激动(去年我在飞机上的次数大概有70次之多),但我非常期待这次旅行,因为这是我的第一次亚洲之旅。
我将访问中国(北京,上海和深圳),南朝鲜(首尔)和日本(东京),我将做一些讲座,与客户见面,拜访基于中国的我部门的一个开发团队。我还希望有机会在这些国家做些观光,陶醉自己一下。
下面是我这次旅程间将做的讲座的一些细节,如果你有兴趣参加或想了解详情的话:
- 中国 (北京,1月13日)
- 中国 (上海,1月14日) <= 更新
- 南朝鲜 (Coex Conference Center 310,1月17日)
- 日本 (Izumi Garden Gallery in Roppongi, 1月21日)
去年,我非常幸运有些好人志愿将我的博客贴子翻译成其他语言(包括中文和日文),下面是这些博客的链接,如果英语不是你的母语的话:
我希望这次能与思归(我的博客中文版的翻译者,该博客居于王洪超的博客站上)以及Chica(我的博客日文版的翻译者)见面,有机会亲自感谢他们,
谢谢,
Scott
【译注】译者目前不在国内,参与Scott Guthrie博客翻译的还有Ring,蓝天,木野狐,韩现龙等。
【原文地址】ASP.NET MVC Framework
【原文发表日期】 Sunday, October 14, 2007 10:41 PM
过去的几年里,很多人要求ASP.NET的一件事情就是对使用基于model-view-controller(模型-视图-控制器,简称MVC)架构来开发web应用的内置支持。
上个周末在Austin举行的Alt.NET大会上,我首次对我的团队正在开发的新ASP.NET MVC 框架作了一个公开的演示。你可以在Scott Hanselman这里的博客上观看我的讲座的录像。
我们将在今年稍后发布该框架的一个公开预览版,然后在明年的上半年将它作为完全支持的ASP.NET特性推出。
模型-视图-控制器(MVC)框架是什么东西?
MVC是个将一个应用的实现分成三个组件角色的框架技术:模型,视图和控制器。
- 在基于MVC的应用里,Model(模型)是负责保持状态的应用组件。这个状态通常都持久于数据库之中(譬如,我们也许会有一个Product(产品)类用来代表SQL中的Products数据表中的订单数据)。
- 在基于MVC的应用里,View(视图)是负责显示用户界面的组件。这个UI通常是使用模型数据来创建的(譬如,我们也许会生成一个Product"编辑"视图,根据当前Product对象的状态,显示文本框,下拉框和复选框等)。
- 在基于MVC的应用里,Controller(控制器)是处理用户交互,操作模型和最终选择用哪个视图来显示UI的组件。在MVC应用中,视图只是用来显示信息而已,是控制器来处理和回应用户的输入和交互的。
使用MVC方法的一个好处是,它有助于促进应用中模型,视图,控制器间的关注的清晰分离。保持关注的清晰分离使得对应用的测试极其容易,因为不同应用组件间的契约的定义和表达是更明确的。
MVC模式也有利于促进红/绿式测试驱动的开发 (TDD),通过它,你可以在你实际编写应用代码本身之前首先实现自动化的单元测试,这些单元测试定义和核实了新代码的需求。
ASP.NET MVC 框架的一些简要细节
在几个星期后,相关代码可以下载之后,我将写一些关于这个新的ASP.NET MVC 框架的深入性的教程贴子(与此同时,想进一步了解它的最佳方式是观看我的Alt.net讲座的录像):
这里是关于ASP.NET MVC 框架的一些简要细节:
- 它将促进清晰的关注分离,可测试性,和TDD。MVC框架中的所以核心契约都是基于接口的,可以轻易地通过mock来模拟(包括基于接口的IHttpRequest/IHttpResponse这些基本的东西)。你可以不用在ASP.NET进程中运行控制器(这使得单元测试很快),就单元测试你的应用。你可以使用你想使用的任何单元测试框架来做单元测试,包括NUnit, MBUnit, MS Test等等。
- 这个框架具有高度的可扩展性和可插拔性。MVC框架中所有的东西都是这样设计的,它们可以被轻易地替换掉或者定制(譬如,你可以插入你自己的视图引擎,路径转向策略(routing policy),参数序列化等等)。它还支持使用现有的依赖注入(dependency injection)和控制反转(IOC)容器模型(Windsor, Spring.Net, NHibernate等等)。
- 它包括一个非常强大的URL映射组件,允许你使用非常干净的URL来建造应用。URL不需要拥有文件扩展,是设计来轻松支持SEO和REST友好的命名模式的。譬如,在我上面的项目中,我可以轻松地把/products/edit/4映射到ProductsController类的Edit方法上,或者把 /Blogs/scottgu/10-10-2007/SomeTopic/ 映射到BlogEngineController类的DisplayPost方法上。
- MVC框架支持将现有的ASP.NET .ASPX, .ASCX,和 .Master 标识文件当作视图模板(view template)之用(这意味着你可以轻松地使用很多现有的ASP.NET特性,象嵌套的母版页,<%= %>块 ,声明式服务控件,模板,数据绑定,本地化等等)。但是,它不使用现有的将交互返回服务器的postback模型,取而代之的是,你将把用户的所有交互转给控制器类来调度,这有助于关注的清晰分离和提高可测试性(这也意味着,在基于MVC的视图内没有viewstate或page的生命周期之说)。
- ASP.NET MVC框架将完全支持象forms/windows认证,URL授权,成员/角色,输出和数据缓存,session/profile状态管理,健康监测,配置系统,以及provider架构等等现有的ASP.NET特性。
结语
如果你正在想使用MVC方式建造你的web应用的话,我认为你会发现这个新的 ASP.NET MVC 框架选项非常干净,而且容易使用。它将允许你在你的应用中很轻易地保持关注分离,而且有助于进行干净的测试和TDD。
几个星期之后,我将撰文说明新的MVC特性的工作原理,以及如何利用它们。
希望本文对你有所帮助,
Scott
【原文地址】Slides from my ASP.NET Connections talks: WPF/E, LINQ and ASP.NET Tips/Tricks
【原文发表日期】 Friday, March 30, 2007 11:28 PM
这个星期早些时候,我在奥兰多举行的ASP.NET Connections大会上做了三场讲座。下面是我做的三场讲座的讲义/演示代码:
WPF/E简介
这个讲座对WPF/E提供了一个很好的介绍,WPF/E是一个新颖小巧的,跨平台的浏览器运行时的代号,它允许开发人员和设计师开发提供更丰富的,交互性更强的web体验。我最早在这里的博客贴子里介绍过WPF/E。
你可以在这里下载我的WPF/E讲座的讲义和演示代码(内含一个录像样本,使整个下载大小达到10M左右)。这个讲座对今天的WPF/E CTP版本中的核心功能做了概述,同时也示范了你要使用的核心XAML和JavaScript编程模型。
想得到更多WPF/E样例的话,请去这里访问Channel9上的在线WPF/E样例馆。你也可以去这里的MSDN上的官方WPF/E网站上下载文档和例程。我团队的Mike Harsh在这里撰有一个精彩绝伦的讨论WPF/E的博客,我强烈推荐你订阅他的博客。
使用LINQ建造数据驱动的Web应用
这个讲座对LINQ(将作为我们的Orcas的一部分发布)提供了深入的讨论,并对它给ASP.NET带来的开发效率的显著提高做了一些示范。点击这里下载这个讲座的讲义。
如果你还没看过的话,我强烈建议你在这里观看一下我在Visual Studio Orcas中使用LINQ的20分钟的示范录像。你可以通过阅读我以前写的一些关于LINQ的博客贴子来进一步了解LINQ以及如何在ASP.NET中使用LINQ等。这里是特别值得一读的几篇贴子:
最后,想了解随Orcas一起发布的一些新C#和VB语言特性(LINQ大量使用了这些特性)的话,请在这里看一下我的语言系列的前2篇贴子:
我会在接下来的几天内试着发表我的语言系列的下一篇(将讨论Lambda表达式),请静侯。
ASP.NET 2.0 技巧和诀窍:
这个讲座讨论了ASP.NET UI,AJAX, 缓存和部署技巧和诀窍以及Visual Studio 2005 技巧/诀窍。样例包括在 ASP.NET AJAX 1.0下工作的更新过的ASP.NET AJAX版本的例子。你可以在这里下载相关讲义和样例代码。
你可以读一下我以前写的这篇关于改进Visual Studio build性能的帖子以进一步了解关于性能优化的建议。
希望本文对你有所帮助,
Scott
【原文地址】Me Presenting at the Space Coast .NET User Group in Florida this Tuesday
【原文发表日期】 Sunday, March 25, 2007 8:02 PM
接下来的几天,我将在奥兰多举行的春季ASP.NET Connections / DevConnections大会上做演讲。大概有1500位将参加这个星期的会议,对一个春季的会展来说,这是个非常不错的出席人数 (每年的秋季大会都是11月份在拉斯维加斯举行,去年的与会人达5000之多)。
星期二,我将给太空海岸(Space Coast).NET用户组织举办关于ASP.NET 和Visual Studio Orcas的讲座。该讲座将于晚上6点半开始,入场是免费的。你可以在这里在线注册参与该讲座(你也可以在这里找到该活动的地址,以及开车路线等)。
希望在那里见到你们中的一些人!
Scott
附注:接着,我将与Ray Ozzie于4月30日在拉斯维加斯举行的MIX大会上做主题演讲。然后会在6月4日那个星期在奥兰多的TechEd上做演讲,接着于6月13日在阿姆斯特丹的荷兰DevDays大会上做讲座。之后,6月份我还有几个其他的会议活动目前还在确定中,包括可能在英国,瑞士,匈牙利和凤凰城举办讲座等。