LightSwitch Beta1 发布了

Categories: LightSwitch
Tags: No Tags
Comments: 10 Comments
Published on: 2010 年 10 月 25 日

原文链接:http://blogs.msdn.com/b/jasonz/archive/2010/08/23/lightswitch-beta1-now-available-building-your-first-app.aspx

原文作者:Jason Zanders 微软集团副总裁

简单介绍

        八月份我开始向大家介绍LightSwitch 这个产品的时候我就保证过,我们会在八月二十三号出一个beta版。现在我很高兴向大家宣布,LightSwitch Beta1 可以下载了。(下载地址)下边是一个详细的演示,希望可以帮助大家创建第一个LightSwitch 的程序,其中包括了安装说明。首先,让我来回答几个大家经常问到的问题。

谁应该使用LightSwitch?

        LightSwitch主要的用户是这些需要快速开发商业应用程序的开发者。它是Visual Studio软件家族的一部分,所以你写代码的时候你就是在使用VS 的集成开发环境。我们发现大多数的商业应用程序都遵循一个标准模式,LightSwitch 就是为了帮助用户使用这些模式。

Access

        很多人问LightSwitch和 Microsoft Acess是什么关系,下面是我的回答。Microsoft Acess是为有业务需求的最终用户设计的,用来制作报表,跟踪或者在多个组之间共享信息,要么是在本地用,要么是在SharePoint用。LightSwitch 是Visual Studio 家族的一部分,它的主要用户是开发者,它不是Access的一个替代产品。另外一个主要区别在于编码。LightSwitch使用Visual Studio的外壳和编辑器,用户可以直接用.NET Framework的功能。请注意,Beta1 版的LightSwitch还没有和Access数据库集成,但是在产品发布以前一定会有这个功能的。

架构设计

        LightSwitch的主要目标是帮助用户快速的创建商业应用程序,而这些程序是基于最常用的应用程序模式(数据+视图+代码)用户可以用它来创建桌面程序或者Web程序,默认是桌面程序。用户所创建的应用程序遵循经典的三层架构,并且可以使用.NET(Entity, WCF RIA Services), Silverlight, ASP.NET技术。用户可以使用多种数据源,比如SQL Server 和Sharepoint。

image

局限

        我们的设计目标是遵循三层架构的经典模式来开发商业应用程序。有一个架构方面的Blog 系列 列出了这种方法。我们非常欢迎您在产品设计目标方面向我们提出的任何意见,比如产品和设计的目标不一致啊,等等。有几个方面的功能LightSwitch是不准备做的,比如用户创建自己的工作流、web services等,当然如果需要用户可以使用Visual Studio 专业版、旗舰版来做。当用户使用Visual Studio 专业版(或旗舰版)打开LightSwitch的程序时,LightSwitch的架构以及工具仍然是兼容的,用户可以用VS 来做扩展功能,比如主要类型的设计、壳以及控制逻辑,这些反过来又可以被LightSwitch程序使用。更重要的是,用户可以使用所有.NET 的功能,以及设计简单的XAML定制视图。总的来说,遵循这个主要的架构设计,那么你的程序就更容易维护。

成长中的应用程序

        我的介绍博客上发表的许多帖子关注于升级应用程序的能力。我们正试图在LightSwitch上做的几件事,使这点更容易实现。首先,架构是基于您定制的商业应用程序的相同技术。其次,该工具旨在帮助你建立良好的数据和画面并使用智能默认和消除了定制的需要。第三,扩展点是空白的,与应用程序构建基本要求分离。因此,例如,如果您现在正在使用供应商提供的先进控制,您可以在未来看到由LightSwitch提供的相同专业品质的可扩展的解决方案。现在大家都说我们无法阻止某些人打开编辑器并编写糟糕的代码。但是话又说回来,如今糟糕的代码总是被写入,而LightSwitch不是唯一的,它能够提供灵活性:-)。如果您关注这点,我将很感兴趣您对测试版以及您认为我们可以做得更多的地方的(具体)反馈。

参考链接

当你进一步深入LightSwitch的时候,你会发现下列链接很有用。

· LightSwitch 开发者中心

· LightSwitch 文档

· Vision Clinic 实例演示

· LightSwitch 论坛

· LightSwitch 架构概述博客

· 第九频道视频

