QCon北京「鸿蒙专场」火热来袭!即刻报名,与创新同行~ 了解详情
写点什么

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

评论

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

从逻辑到硬件:如何转换PCB布局?

华秋PCB

工具 电路 PCB PCB布局 PCB设计

【干货】验证码的常见类型总结

宙哈哈

php html 验证码 短信验证码

局域网IP扫描软件:IP Scanner Pro激活版

真大的脸盆

Mac IP 局域网管理 IP扫描工具 局域网扫描

关于验证码,你不知道的一些问题!

宙哈哈

php html 记录 验证码

AI开发实践:关于停车场中车辆识别与跟踪

华为云开发者联盟

人工智能 华为云 华为云开发者联盟 企业号 4 月 PK 榜 车辆检测

AntDB数据库携超融合流式实时数仓亮相第25届中国高速公路信息技术化大会

亚信AntDB数据库

AntDB AntDB数据库 企业号 4 月 PK 榜

联合解决方案|亚信科技AntDB携手蓝凌软件,助推企业数字化办公转型升级

亚信AntDB数据库

AntDB AntDB数据库 企业号 4 月 PK 榜

目前led显示屏厂家存在的问题

Dylan

制造 行业 LED显示屏

软件测试/测试开发丨通用 api 封装实战,带你深入理解 PO

测试人

软件测试 自动化测试 测试开发

Higress GitHub star 突破 1k,来自社区开发者和用户的寄语

阿里巴巴云原生

阿里云 云原生 Higress

Excelize 入选 2022 中国开源创新大赛优秀项目

xuri

golang 开源 Go 语言 Excelize OOXML

架构训练营模块二作业

请叫我馒头哥丶

架构实战营

最新版本 Stable Diffusion 开源 AI 绘画工具之使用篇

江户川码农

人工智能 图文生成 AI绘画 Stable Diffusion

建木在 Rainbond 上使用实践

北京好雨科技有限公司

云原生 CI/CD #Kubernetes# rainbond 企业号 4 月 PK 榜

软件测试/测试开发丨两个步骤轻松搞定测试环境问题

测试人

软件测试 自动化测试 测试开发

社区分享 | Orillusion 引擎入门系列 —— 如何创建一个简单的 3D 示例

Orillusion

WebGL 元宇宙 web3d #WebGPU #开源

不动产行业国产化加速,明源云上榜《中国信创500强》

科技热闻

从零学习SDK(2)SDK的基本概念和组成部分

MobTech袤博科技

恶意爬虫?能让恶意爬虫遁于无形的小Tips

宙哈哈

Python html nginx 爬虫

长安信托:拥抱数字信托,探索多项目管理新路径

万事ONES

基于 Nginx&Lua 实现自建服务端埋点系统

亚马逊云科技 (Amazon Web Services)

Amazon

MobTech MobLink|无码邀请是怎么处理的

MobTech袤博科技

GaussDB(DWS)云原生数仓技术解析

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟 企业号 4 月 PK 榜

2023Java岗面试,进互联网大厂必备Java面试八股文真题解析

程序知音

Java java面试 后端技术 八股文 Java面试八股文

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