最新发布《数智时代的AI人才粮仓模型解读白皮书(2024版)》,立即领取! 了解详情
写点什么

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

评论

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

“密评”,听说过没

华为云开发者联盟

云计算 网络安全 开发 企业号九月金秋榜

MySQL DDL执行方式-Online DDL介绍

京东科技开发者

MySQL 数据库 ddl DML Online DDL

【IT运维】如何有效保障服务器账号密码安全?

行云管家

运维 IT运维 行云管家 账号安全

leetcode 105. Construct Binary Tree from Preorder and Inorder Traversal 从前序与中序遍历序列构造二叉树(中等)

okokabcd

LeetCode 算法与数据结构

SQL就业市场最吃香!解密为什么SQL历经半个世纪仍经久不衰?

雨果

sql

微信小程序开发|宿主环境详解

陈橘又青

9月月更

总结了一些vue相关的题目,话说今年前端面试难度好大

bb_xiaxia1998

Vue 前端

一张图读懂「融云一站式全生态出海解决方案」

融云 RongCloud

白皮书 社交网络

如何创建 Angular library 并在生产环境中消费

Jerry Wang

JavaScript typescript angular library 9月月更

日均数亿推送稳定性监控实践

得物技术

Java 设计模式 重构 SLA 企业号九月金秋榜

异步处理 —— RxJS Observable

掘金安东尼

前端 9月月更

我的C/C++技术成长之路

Fire_Shield

程序人生 C/C++ 9月月更

Wiki在企业内部的应用和管理,如何构建有效的Wiki系统?

Baklib

前端面试5家公司,被经常问到的vue面试题

bb_xiaxia1998

Vue 前端

Kyligence 入选 Gartner 指标中台创新洞察报告

Kyligence

指标管理 指标中台 数据分析管理

阿里云大数据助力知衣科技打造AI服装行业核心竞争力

阿里云大数据AI技术

人工智能 大数据 模型训练 客户案例

分布式系统中如何实现临界资源的互斥访问

华为云开发者联盟

云计算 后端 开发 企业号九月金秋榜

MobTech 短信验证 Flutter插件

MobTech袤博科技

flutter ios android

物联网平台简介——产品功能类

阿里云AIoT

大数据 安全 物联网平台 物联网 IoT

技术分享| 快对讲融合视频监控功能设计

anyRTC开发者

监控 音视频 调度 快对讲 GB28181

百度交易中台之资产系统架构浅析

百度Geek说

数据库 架构 资产管理

CISO 需考虑的五项 Kubernetes 安全措施

SEAL安全

Kubernetes 软件供应链安全

英伟达NVIDIA为何可以在高性能计算GPU中处于不败地位?

蓝海大脑GPU

面试突击85:为什么事务@Transactional会失效?

Java快了!

Github上标星103K的Spring Security实战手册,直接霸榜

程序知音

Java spring 程序员 spring security 后端技术

开发者有话说|从心出发

胖虎不秃头

个人成长

VoneBaaS平台让区块链服务触手可得

旺链科技

区块链 产业区块链 VoneBaaS 企业号九月金秋榜

VS Code摸鱼神器,让你快速开发AI模型

华为云开发者联盟

人工智能 企业号九月金秋榜

以Vue为代表的提升小程序开发效率框架及工具

Geek_99967b

小程序

从0到1项目搭建-框架搭建(附源码)

微枫Micromaple

架构 springboot Druid Mybatis-Plus 9月月更

【等保小知识】等级保护单项测评包括哪些项目?

行云管家

等保 等级保护 等级测评

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