我应该将LightSwitch用于大型项目吗?

时间:2014-03-07 17:51:43

标签: asp.net-mvc visual-studio-lightswitch

我正在开发一个项目,现在我正在使用asp.net MVC5。总而言之,这个应用程序有

  1. 具有大量CRUD屏幕的基本HR模块
  2. 仓库管理,您可以将设备运输到其他仓库或分配给项目或人员。
  3. 采购订单系统,无需任何结算。
  4. 基本项目管理系统,用于管理每个项目的工作人员。
  5. 为我创建CRUD屏幕需要很长时间。购买系统也只有一个批准系统。

    今天,我正在寻找LightSwitch并看一些视频。

    我的问题:

    1. 将LS用于上述
    2. 的应用程序是否合适
    3. 我想我需要支付LS,但我找不到好的信息。我需要购买哪种产品。 Visual Studio Ultimate?
    4. 我是否可以使用带有LS的asp.net mvc框架,如果在我的开发的某些步骤中LS对我来说是不够的。

2 个答案:

答案 0 :(得分:9)

根据我的经验,LightSwitch(没有任何第三方库的HTML客户端...... SL是EOL)是满足这些标准的不错选择:

1)您可以从头开始构建数据库,或者使用正确的密钥对数据库进行规范化。许多遗留DB不符合LS的要求(唯一密钥),迫使您编写WCF RIA服务以适应它。这会杀死很多RADness。

2)你没有庞大的数据集。 LS基本上尝试一次读取所有实体并缓存它们,并在内存中查询它。解决这个问题需要RIA服务,再次杀死RADness。

3)您的应用程序主要是CRUD或简单操作(批准,工作流类型的东西)。

4)您的应用程序不需要超级指定的UI。如果你有注重细节的人,他们想要一切就是这样,那么你将会遇到一些痛苦。请记住,它可以在1080p显示器上处理从iPhone的浏览器到IE11的所有内容,因此尝试在任何地方都能实现像素完美 - 也不会发生(也不应该)。不仅如此,如果LS不为你做的话,一些“明显的”事情很难做到。例如,将下拉列表绑定到查询结果集以进行过滤需要执行一些操作。

5)你熟悉jQuery [Mobile]并且非常舒服地阅读和编写功能丰富的javascript。

6)你愿意戳戳和刺激JavaScript,基本上是半盲的。 LS HTML5的文档并不是那么好......你基本上必须从这里和那里分散的示例代码中读取并找出如何调整它,并且并不总是很清楚LS如何要你做事,并且以错误的方式执行它们会导致代码看起来像它的工作,但会有微妙的问题。绑定过程并不是很好:它完美地工作,除非它没有,当它没有时,通常不清楚为什么。 Intellisense很少运作良好(可以这么理解...... Javascript是静态分析的不良语言)。

一般来说,除非它对LS来说非常完美,否则你可以让LS稍微提高你的要求,或者你是高级javascript的怪异人物,并且在你的API中有点神秘并且生活在边缘,我如果你有其他合理的选择,那么现在说传递HTML5。

至于SilverLight版本...... 耸肩。我在技术上没有任何意见,但就长期解决方案而言,SilverLight将不再具备可行性。

我会说LS的部署非常棒......毫不费力地直接进入IIS。

答案 1 :(得分:2)

我自己一直把LightSwitch看作是RAD(快速应用程序开发)的解决方案,大约2周了。我有VS 2012 Ultimate但必须下载Update 2(我认为)才能获得最新的HTML LightSwitch项目模板。请记住,LS有两种风格:默认的Silverlight解决方案,然后是后来更新中提供的HTML5 + jQuery版本。如果您的客户不喜欢插件,那么您必须使用HTML5路线。

我是使用合适工具获得正确解决方案的粉丝。 CRUD屏幕真的很痛苦,因此我对LS感兴趣。为此,它可以很好地用于简单的CRUD数据形式的数据解决方案,例如您的HR模块。我将它用于简单的用户访问和维护应用程序。它与传统编码有点不同,因为它主要是基于配置的WYSIWIG框架,在某些情况下可以添加自定义代码。样式是棘手和痛苦的,但你可以找到专门的在线资源。如果您准备花时间学习LightSwitch,那么如果将来构建许多CRUD应用程序,您可以节省一些时间。

话虽如此,MVC的脚手架功能还为您生成基本的CRUD控制器和视图。如果你已经在使用MVC,那么为什么要重新学习(在LightSwitch中)如何在MVC中轻松完成你已经熟悉的事情?

采购订单和PM类型系统通常充满业务规则和例外。我个人不会将LS用于此类应用程序。对于这种类型的开发,MVC更具可扩展性和可靠性...... IMO。

希望这会有所帮助。干杯。