现在开始教程。在这个帖子的剩余部分,我们将从头开始建立一个应用程序。

第一步:安装

有两种安装方式可供选择,Web安装和DVD光盘镜像安装:

Visual Studio LightSwitch, Beta 1 (x86) – DVD (English)

DVD光盘镜像,可刻录到光盘由多个用户使用(或者用一种工具来安装)

Visual Studio LightSwitch, Web Install Beta 1 (x86) – (English)

Web安装程序将逐个下载所有的组件并将它们安装在单个机器上

除非你计划保留安装包或传递一个DVD给您的同事,否则我建议使用Web安装程序,可减少你的带宽要求,并不再需要刻录DVD或装入一个光盘镜像。

image

LightSwitch的一个目的是免除许多配置的需要,所以你真正要做的就是点击“Install Now”以继续。在所有组件都安装后,你只需按一下[Run]按钮:

clip_image002

请注意,如果你已经安装了VS2010,那么你会在设置中发现新的LightSwitch模板。

第二步:创建一个新项目

        当我们在微软推出软件,我们为 “发布 它”获得一个新的贴纸(追溯到93年这个程序开始的时候,我已经将3个纪念板填满了)。针对这种应用,我想建立一个简单的应用程序,它会跟踪那些为我们的产品工作的员工以及我们发布的产品的版本。在将来的教程中,我们也可以保留一个人们T恤尺寸的SharePoint表单,让他们填写自己的资料。这样,当我们推出一个新产品,我们可以将人们添加到表单并为发布会订购T恤。这是一个简单的应用示例,使你一般不会在产品上花费IT预算。但它也很容易制作,并将于本教程演示LightSwitch的概念。

启动后,选择“File”,“New Project”。如果您安装了VS2010,你将需要选择LightSwitch模板:

clip_image002[5]

你可以从Visual Basic 或 C#中选择 。我选择VB并将应用程序命名为“LightSwitchDemo”。然后点击[OK]。片刻后你的新项目将创建,我们可以开始添加数据。

第三步:布局我们的数据

        一开始我们需要跟踪员工。由于使用数据的工作是这样一个基本的操作,最初的设计器画面将立刻给予你这些选项。我们将通过点击“Create new table”来开始。

clip_image002[7]

这将启动一个默认的表格设计器。首先改变表的名称为“Employee”,你可以通过简单地在标题栏输入来完成。

clip_image004

接下来编辑表中的字段来存储有关雇员的典型数据。请注意域类型如EmailAddress和PhoneNumber的使用,在后面的步骤创建的screen中,这将赋予我们内置验证逻辑和一些额外的编辑帮助。

clip_image006

下一步,我们将需要一个表,跟踪我可以得到一个发布贴纸的软件项目。在Solution Explorer中右键点击“Data Sources”并选择“Add Table”

clip_image008

编辑表名为“Project”并添加新列以跟踪项目名称和交货日期:

clip_image010

在这一步,我们需要创建一些screen,让我们来编辑表数据。

第四步:创建视图

        商业应用程序中最普遍的功能是创建视图去部署你的数据。在这个步骤中,我们将创建2个视图去编辑表中的数据。开始,在解决方案资源管理器中的Screens文件夹上单击鼠标右键并且选择Add Screen:

clip_image002[9]

        你可以看到这里有一系列经常用来计算数据的视图类型,LightSwitch 包括默认的缺省类型。对LightSwitch 来说,视图类型有可扩张性,所以你应该期望以后Visual Studio 的搭档能添加更多的视图类型(你也可以在Visual Studio Professional中自己创建)。

clip_image004[5]

        注意,当你选择了Employee表的时候,缺省的Screen Name 会更新自己并返回一个合理的唯一的视图名字。你也可以按照自己的 命名方式修改这个名字,当你完成以后,单击[OK]。

clip_image006[6]

这时视图编辑器出现了, 我们可以在编辑区中找到视图的设计。现在让我们按F5(或者在菜单中单击Debug,Start Debugging),开始进行应用程序的运行:

clip_image008[5]

        缺省的应用程序将会是一个桌面应用程序,在Beta 1 版本中包含了Office黄色带状任务列表的风格,当你看到这个重点时,对于LightSwitch这个应用程序的外框是其他一个可扩展的地方,并且为创造新的风格,我们和Visual Studio的搭档已经开始工作了,这意味着将来你可以从不同的外框中选择并创建一个看起来很酷的应用程序(有点像选择PowerPoint中幻灯片模板)。

