《LightSwitch揭秘》一书作者Alessandro Del Sole专访

Visual Studio LightSwitch是微软重新进入非专业软件开发市场的举措。术语“非专业”可能有些让人混淆不清,事实上微软的目标包括除了IT以外的各种职业和行业的专业人士。微软意图让没有编程经验或者编程经验不足的人士能够使用该工具快速开发出简单而有效的行业应用程序。当应用程序随着业务的发展变得复杂时,开发者可以学习C#或者VB语言以添加不能通过简单声明实现的业务规则。

我们采访了《Microsoft Visual Studio LightSwitch揭秘》一书的作者Alessandro Del Sole,以便更深入地了解该开发工具。

InfoQ:首先,我想问的是:“谁应该使用LightSwitch呢?”。之所以从这个问题开始,是因为LightSwitch原本就是想让非专业开发人士能够自己构建出满足他们需求的业务应用程序,然而目前整个市场基本上还是现行的Visual Studio用户占主导。

Alessandro Del Sole:我觉得LightSwitch确实是个不错的开发工具,它试图获得大量开发者的青睐,包括专业和非专业开发人员。我个人认为目标用户量非常巨大,下面就让我来论述一下我的观点。

对于刚接触开发的人来说,他们能够利用轻便RAD环境的优势快速构建出业务应用程序,而不必关心技术的具体内部实现(当然,知道一些背后的相关技术对开发还是有一定帮助的)。对于专业开发人员来说,他们不必自己实现数据访问层、用户界面以及其他LightSwitch提供的样板代码,同时他们还可以利用Silverlight或者WPF的相关知识实现其他特性以增强应用程序功能。

LightSwitch向VB 6/VBA开发人员和Microsoft Access用户提供了很简单的方式,让他们可以将业务系统迁移到.NET 技术平台。所以我并不奇怪,对LightSwitch感兴趣的人大多是当前的Access用户。

我认为(这在书中我也谈论过)LightSwitch的目标是:想要或者需要开始快速构建应用程序而没有相关编程背景的人;想要提高生产率同时能够通过自定义特性和扩展来增强应用程序功能的专职或者专家级开发人员;想要以合适的付出将应用程序迁移到更加先进的技术平台上的现行VB 6/VBA/Access/FoxPro用户;需要构建出能满足特定业务需求的内部应用程序的公司或部门,这种情况包含了非专业的编程人员或高级用户。有许多”高级用户“并非专业开发者,但他们在工作当中使用Access或者Excel以自动化一些处理,后来某个时候他们被叫去构建部门级别的分布式应用程序,而在这种场景下LightSwitch就是一种很好的技术选择。

毫无疑问,非专业开发人员可以使用LightSwitch构建以数据为中心的个人应用。我很想说,除了LightSwitch的目标用户,LightSwitch任何时候都是处理数据的最好选择,只有其他不同目的人们才需要考虑使用其他.NET技术去构建应用程序。

InfoQ:考虑到VB 6和FoxPro已不复存在,所以并不奇怪,曾使用这些技术的人会寻找不必像.NET编程那么复杂的替代品。但Access仍是可用的产品,并会定期更新。所以怎样才能诱使Access用户转移到LightSwitch呢?

Alessandro:确实,VB6和FoxPro开发人员很可能通过LightSwitch比较容易地迁移到.NET平台(以及后续其他更加先进的技术)。事实上目前世界上仍然有大量的VB 6开发者,VB 6具有令人惊讶的寿命,但我绝对鼓励所有VB 6开发人员从特定业务角度出发来挖掘LightSwitch的潜能。

微软的Access产品特别受欢迎至少有以下几个原因:数据存储在单个文件中,这样你很容易把它移动到任何地方;产品的易用性:方便的用户界面以及使构建以数据为中心的应用程序更加容易的所谓向导。Access的劣势是,它不是业务领域的合适工具,因为它只允许部分网络化,多用户不能同时写数据库,没有并发检测,或者说,它缺乏对分布式基础架构的支持。同时,一般Access数据库大小不能超过2GB。你可以自定义业务逻辑,但你必须懂得VBA,而这在.NET框架4.x时代就显得太落伍了。

LightSwitch既能在单机下工作也能在分布式环境中工作,所以如果目前你是一位习惯于在自己的机器上自动化你的工作的Access开发者,那么使用LightSwitch和SQL Server仍然能够实现同样的目的。同时,如果需要,LightSwitch会让迁移到分布式环境更加容易。LightSwitch关注于业务逻辑,它相当高效,它使用了微软的最先进的技术,它能让你构建以数据为中心的、运行于桌面电脑、网络以及云端的应用程序,所有这一切都使用相同的工具实现。同时,因为它使用SQL Server作为内置数据库引擎,所以不存在2GB的大小限制!

