旅行报道:DevDays/TechDays 2011, Netherlands

[原文发表地址] Trip Report: DevDays/TechDays 2011, Netherlands

[原文发表时间] 10 May 2011 7:55 AM

  

最近我在DevDays 2011 in The Hauge, Netherlands,做了演讲,超级棒!那是我第二次在世界论坛上演讲—那是个可容纳几千人的场所。这个专为专业开发人员和IT专业人员召开的会议每年春天都会举行。我开过三次会议,也在Visual Studio LightSwitch上做过一次演讲“奇客之夜”,我想起了一些人们感兴趣的新的演示内容。

  

Visual Studio LightSwitch 介绍

本次会议是在一个可容纳400-500人的讲堂中召开的。非常惊喜地看到这么多人对Visual Studio家族的一名新成员如此感兴趣。本次会议,我们创建了从构思,端到端,包括安全性及部署的Vision Clinic application应用程序版本。我们确实写了些代码,但仅仅是一些简单的业务规则和计算字段,最后我们完成了一个完整的业务应用程序。旨在展示出LightSwitch能够不受限制地为你们做什么,而不必掌握关于程序所依赖的.NET技术的详情。我在只安装了Visual Studio LightSwitch(不是VS专业版或最终版)的情况下做了全部演示,这样我就可以展示开发环境中的菜单,工具条以及工具窗口是多么简单。录音磁带在第九频道就可以收听。我建议下载高质量的High Quality WMV:

Description: Discover What is LightSwitch?Video Presentation: Introduction to Visual Studio LightSwitch

当我问谁已经下载了Beta时,只有10%的人举手了,因此我把说服大家以后都下载Beta列入我的工作中;-)。同时我也问了有多少人不是专业的开发人员(不是以写代码为生的),只有一些人举手了(我预料到了只有一些人,因为这是个专业开发人员会议)。这些少数的人是IT专业人士或商界人士,其中有一位商界人士从上一次的演讲中跟我来到了这次演讲,因为将LightSwitch应用到他的云咨询业务中的前景令他十分兴奋。

我在会议中展示的基本上就是包括在LightSwitch培训工具集中的内容。如果在打开的工具页面的右边侧栏的“LightSwitch概述”下面看看,你会看到可以用来培训你本地用户群的完整的演示版代码及演示底稿:-)这儿是可查阅的、有助于理解Visual Studio LightSwitch的更多资源:

· LightSwitch 开发者中心 & 学习中心

· LightSwitch 培训教材

· LightSwitch 如何做视频

· LightSwitch 示例

· LightSwitch 团队博客

· LightSwitch 论坛

Visual Studio LightSwitch-基础之外的

本次会议吸引了100左右的出席者,除了少数几个人之外,其他人也已经出席了介绍会议或已经了解了LightSwitch是什么。在这个演讲中我演示了用LightSwitch你可以做哪些屏幕模板和实体设计器之外的东西。

Description: Discover What is LightSwitch?Video Presentation: Visual Studio LightSwitch – Beyond the Basics

开始我先快速浏览了下讲述Beta 2功能的Course Manager sample。这个应用程序里面没有任何自定义控件或扩展,真正地演示了只在安装了Visual Studio LightSwitch的情况下能够不受局限地创建强大的应用程序。请查阅Andy编著的关于他是如何创建 Course Manager的系列博文。

然后我们进入到了LightSwitch API,并且我解释了save pipelineDataWorkSpace,同时也讲了一点和underlying n-tier architecture upon which LightSwitch applications are built相关的。我也演示了如何创建自定义控件和数据源以及使用扩展。本次会议中我把LightSwitch安装到了Visual Studio专业版,这样以来我就可以演示创建自定义控件了。就像在可在屏幕上被引用及使用的Silverlight类库中其他Silverlight控件一样创建自定义控件。如果想要更进一步的话,可以创建一个集成到开发环境中(跟扩展类型有关)并看起来像其他内置项一样的LightSwitch 扩展

为了演示自定义控件,我创建了一个带有我自己的自定义列表框控件的简单的Silverlight类库,然后演示如何设置数据绑定到视图模型,并且如何在LightSwitch屏幕上引用这个控件。我也创建了一个自定义RIA服务,并演示了LightSwitch界面如何和自定义数据源发生联系。当讲到扩展性时,我应用了Bing地图控件扩展(它包含在培训教材中)并把它下载到了LightSwitch中。就像其他Visual Studio扩展一样,Visual Studio扩展也是可以直接点击安装的VSIX包。然后我把地图添加到了一个Patient详情界面来展示病人的地址。

LightSwitch的高级开发及自定义技术

