写点什么

《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:002816

评论

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

谈谈讲清楚这件事的重要性

阿里巴巴中间件

阿里云 技术 云原生

全链路压测:影子库与影子表之争

阿里巴巴中间件

阿里云 云原生 全链路压测 影子

iOS基础--属性(setter方法 、getter方法、点语法、@property)

NewBoy

前端 移动端 iOS 知识体系 7月月更

一个酷酷的“幽灵”控制台工具

为自己带盐

C# 控制台 7月月更

Salesforce 容器化 ISV 场景下的软件供应链安全落地实践

阿里巴巴中间件

阿里云 容器 云原生 安全

算法入门很简单:算法题的破解之道上篇

宇宙之一粟

算法 7月月更

Java 9 中的字符串(String)压缩的改进

HoneyMoose

简单介绍一下闭包及它的一些应用场景

是乃德也是Ned

7月月更

Qt|多个窗口共有一个提示框类

中国好公民st

qt 7月月更

ServiceMesh主要解决的三大痛点

阿泽🧸

Service Mesh 7月月更

LinkedBlockingQueue源码分析-初始化

zarmnosaj

7月月更

《HarmonyOS实战—入门到开发,浅析原子化服务》

攻城狮杰森

操作系统 HarmonyOS 7月月更

OpenSergo 即将发布 v1alpha1,丰富全链路异构架构的服务治理能力

阿里巴巴中间件

阿里云 微服务 云原生 云原生开源 OpenSergo

当我们谈论不可变基础设施时,我们在谈论什么

阿里巴巴中间件

阿里云 容器 云原生 托管

Nginx 主机配置文件中如何配置能够支持 IPv4 和 IPv6

HoneyMoose

基于华为云IOT设计智能称重系统(STM32)

DS小龙哥

7月月更

AI人脸编辑让Lena微笑

逝缘~

华为云 AI Gallery 7月月更

一个开发者自述:我是如何设计针对冷热读写场景的 RocketMQ 存储系统

阿里巴巴中间件

阿里云 RocketMQ 云原生编程挑战赛

Android 面试知识点

沃德

android 程序员 7月月更

自律,提升自制力原来也有方法

沃德

程序员 7月月更

科普达人丨一文弄懂什么是云计算?

阿里云弹性计算

云计算 阿里云 虚拟化 神龙架构 IT资源利用

Ubuntu22.04 源码安装Python3.10

IT蜗壳-Tango

7月月更

鸿蒙智联汽车【1.0】

坚果

HarmonyOS OpenHarmony 7月月更

async / await

Jason199

Async await 7月月更

【愚公系列】2022年7月 Go教学课程 005-变量

愚公搬代码

7月月更

windows下设置TortoiseGit客户端连接git不用每次输入用户名和密码

乌龟哥哥

7月月更

Qt 实现容器的DELETE的方式

小肉球

qt 7月月更

【LeetCode】 解密消息Java题解

Albert

LeetCode 7月月更

electron添加SQLite数据库

空城机

sqlite Electron 7月月更

想要在Linux中只显示隐藏文件,用对ls就可以实现

wljslmz

Linux 运维 7月月更

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