我将在数据库中加入自己的信息,完成以后只需要单击带状的Sava按钮:

clip_image010[5]

当保存记录以后他会被自动给予你一个ID并且Save项会变成灰色(表示当前没信息保存),继续添加一些你们组的信息,然后关掉应用程序。

我们唯一的视图可以轻松地创建新的数据,但是它不准许我们查看或者搜索数据,让我们再添加一个视图,右击Screens 文件夹,选择Add screen:clip_image012

选择“Search Data Screen”模板,在Screen Data下拉框中选择“Employees”表,然后点击[OK]。这时视图设计器又出现了,让我们再点击F5:

clip_image014

当你从Task list列表中选择Search Employee时,你可以得到你输入的员工数据,因为我们选择了Search模板,已经默认地为程序建立了搜索功能:

clip_image016

桌面应用程序有一个默认的特性是Office集成,在一些情况下面,我能单击Export to Excel用电子表格导出数据:

clip_image018

clip_image020]

        到目前为止用LightSwitch做出来的应用程序看起来还不错 ,让人感到烦恼的是当我们需要在应用程序中包含一个视图的时候就意味着必须创建一个新的 视图。我们不用如此频繁地创建,现在从Task list中移除它们,在Solution Explorer中右击项目并且选择属性:

clip_image022

在属性设计页面中选择Screen Navigation,它准许我们应用程序的菜单结构:

clip_image024

        我们想改变Search Employee的开始视图,这样可以避免每次运行程序时都是添加继续的页面。现在选择Search Employee任务并单击向上指示箭头移动它到第一个位置,然后点击[Set]按钮让Search Employee成为开始屏幕,最后选择CreateNewEmployee并点击[Clear]按钮。做完这些以后,设计器页面应该如下所示:

clip_image026

现在当我们运行应用程序时,employee的列表就先出现了,除非你在任务中直接点击否则看不到添加新员工信息的视图。

在Employee 表中有一点我不喜欢:我想里面包含员工的图片。关掉应用程序让我们左键双击ApplicationData folder下面的Data Sources返回Employee表,在设计器中,我们增加一个name叫Picture 、Type为Image的新项:

clip_image027

保存表,当我们要编辑图片的时候,双击SearchEmployee视图,展开DataGridRow | Employee,然后单击+Add项:

clip_image029

注意列表中隐藏的数据选项,新加入进去的Picture这行,要将其加入视图中。LightSwitch 知道这一行的数据类型会自动选择image Veiwer作为默认选项。

clip_image031

clip_image033

现在F5,看看我们做的视图效果:

clip_image035

视图中有Picture这一行了,所以我们需要添加一些图片的数据。如果我点击email的链接我将会进入到编辑的视图,里面包含了Picture区域,当你的鼠标在图片上面的时候会出现下载的标志:

clip_image037

当你点击这个标志的时候你会看到一个下载图片的对话框,你可以完成下载你的图片的操作:

clip_image039

第五步:增加更多的表和关系

        我们已经有Employee和Project 2个表,但是没有办法把他们连接起来。这个员工信息的项目是一个经典的表拥有多对多关系的例子,它要求有一个新表跟踪它。我们再一次右键选择Data Sources文件夹并选择Add Table:

clip_image002[11]

把表命名为ShipIt:

clip_image004[7]

接下来我们需要为Employee表添加“Relationship”,点击“+ Relationship”工具栏按钮:

clip_image006[8]

使用Add New Relationship对话框让我想起为什么我如此喜欢LightSwitch:它比其他复杂的工具更容易使用,当这个对话框出来的时候,只需要简单的改变Name这一行为我们的目标表名Employee就可以了:

clip_image008[7]

注意现在显示的对话框是相关联的多对一的图表和你刚才操作的直观的文本解释,在SQLSyntax中我知道如何手动的去编辑设置2个或者3个数据库,这很简单,当你编辑完成后,点击[OK]按钮保存关系。LightSwitch会自动添加新的有关系的行并且跟新Employee表为外键:

clip_image010[7]

让我们为project表再重复一次,点击+Relationship工具栏按钮,这次把目标表的名字改成Project去创建新的关系:

clip_image012[5]

点击[OK],我们和ShipIt表多对多的关系就解决了:

