LightSwitch——微软将要推出的专业开发工具,定位问题受到质疑

  • Abel Avram
  • 朱永光

2010 年 8 月 14 日

话题:.NET微软语言 & 开发

微软最近在雷德蒙举行的 VSLive! 会议的主题演讲上宣布了一个新产品,Visual Studio LightSwitch。LightSwitch 是一个被裁剪后的 VS 产品,用来更容易地进行业务处理(Line of Business,LoB)应用程序的开发。一些开发人员通过和 Access 进行比较后,怀疑 LightSwitch 是否真的是给专业开发人员提供的工具。

LightSwitch 当前还是测试阶段,将会在 8 月 23 日作为 VS Professional(专业版)、Premium(高级版)和 Ultimate(旗舰版)的一部分提供给 MSDN 订阅者下载,不过它的主要特性已经揭开:

  • LightSwitch 生成的是 Silverlight 应用程序
  • 它具有好几个内置的模板
  • 编程语言支持 C# 和 VB.NET
  • 支持 SQL Server、SQL Azure、SharePoint 和 Office
  • 应用程序可以运行在浏览器中、脱离浏览器模式(OfB)下或云中
  • LightSwitch 完成很多基础性的工作,包括了大量的拖拽特性,不过也允许开发人员在需要的时候访问.NET Framework

LightSwitch 提供了几个模板,指导开发人员逐步完成一些开发步骤,让大家可以选择想使用的数据源,提供了向导来创建业务实体和数据表之间的关系,让大家可以使用 Office Tools 来实现某些操作,可以根据相应的需求来自定义应用程序界面,接着生成包含大量窗体的 Silverlight 应用程序,能够运行在被支持的浏览器中、运行在脱离浏览器模式下,或能部署到 Windows Azure 上。最终生成的项目也能在 Visual Studio 中打开,可为了扩展应用程序的功能而添加额外的代码。

微软推出 LightSwitch 所针对的目标人群是专业开发人员,不过很多开发人员也表达了关于定位问题的看法。Frans Bouma,LLBLGen Pro 的创造者,认为LightSwitch 是给业余爱好者使用的

LightSwitch 让我迷惑的是:它的目标用户是什么?谁应该使用这个工具而非其他工具?这个工具是为了卖出更多 SharePoint 许可,更多 Azure 许可的?我不知道。最大的问题是,在 LightSwitch 的构想中存在一些矛盾。微软说 LightSwitch 是面向那些技术娴熟的非开发人员,其想构建 LoB 应用程序的时候就无需去雇佣大量专业开发人员了。简而言之:一个针对打算“自己完成某些开发工作”的业余爱好者的工具。这样的矛盾也出现在知识构成方面,这个人显然需要知道:什么是数据库、什么是数据表、什么是实体、什么是界面(Screen)、什么是数据验证,等等。那么这真的是一个针对业余爱好者的业余工具吗?或是一个针对专业开发人员的业余工具?……

Microsoft LightSwitch 是一个面向业余爱好者的工具,生成的东西也是业余的。用 LightSwitch 所生成的东西,其后可为专业开发人员所用,并求助于专业开发人员来进行扩展和维护,这样的想法我认为是一个错误。

Neil Robbins 认为微软应该创建一个电脑爱好者部门,而 LightSwitch 这样的应用程序将归到旗下:

我尽量说服自己,微软是在认真对待专业开发人员的,不过确实很难做到。从 TFS 到 Microsoft.Data 和 WebMatrix,垃圾东西越来越多,而现在微软又用这个东西让问题更复杂。难怪微软和它的开发社区有着不好的名声,因为他们对有些事情的看法依然根深蒂固。你开发了一些诸如 ASP.NET MVC、LINQ、F# 这样的好东西出来,结果让这个垃圾东西把它们都毁了。如果微软打算推出这种产品,就需要坚决地和专业开发人员工具保持距离,并要讲清楚这个东西不适合专业开发人员使用。创建一个独立的爱好者部门,而不是像这样让两者的界限模糊不清。

Jason Zander,Visual Studio 部门的集团副总裁,回复 Neil Robbins 道:

LightSwitch 不是用来代替 Visual Studio Professional 或你用其构建的应用程序。它擅长于快速生成应用程序。这类工具生成的应用程序就是面向 3 层架构的,直接构建于.NET 的一些基础功能上(总之,很多代码在之前都需要自己编写),而且你能够在自己编写的代码中使用如 LINQ 这样的高级语言特性。在前面的博文中,我提到,它并不是适用于任何开发人员或任何应用程序,不过对于某些应用程序来说就非常适合。

Joe Feser 希望LightSwitch 不会带来和 Access 在过去所具有的同样问题

我在一个现存的 Access 应用程序上奋斗了 13 年。当一个非技术人员参与进来的时候,他们就奇怪一个原本需要一个星期完成的界面就只需要 4 个小时了。

希望这个东西不会创建类似 Access 的服务器端游标。至少,他能迈向正确的方向。

更可悲的是,我半多要使用它转化一个拥有 50-100 个窗体的 Access 应用程序,只为了让这些功能脱离 Access 并获得适当的源代码控制功能。

LightSwitch 紧随着WebMatrix的发布而到来,其是另外一个皆在简化 Web 应用程序创建的微软解决方案。这两个解决方案的不同之处在于:WebMatrix 是面向于具有 HTML 用户界面的 HTML/ASP.NET Web 应用程序;而 LightSwitch 是生成 Silverlight LoB 应用程序。

【译者注:关于 LightSwitch 的中文介绍,可以参看这里。】

查看英文原文:Microsoft Aims Its Latest Tool, LightSwitch, at Professionals. Is it a Tool for Pros?

.NET微软语言 & 开发