【ArchSummit】如何通过AIOps推动可量化的业务价值增长和效率提升?>>> 了解详情
写点什么

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

  • 2012-07-19
  • 本文字数:3612 字

    阅读完需:约 12 分钟

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


感谢侯伯薇对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2012-07-19 00:002324

评论

发布
暂无评论
发现更多内容

Web3领域首个三消小游戏Matching Game,近30日交易量破800万U

EOSdreamer111

React-Hooks源码深度解读

goClient1992

React

深度分析React源码中的合成事件

goClient1992

React

聊一聊装饰者模式

Java 设计模式

只需5步注册成为亚马逊云科技 Marketplace (海外区)专家

亚马逊云科技 (Amazon Web Services)

亚马逊云科技 Tech 专栏 Marketplace

Java 注解与反射 基础

卢衍飞

Java

瓴羊Quick BI,强劲数据引擎助力企业数据分析

夏日星河

一个PMO从0-1建设的工作思路 | 对你绝对有用!

PMO实践

项目管理 PMO

MongoDB源码学习:Command的执行与注册

云里有只猫

mongodb 源码学习

Java 线程基础

卢衍飞

Java

看透react源码之感受react的进化

goClient1992

React

BSN开放联盟链“武汉链”新版浏览器wuscan.io正式上线发布

BSN研习社

BSN 武汉链

从 Uber 数据泄露事件我们可以学到什么?

SEAL安全

数据安全 企业安全 PAM

链上挖矿分红智能合约DAPP系统开发部署模式定制

开发微hkkf5566

JavaScript 基础

卢衍飞

JavaScript 学习 技术交流 基础

HDC2022的无障碍参会体验,手语服务是如何做到的?

HMS Core

HMS Core

从recat源码角度看setState流程

flyzz177

React

极客时间运维进阶训练营第五周作业

9527

横向对比主流BI软件优势,企业要按需选择

巷子

经营型项目经理是不是伪需求?

PMO实践

项目管理 敏捷 PMO 项目经理

从源码角度看React-Hydrate原理

flyzz177

React

从react源码看hooks的原理

flyzz177

React

火山引擎 DataTester 应用故事:一个A/B测试,将产品DAU提升了数十万

字节跳动数据平台

大数据 AB testing实战

C++中的代码重用

Maybe_fl

Spring中获取bean的八种方式,你get了几种?

小小怪下士

Java spring bean

好好的系统,为什么要分库分表?

程序员小富

Java 数据库 面试 分库分表

Java 反射

卢衍飞

Java

转化10亿GMV:螺丝钉也能变小马达

博文视点Broadview

ISV 的亚马逊云科技 marketplace ( 中国区) 之旅

亚马逊云科技 (Amazon Web Services)

亚马逊云科技 Tech 专栏 Marketplace

华为云区块链三大核心技术国际标准立项通过

华为云开发者联盟

区块链 华为云

【11.18-11.25】写作社区优秀技术博文回顾

InfoQ写作社区官方

热门活动

《LightSwitch揭秘》一书作者Alessandro Del Sole专访_.NET_Jonathan Allen_InfoQ精选文章