本次会议中我演示了一些更高级的开发和在LightSwitch应用程序中可以使用的不同层次的定制。会议中有50人左右,我知道其中一些是MVP,而另外一些是演讲者。这并不惊奇,因为产品仍然是Beta版的,我很高兴地看到这50人已经准备好进行更深入研究。:-)

Description: Discover What is LightSwitch?视频简报: LightSwitch 的高级开发和定制技术

开始我先展示一个名为“Contoso Construction”的应用程序,我是用Visual Studio LightSwitch版本(没有安装VS专业版)创建的,它有一些相当高级的功能,如下所示:

· 具有静态图片的“主画面”和类似于的Course Manager sample 文本

· 使My Appointments显示在登录界面的个性化设置

· 数据表格中地址下的“Show Map..” 链接

· 图片编辑器

· 通过COM 互操作向 Word 报告

· 使用Excel Importer Extension 从Excel中导出数据

· 对检索/聚合数据的复合式LINQ 查询

· 使用高级筛选器控件 来定制报表筛选

· 使用iCal格式通过SMTP发出预约邮件来响应保存管道上的事件         

(我 保证我将上传这个示例,但是我们想在下周的TechEd上使用它,因此我被告知再等一个星期)

会议期间我们创建了应用程序的若干部分,所有LightSwitch开发人员都有访问权限。你没必要用VS专业版来编写高级LightSwitch代码,你只需要 用它来创建扩展(我们在结束时显示过)。我演示了如何访问查询的后台代码,因此你可以写出更高级的LINQ语句(我也没搞清楚其中的一个语句-这是我会议演示中仅有的一个小问题,所以还不是那么糟!)。我演示了一些适用于屏幕的高级布局技术和如何在屏幕上布置静态图片及文本。同时我也演示了如何转到文件浏览窗口以及访问用户端及服务器端的项目来添加你自己的类。我们加了些业务规则到保存管道中以便于我们在新建 , 更新及取消预约时发送邮件和我逐步讲解了在 Word中如何使用内容控件来创建报告模板 ,它们展示了一对多的数据集。

然后我大概的介绍了6个 用到LightSwitch扩展性的地方。包括Shells,主题,屏幕模板,业务类型,自定义控件和自定义数据源。我演示了怎样安装和激活他们,之后创建了一个主题。而且我也演示了开发中的LightSwitch扩展开发包。这将有助于LightSwitch扩展开发人员快速简单地创建扩展,我用它为Contoso Construction应用程序创建了一个主题。正如我之前提到的,LightSwitch扩展和其他Visual Studio扩展很相似,它们也是你可以直接点击安装并且通过Visual Studio中(LightSwitch中也有)的Extension Manager管理的VSIX包。对于扩展的两个很棒的例子,包含了所有的代码:

· LightSwitch Excel Importer Extension

· LightSwitch Advanced Filter Control

查阅LightSwitch Training Kit,你会加深对更高级的LightSwitch功能的理解。在教程首页右边的“LightSwitch Advanced features”部分你会看到演示和实验。

image

这儿是Visual Studio LightSwitch 的更深一层的参考资料:

· LightSwitch Beta 2 扩展操作手册

· 一个 LightSwitch 应用程序的解析

· 现实世界的用在Microsoft的 LightSwitch 应用程序  

· Channel 9采访:深入到 LightSwitch中

趣事

Stefan Kamphuis,ASP.NET MVPs和LightSwitch社团的倡导者之一,一直坚守在 Visual Studio LightSwitch的展位。他说整场会议没有一点空闲时间。我去了展位一两个小时,进行了非常多很棒的讨论,围绕着LightSwitch如何工作,如何延伸扩展,及如何使用部署的选项。我所接触到的所有来宾都具有VB6, Access, Cobol 和/或者 FoxPro背景,并且在一开始使用这些业务应用程序时挣扎过是否要转移到.NET(包括我自己)。这种场景是很赞的。

我的奇客之夜标题为“15分钟创建一个业务应用程序”,但是会议长达45分钟之久也没人带啤酒。我问大家我们应该往应用程序里面添加什么类型的bell及whistle。我从DevDays网站上筛选了会议画面和演讲者名单并用Excel Import extension把数据上传到系统中。这个控件的一件不错的操作是它也关联了些数据实体,因此我有演讲者列表和他们的会议。然后我添加了一个Silverlight Toolkit里的评级控件,并在LightSwitch中采用这个控件给演讲者评分。我想即使没有提供啤酒,大家也会喜欢它的。

我周六在这里度过了Queensday,那是很热闹的一个集会啊。我从来没见过那么多人在街上跳舞。那是个令人难忘的经历。我绝对玩得尽兴!

WP_000217WP_000227WP_000228WP_000243WP_000219WP_000230WP_000233WP_000246WP_000251

谢谢你Netherlands,下次见!