InfoQ:您认为LightSwitch的最大限制是什么?

Alessandro:从开发者的角度出发,我认为有个地方有待讨论以使LightSwitch更加优秀:从现行SQL Server数据库中导入存储过程。目前要使用存储过程的话你必须创建WCF RIA服务然后传递一个实体数据模型,就像我书中所说的。如果这个过程能够自动化的话,在导入数据库对象时是极其有用的。这可能确实是个限制,但考虑到LightSwitch的强大功能,这点瑕疵是可以接受的。另一个限制是缺乏内建的报表工具。但我不认为这是一个技术上的限制,然而当人们考虑迁移到LightSwitch时它就被看成了技术上的问题,这也是开发者社区所思考的问题。我可以毫不忌讳地告诉你,大量的Access用户在考虑迁移到LightSwitch时把报表功能当作了重要的比较点。我只是部分同意这是一个限制,因为你至少还可以导出数据为Excel表格,同时存在一些免费的扩展(比如Office集成包)可以让你很方便地创建基本报表。我常说如果LightSwitch具有报表功能,价格就可能会高出很多,这样就不利于那些不需要报表功能的用户了。所以结果是你可以自由地决定你要花多少钱来选择第三方的报表工具。报表的限制是有不错的解决方案的。 :-)

InfoQ:很多IT部门担心“迁移的时候出问题”。这在以Access和Excel为基础的项目上经常发生,当它们累积得太臃肿以至自身平台承受不住的时候,你会发现它们已经无法容易地被转化为通常的.NET或者Java应用程序了。LightSwitch有关注这个问题吗?

Alessandro:LightSwitch要求开发者或者高级用户对项目的发展方向胸有成竹。这是LightSwitch和其他开发工具的重要不同之处。我个人认为Excel是具有业务分析能力的令人惊奇的强大电子表格,但它离作为一种结构化的数据源还相差甚远(把它视为结构化的数据源是许多人犯的错误)。使用LightSwitch你就拥有了能够适应项目发展的强大基础架构,同时这意味着你使用上了.NET技术。你在真正意义的数据库上进行开发,能使用相关规则和约束。这意味着你需要多花些精力,但随着项目的发展好处是你能够自如地添加数据源和新特性。真正的问题应该是缺乏内置的报表和图表工具,但通过从Visual Studio Gallery下载相关扩展就可以轻而易举地解决这个问题。有些扩展功能可是免费的呵。

InfoQ:您能描述一下使用LightSwitch的最理想场景吗?

Alessandro:LightSwitch具有多种功能,它的理想使用场景不仅只有一个。通常人们都需要拥有主要用于和数据打交道的应用程序,这用LightSwitch来实现是非常理想的。

在这里我想说有一种理想的场景是运行于跨部门网路的业务性分布式应用程序;比如我曾使用LightSwitch为我工作的公司构建部门级应用程序,它让我节省了很多时间。

下一版本的LightSwitch会包括对开放数据协议(OData)的支持,这意味着你能够将你的LightSwitch数据开放给其他支持此协议的客户端程序,比如移动应用程序或者业务分析工具。

InfoQ:对于刚刚着手使用LightSwitch的人来说,其最大的障碍是什么呢?

Alessandro:对于使用LightSwitch的新手来说,这取决于他们的编程经验。我想如果是编程的绝对新手,那他们的障碍一大部分就是通常的程序概念(比如数据类型,什么是数据库等)。对于具有编程经验的人来说,我想象不出他们在使用LightSwitch会碰到什么困难。如果人们需要解决的问题和LightSwitch本身这个工具的能力定位相一致,那LightSwitch将使问题的解决事半功倍。

关于被采访者

Alessandro Del Sole 从2008年开始被授予微软最有价值专家(MVP)称号。他在全球VB社区中具有很高的知名度,同时他还是意大利Visual Basic技巧网站的社区领头人和意大利首个LightSwitch社区(LightSwitch技巧)的合伙创建人。Alessandro Del Sole是“Visual Basic 2010揭秘”和“Visual Studio LightSwitch揭秘”两本书的作者,同时他还是MSDN Visual Basic开发者中心的主要贡献者之一。他喜欢写关于.NET开发的文章,喜欢在他的意大利文和英文博客上写博文,喜欢录制技术指南视频。Alessandro在2009、2010和2011三年连续被授予年度MVP称号。你可以在网上论坛或新闻组中找到他的身影。

查看英文原文:Interview with Alessandro Del Sole, Author of LightSwitch Unleashed

你可能感兴趣的:(《LightSwitch揭秘》一书作者Alessandro Del Sole专访)