【IT168 专稿】微软最近发布了LightSwitch,它可以和Microsoft Visual Studio集成,成为Microsoft Visual Studio 2010 IDE的一部分,也可以完全独立于Visual Studio 2010,引入LightSwitch是为了更好地创建以数据为中心的商业应用。
大多数以数据为中心的商业应用CRUD(创建,读取,更新和删除)操作基本上都是相同的,在这种应用程序中,开发人员要一遍又一遍重复着相同的代码和类似的UI。
Microsoft Visual Studio LightSwitch以屏幕类型的选择和屏幕数据的定义为中心,下面是LightSwitch提供的屏幕类型名单:
1、新建数据屏幕
2、搜索数据屏幕
3、详细信息屏幕
4、编辑网格屏幕
5、列表和详细信息屏幕
Lightswitch简化了数据源的定义,只需要添加合适的屏幕就可以了,有时也许要自定义业务逻辑。
Microsoft Visual Studio Lightswitch可从这里下载,目前只发布了Beta版。
· 快速开发以数据为中心的应用程序
使用LightSwitch开发时可以大大减少开发时间,开发人员在UI和数据访问上不用花费太多时间,因为数据屏幕都是现成的,它本身就可以实现数据访问,只有需要自定义时才需要开发人员的干预,这确保了两件事:
1、以数据为中心的商业应用软件的快速和稳定地开发。
2、最终产品可以很快交付给用户。
下面是创建一个示例工作屏幕的步骤:
1、创建存储数据的表,定义结构。
2、选择“添加新屏幕”,在选择需要的屏幕,如图1所示。
图 1 添加新屏幕
3、运行程序,你可以添加新的或基于你选择的搜索模块。
综合考虑上述信息,你会明白使用LightSwitch开发以数据为中心的应用程序有多快。
更易于决定应用程序是基于浏览器还是桌面应用程序
只需要一次点击,即可确定你的应用程序是运行在桌面环境还是浏览器上,你一定会感到不可思议,在这个项目出现之前,这曾经是一个让人很纠结的问题,一旦确定是桌面应用程序,想要发布相应的基于浏览器的版本就很难了,只有靠开发人员自己动手修改,现在你只需要到项目的“属性”对话窗口中选择应用程序的类型即可,如图2所示。
图 2 选择应用程序的类型
图3显示了所选应用程序以桌面客户端运行时的截图。
图 3 桌面客户端类型
图4显示了所选应用程序在浏览器中运行时的截图。
图 4 浏览器类型
· 支持多数据源
除了基本的数据源,如普通数据库外,你还可以在LightSwitch开发的应用程序中使用下列数据源:
1、Sharepoint
2、WCF RIA服务
3、外部数据库
4、SQL Azure
图5显示了添加其它数据源的屏幕截图。
图 5 添加数据源向导
· 数据完整性和验证变得很简单
当你创建数据表时,你会发现有一些商业域数据类型,如EmailAddress,Money和PhoneNumber,这些商业域数据类型增强了数据完整性,因为这些字段的格式会很特殊,如
另一个关于LightSwitch很美妙的事情是数据验证,验证是在屏幕上根据底层数据类型完成的,并会显示恰到好处的提示信息,如图6所示。
图 6 直接在屏幕上验证数据
如果开发人员喜欢自定义特殊类型的验证方法,可以点击该列属性窗口中的CustomValidation链接,图7显示了一个示例。
图 7 自定义验证方法
· 应用程序自定义
和传统的.NET程序一样,为了自定义UI,开发人员不用关闭运行中的应用程序,在输出屏幕上有一个选项叫做“自定义屏幕”,如图8所示,只需要点击它,就可以自定义屏幕了。
图 8 自定义屏幕
注意:仅当应用程序以调试模式运行时才可以使用此选项,当程序分发给最终用户使用时,这个选项是不可见的。
· 构建在.NET框架之上
LightSwitch最值得称道的是它整个都是构建在.NET框架之上的,它的名字中包含了一个Light,暗示应用程序的UI是使用Silverlight生成的,数据检索是使用WCF RIA服务实现的,这给开发人员使用C#或Visual Basic编程提供了很大的灵活性。
· 应用程序安全 – 认证
Visual Studio LightSwitch应用程序支持下面的认证方法:
1、表单
2、窗口
3、无
转到项目属性窗口,选择“访问控制”,你应该看到了可选择的认证类型,如图9所示。
图 9 选择认证类型
如果选中了图9所示的“授予调试”,开发人员还可以添加用户,图10显示了添加用户的屏幕截图。
图 10 添加用户
· 小结
本文只是对Microsoft Visual Studio LightSwitch的一个概述,只列举了LightSwitch七个最有用的功能,我希望这是一个好的开始,更多的功能还需要大家一起来发现,使用LightSwitch让大多数开发人员可以快速开发出拿得出手的以数据为中心的应用程序,如果你有什么想法和意见,欢迎在评论中回复。