Visual Studio LightSwitch初体验和定位看法

  Visual Studio LightSwitch已经可以通过MSDN订阅下载了,相关介绍可以见:http://www.microsoft.com/visualstudio/en-us/lightswitch。

  于是我马上下载下来体验了一把:

  安装过程很简单,挂载ISO,运行setup.exe,提示需要1G多的空间,其实如果你安装了VS和Silverlight 4 SDK的话,要不了这么多的空间,500多M的安装包也是因为包含VS Shell的原因吧,我没有在干净的系统中安装,具体情况如何不太清楚。以后微软应该出一个针对已有VS环境的精简安装包。安装完成的界面截图如下:

  安装完成后,打开VS,新建项目的时候,就可以看到多出了一种项目类型了,语言可以选择VB.NET和C#,如下图:

  那么,就创建一个项目,初始界面,大家可能都熟知了:

  一开始就然大家创建数据表(table),注意此数据表并非是真正的数据库中的表哦,可以说是一种抽象的数据表,或者是实体框架中的实体。我创建了一个名为的People的数据表:

  从上图,可以看到,Id字段是默认就有的,无法修改名称,但可以添加描述,并选择是否要显示在操作界面(Screen)上。这里有个问题,连Id的数据类型都不能修改,只能是Int32,而很多时候我更习惯使用Guid。希望正式版中可以给Id字段选择不同的数据类型(至少可以支持GUID)。

  可以添加数据类型的为EmailAddress的字段,对于这点显得非常方便,不过如果能自己扩展数据类型就好了,类似SharePoint那样。

  Age字段是一个计算字段,通过属性窗口中提供的“Edit Method”按钮可以打开代码编辑界面,输入如下代码:

partial void Age_Compute(ref int result)