clip_image014[5]

如果你在设计器中双击Employee表,焦点会切换到这个表并且你在表中可以看到ShipIts这一行已经加入到表中了:

clip_image016[6]

现在让我们为Project表添加一个视图,可以增加几个项目,在做之前,右击Screen文件夹并添加一个视图,选择New Data Screen模板,在Screen Data下选择Project表,然后点[OK]:

clip_image018[5]

视图创建以后,按F5运行程序,像对employees做的一样,我们可以在task list中选择CreatNewProject来创建一个新的工程:

clip_image020[5]

第六步:精通细节表格

应用程序的最后一个步骤是增加一个视图去标注员工为那个工程工作过,继续右击Screen文件夹选择Add Screen。

clip_image002[13]

先选择Details Screen模板,在从Screen Data列表中选择Employee表,最后在Employee ShipIts前面标记[X]以用来包含员工所工作过的所有工程。点击[OK],然后按F5运行看看虚拟的视图,当列表出来的时候,选择Employee连接到细节编辑视图中去:

clip_image004[9]

通过选择员工我们可以得到EmployeeDetail视图,这个视图有员工的记录(主要的)也有ShipItcollection列表的(细节):

clip_image006[10]

现在我们可以开始为员工添加新的工程,当你看表格的第一行时,你可以编辑输入并且还能在行末用[…]按钮选择:

clip_image008[9]

当你点击这个按钮时会出现一个选择工程的视图,在这你可以搜索或者选择工程,注意我们并没有建这个视图,LightSwitch自动创建了它:

clip_image010[9]

你能按要求继续添加记录,然后点击Sava保存你所有的更改:

clip_image012[7]

总结

        在这个教程中我们创建了第一个LightSwitch应用程序的完整框架,我没有带领你一步一步清除视图文本,但是我认为你会发现这是很简单的事(我在文章介绍中给出了一些列子)。在应用程序中还有一些我想要的特性,比如从SharePoint绑定数据,使用Office去计算订购的礼品T-Shirt,这些可以作为一个教程主题,希望你能找到其他的方法提升这个应用程序。

        我很喜欢你在Bate版本中的反馈信息,可以帮组我们完善最终的产品,你反馈的任何信息都会被公平的对待,以下是一些需要注意的地方:

        · 关于应用lightSwitch产品的体系结构目标,你喜欢3层体系结构吗?文末有什么遗漏?

        · 关于我们如何更好的达到目标的任何意见。比如我给的反馈意见,我希望看到未来的客户端应用程序使用更少的工作默认设置。你想添加什么东西到该列表?

        · 这个工具的易使用程度如何呢?你有什么建议让我们可以做出更方便的或更让用户省心的?

        · 默认的应用程序有用吗?你的部门或企业用他们做什么,你会改变应用程序的什么东西?

享受Bate版本并提前感谢您的反馈!

10 Comments - Leave a comment
  1. Hi there, You have done an incredible job. I will certainly digg it and personally recommend to my friends. I’m confident they will be benefited from this website.

  2. I have not checked in here for a while as I thought it was getting boring, but the last several posts are great quality so I guess I will add you back to my everyday bloglist. You deserve it friend :)

  3. Wow, this is very interesting to read. Have you ever considered submitting articles to magazines?

  4. Thank you a lot for giving everyone such a pleasant chance to read critical reviews from here. It is usually very cool plus stuffed with a good time for me personally and my office mates to search the blog at minimum 3 times every week to read the newest issues you will have. Of course, we’re at all times contented concerning the extraordinary solutions you give. Certain 3 areas in this post are essentially the most beneficial I’ve had.

  5. comet laptops说道:

    I consider something truly special in this site.

  6. pieczątki说道:

    Some truly marvellous work on behalf of the owner of this website , absolutely great subject material .

  7. Hi, Neat post. There is a problem with your website in internet explorer, would test this… IE still is the market leader and a huge portion of people will miss your fantastic writing due to this problem.

  8. I like this weblog very much so much excellent information.

  9. Wow, this was very interesting to read. Have you ever considered submitting articles to magazines?

  10. Aleen Rimer说道:

    Definitely, what a magnificent site and informative posts, I definitely will bookmark your website.All the Best!

Leave a comment


Welcome , today is 星期五, 2017 年 04 月 28 日