【问题标题】:Should I use LightSwitch for big scale project我应该将 LightSwitch 用于大型项目吗
【发布时间】:2014-03-07 17:51:43
【问题描述】:

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

  1. 具有大量 CRUD 屏幕的基本 HR 模块
  2. 仓库管理,您可以将设备运送到其他仓库或分配给项目或人员。
  3. 采购订单系统没有任何计费。
  4. 用于管理每个项目的工单的基本项目管理系统。

为我创建 CRUD 屏幕需要很长时间。而且采购系统也只有一个审批系统。

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

我的问题:

  1. 将 LS 用于我上面描述的应用程序是否很好
  2. 我想我需要为 LS 付费,但我找不到好的信息。我应该购买哪种产品。视觉工作室终极版?
  3. 如果 LS 在我开发的某些步骤中对我来说不够用,我可以使用带有 LS 的 asp.net mvc 框架。

【问题讨论】:

  • 好吧,你不需要 Ultimate,许多功能都可以被外部模块替换。从 Pro 开始,如果需要,升级到 Premium。没有比 VS 更好的环境了。
  • Pro 和 Premium 之间是否缺少 LS 的功能?你说“没有比 VS 更好的环境”是什么意思。 ?你推荐LS还是推荐我去用ASP.net MVC
  • LightSwitch 是 Visual Studio 2013 的软名称,与版本(pro、prem、ult)无关,因此它不是一种编程技术。但我建议你为你的项目使用 MVC 和可能的实体框架,你会喜欢的。
  • 我已经使用 EF 和 MVC 4 一年了,但正如我所说,我在创建 CRUD 屏幕时遇到了一些时间问题?如果我不选择 LS 应用程序,您对我有什么建议,以加快 creatin CRUD 屏幕的速度。
  • 嗯,这取决于你在哪里浪费时间,什么样的操作或者是 GUI?

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


【解决方案1】:

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

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

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

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

4) 您的应用程序不需要超级指定的 UI。如果您有注重细节的人,他们想要所有的东西就这样,那么您将遭受一些痛苦。请记住,它适用于从 iPhone 浏览器到 1080p 显示器上的 IE11 的所有内容,因此试图使其在任何地方都达到像素完美是不会发生的(也不应该发生)。不仅如此,如果 LS 不为你做,一些“显而易见”的事情就很难做到。例如,将下拉列表绑定到查询结果集以进行过滤需要做一些事情。

5) 熟悉 jQuery[Mobile] 并且完全习惯于阅读和编写函数风格的 javascript。

6) 你愿意戳戳JavaScript,基本上是半盲操作。 LS HTML5 的文档并不是那么好……您基本上必须阅读散布在各处的示例代码并弄清楚如何适应它,而且并不总是清楚 LS 希望您如何做事,并且以错误的方式执行它们会导致代码看起来有效,但会出现一些微妙的问题。绑定过程不是很好:它可以完美地工作,除非它没有,而当它没有时,通常不清楚原因。 Intellisense 很少能很好地工作(可以理解,所以...Javascript 是一种糟糕的静态分析语言)。

一般来说,除非它非常适合 LS,或者您可以让 LS 稍微推动您的需求,或者您是高级 javascript 的高手,并且喜欢您的 API 中的一个小谜团并且生活在边缘,我如果您有其他合理的选择,现在会说传递 HTML5。

至于 SilverLight 版本……耸耸肩。从技术上讲,我没有意见,但就长期解决方案而言,SilverLight 将不再可行。

我会说 LS 的部署非常棒...直接进入 IIS。

【讨论】:

    【解决方案2】:

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

    我喜欢使用正确的工具来获得正确的解决方案。 CRUD 屏幕真的很痛苦,因此我对 LS 很感兴趣。为此,它很好,最好用于简单的 CRUD 表单数据解决方案,例如您的 HR 模块。我将它用于一个简单的用户访问和维护应用程序。与传统编码相比,它有点转变,因为它主要是一个基于配置的 WYSIWIG 框架,在某些情况下可以添加自定义代码。造型既棘手又痛苦,但您可以找到专门用于此的在线资源。如果您准备花时间学习 LightSwitch,那么从长远来看,如果将来构建许多 CRUD 应用程序,您可能会节省一些时间。

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

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

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

    【讨论】:

    • Lightswitch 是关于业务规则和例外的。
    猜你喜欢
    • 2010-10-18
    • 2017-07-21
    • 1970-01-01
    • 2015-08-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多