{

// Set result to the desired field value

if (this.Birthday.HasValue)

result=DateTime.Now.Year - this.Birthday.Value.Year;

}

  代码的自动生成做的很好,如果改变Age的数据类型,可以同步就修改result的类型。分别查看Name,Age和Email字段的属性,可以看到:

  字符串(或基于字符串)的数据类型,可以被搜索(不太理解Date就不能搜索,还是只能过滤?);每个字段都可以转换为计算字段;对于字符串字段,可以提供一个列表选择;数据验证,根据不同的数据类型,提供了不同的验证选项,也可以设置自定义验证模式;对于可空的字符串数据类型,可以选择空值如何保存。

  除了定义自己的数据表以外,也可以添加外部数据源:

  可以从数据库、SharePoint和WCF RIA Service中添加,奇怪的是数据库的选择可以通过other看到CE 3.5,不过我没有尝试,我只尝试了从SQL Server中导入一个表的操作:

  这个过程也可以看作是实体框架中映射一个表的操作(背后实际上就是在用EF进行映射),Required是不能修改的,数据验证时候也不能修改,其他如字段名称,显示名称都可以修改,这样的要求估计也是EF的映射所要求的。

  可以说,在LightSwitch中Table是一切的核心,也是一切的启动,可以从工具条的操作按钮看出来。这也昭示着LightSwitch是针对以数据为中心(数据驱动)的LoB应用的。

  接着,我们再来添加两个表Dinner和RSVP,如下图:

  这个时候,Peoples也变成了如下的图:

  下面,我们来看看Solution Explorer:

  整个解决方案的显示完全屏蔽了传统的那种列出代码的方式(虽然这个解决方案中实际上包含了6个项目,和n多代码文件),而是只显示三个主要的节点:属性,数据源,操作界面。在数据源中,直接创建的数据表,归到了ApplicationData目录下,每个数据表一个节点,不过无法同时打开多个数据表编辑(可能是基于工作的目标更集中,或更方便自动生成代码的考虑)。而引入的外部数据源是另外单列的。

  顺带说一下,导入外部数据源的时候,如果选择WCF RIA Services,暂时只能选择到AuthenticationService和SecurityDataService,单点“Add Reference”的时候,你就会看到其他的项目名称了,如:

  如果额外添加一个Service进去,暂时还未找到添加的地方。而且,在打开和关闭Add Reference窗口的时候都特别慢,估计是一个Issue。

  准备好了数据源,那么就要添加操作界面了,添加也是非常简单,打开某个数据表,在工具条上点“Screen”按钮,如:

  在添加了CreateNew、Search和Details的操作界面后,我们就可以来按F5运行我们的程序的,除了Age计算字段外的一句话,就没有再写代码了,运行效果如下:

  注意,主界面的右上角有一个“Customize Screen”的按钮,可以让End-User自定义自己的操作界面,这个比那种自定义一下数据网格的显示列什么的强大太多,这都受益于XAML的强大,估计背后的技术是Blend SketchFlow类似的东西。更多的操作界面的体验,我会在后续的博客中和大家分享。

  另外,还有一个宝库必须体验一下,就是整个应用程序的项目属性设置,在Solution Explorer上右键点“Application1”,选择“Properties”,就可以看到下图的属性设置界面:

  在这里,提供了几个决定应用程序运行模式的选项,在General中Shell、Theme的选择让你的应用程序可以与众不同,另外不知道Culture的设置会不会影响界面的文字的显示,多语言的实现是不是在这里?

  Extension,可以添加、选择不同的扩展包,实际上给开发人员提供扩展LightSwitch默认构建的地方,你可以把自己开发LoB的一些构建设想编写为LightSwitch扩展,让大家来使用。(此处纯属猜想)

  Screen Navigation,可以让大家修改主界面的导航菜单,没有什么特殊的。

  Access Control,可以设置内置访问控制的特性,默认提供Form Authentication和Windows Authentication。

  Application Type,可以选择应用程序的具体运行情况,具体有:

  大家注意,第一个选项是Desktop Client,且是只有2层,Silverlight的Client和SQL Server的Data,那么就是说LightSwitch为Silverlight提供了直接(或通过某种包装器)访问数据库的能力(中间应该还是EF)。

  关于项目属性设置的体验,我后续会详细分享。

  还值得注意的是,LightSwitch实际上也体现了我早在去年的这个构想:使用Silverlight 3作为桌面应用程序开发平台(1——构想)

  最后来说说LightSwitch的定位问题:

  在InfoQ上有一篇文章:LightSwitch——微软将要推出的专业开发工具,定位问题受到质疑,其中的提到的疑问,确实是现实存在,尤其和Access的功能类同。

  不过我认为,LightSwitch相对于Access可以说一种完成不同的东西,运行环境不同,开发环境不同,开发语言不同,部署模型不同(尤其LightSwitch在浏览器模式下的footprint会很小),我相信开发效率与互操作能力也不可同日而语。

  另外对于LightSwitch是否是给专业开发人员使用的问题,我觉得专业开发人员也需要这样的工具,有人提到可以开发原型系统或构想验证POC,不过以我自己的实践来说,我未来完成会用于开发正式项目和产品的。因为,我们主要开发专业数据分析产品的,但是偶尔也要给合作伙伴开发一些小的MIS或LoB这种数据为中心的应用,而这个时候,有了LightSwitch,我就不用自己去构建一套LoB的开发框架了,LightSwitch已经为我们大家好了很多基础的东西,我们需要考虑的就只有数据模型和操作界面的问题了。由于LightSwitch很容易上手,我也可以把这样的任务分给一些具有一定基础的实习学生来完成。又如,我之前在一家开发LoB的小企业,实现了一套3层架构的开发框架,提供了基础的数据访问模式,权限管理功能,并制定了一套准则方便大家遵循同样的构架来开发各个功能模块,而现在可以说,LightSwitch把这样的开发框架内化为一个IDE提供给大家,且可以让大家进行定制和扩展。

时间: 2024-08-22 14:10:58

Visual Studio LightSwitch初体验和定位看法的相关文章

用 Visual Studio LightSwitch 构建新式业务生产力应用程序

在本文中,我们将探讨 Visual Studio LightSwitch 中的一些新功能,这些功能可帮助您构建新式移动业务生产力应用程序. Visual Studio LightSwitch(以下简称 LightSwitch)旨在简化并缩短业务应用程序的开发过程.LightSwitch 应用程序可使用多种数据源.提供业务和授权逻辑以及创建可在多种设备上运行的客户端,而所有这些都不需要编写管道代码. LightSwitch 可聚合多种数据源,并且它自动公开一组开放数据服务(开放数据协议,简称 OD

Visual Studio LightSwitch一款云移动应用问世

目前,对于采用"使用自备设备"BYOD策略的市场份额随着用户的增加,正在不断增长中,这一市场发展趋势意味着IT部门必须开发出相应的业务应用程序,当然,这些应用程序不仅能够在iOS.Android.Windows RT等操作系统上正常运行,还应具备在传统的笔记本电脑和桌面电脑的操作系统上运行自如的能力. 此外,企业IT开支的公开化也促使用户们越来越多地使用所用即所付的公共云计算和数据存储服务.这样的发展对于IT的发展史来说,Wintel联盟无所不在的失败一直都在威胁着微软公司的生存底线,

vs code-怎么汉化visual studio code?

问题描述 怎么汉化visual studio code? 我在vs的源码中找到了i18n/zh_cn.的汉化包,但是不知道怎么用. 解决方案 Visual Studio Code初体验Visual Studio Code 笔记visual studio code基础 解决方案二: 有必要汉化么?我就不信有不懂英语的人会用这么小众的东西.而且这就是一个壳,一切功能都是插件,你汉化壳有什么意义?好比我没见过有人用汉化的vim

Visual Studio Code预览版Ver 0.3.0试用体验

当你开始阅读这篇文章时,请先不要把Visual Studio Code和.net.Windows联想到一起,因为VS Code是一个跨平台,支持30多种语言的开箱代码编辑器.不管你是.Net.Java.PHP.Python.TypeScript.Objective-C...还是前端开发者,你都值得拥有.下面,让我们来看一看Visual Studio Code 这个神器吧~  一.Visual Studio Code的下载和安装 Visual Studio Code最新版下载地址,https://

Visual Studio编程中使用C#引入必应搜索代码

更新:对于那些用扩展性代替Visual Studio智能感知体验的人们,你仍然可以使用'ALT-A'作为快捷方式来访问这项功能或是分配'Tools.LaunchSnippetSearch'命令给你选择的快捷方式(在工具->选项->环境->键盘下) 设想一下想要逐行阅读文件并且处理它们.今天,我们很可能加载一个web浏览器,访问我们最感兴趣的搜索引擎并且开始制作一个精心设计的关键字集合来帮助搜索引擎理解我们正试图解决的问题. 在理想的情况下,我们会找到包含示例的高质量的官方文档,或者从某个

微软扩大生态的又一步棋:推出 Visual Studio for Mac 预览版

微软今天宣布,在即将举行的Connect大会上,将会推出针对使用苹果 Mac 电脑的开发者推出Visual Studio for Mac 的预览版.这个版本将以被微软收购的C#语言跨平台应用集成开发环境Xamarin Studio为基础,但是其UX则受到了Windows版Visual Studio的启发.微软称,这使得原先以移动为核心的Xamarin Studio IDE转变成了针对.NET和C#语言的移动优先.云优先的开发环境,并且为Mac开发者带来了Visual Studio的开发体验.如果

Visual Studio 2015 移动跨平台开发初体验

原文:Visual Studio 2015 移动跨平台开发初体验 微软换了新 CEO 后变化很大,对我们团队最有利的消息就是 Visual Studio 2015 支持移动应用跨平台开发. 还记不记得很早之前,Xamarin 宣布与微软成为合作伙伴的消息.显然,Xamarin 得到了来自微软的大力支持,而微软则直接将 Xamain 融合进 Visual Studio 2015,以扭转它在移动领域的颓势. 也许你还担心这里面是否有大坑,是否还不够成熟,我现在还无法回答你,不过我相信微软和 Xama

LINQ体验(1)——Visual Studio 2008新特性

一.写本系列的目的 我平时利用课余零碎时间来学习ASP.NET3.5.LINQ.Silverlight.ASP.NET 3.5 Extensions等新东西,通过笔记形式来记录自己所学的历程,也给大家一起 学习Visual Studio 2008 和 .NET 3.5提供一个平台,为保证此系列的完整性, 我打算先依次介绍一下C# 3.0新语言特性和改进,然后从一条一条LINQ语句分析 来贯穿LINQ的知识点.最后通过一个实例程序实战Linq to sql带来全新的编程 体验.此系列比较长,欢迎大

Visual Studio 2013引入联网IDE体验 自动同步设备

近日,Visual Studio 2013以 Visual Studio 2012 和后续的 Visual Studio 更新中的进展为基础构建而成,为开发团队提供需要的解决方案,使其接纳这种转变并开发和交付利用下一波 Windows 平台创新 (Windows 8.1) 的新式应用程序,同时在所有 Microsoft 平台上支持多种设备和服务.设备和服务体验有了根本性的变革,改变了行业对软件开发的处理方式.消费者.客户和员工现在需要一种全新的应用程序.他们要求应用程序在多种屏幕和设备上提供最佳