20

目前我们使用 jQuery 为我们的应用程序添加 RIA 优点,但最近我们一直在将 Coveo 搜索引擎实施到我们的 Sharepoint 门户中,并发现在他们的产品中使用了 ScriptSharp。ScriptSharp 能带来什么?

4

5 回答 5

23

我们说话时我正在使用 ScriptSharp,大约 2-3 周前发现了它。老实说,我喜欢它。原生 Javascript 是一个挑战,而 DOM 模型让客户端编程更加糟糕。然后我在大约六个月前发现了 jQuery,我认为这是天赐之物。jQuery 提高了我的工作效率,但我仍然经常使用 jQuery,因为您仍然需要编写、调试和调整 Javascript。

输入 ScriptSharp。它比 jQuery 提高了我的工作效率,并极大地减少了我的头痛。我能看到的最大优势是 C# 和 Visual Studio 的强大功能在您编写代码时是您的。 这股力量不容小觑。现在,在编译时消除了过去需要数小时才能调试的琐碎的 Javascript 错误。 代码行数可能是 jQuery 的两倍,但生产力要高得多,所以谁在乎呢?您基本上只是编写代码,编译/测试/调试周期要少得多。小时变成分钟。

我会说最初让 ScriptSharp 与 Microsoft AJAX 一起工作是相当困难的,直到我了解到您必须采取一个非常重要的步骤才能使用它。在我知道这件事之前,我把头发拔了好几天。(我相信这在 ScriptSharp 的 61 页 PDF 自述文件中有记录,但容易掩盖它。)关键是选择项目类型“网站内的 Script# 类库”(或“MS Ajax 类库内一个网站") 创建 ScriptSharp 库时。这会将 ScriptSharp 项目放在网站的 Bin/Scripts 目录中,并且 -非常重要的是- 将编译后的输出定向到该目录,而不是 ScriptSharp 项目的默认“bin”目录。

Web Site or Application directory\
   Bin\ 
      Scripts\           <-- "..\\" config setting sends .js files here.
         ScriptSharp Project directory\
            Bin\         <-- will not be used at run time
               Debug\    <-- will not be used at run time

简而言之,我发现这个项目很有价值。我将编写我自己的 HOW-TO(在我的情况下涉及使用 Web 用户控件)关于如何将所有内容绑定在一起,并在此处发布一个 URL。现在我已经弄清楚了 ScriptSharp,它使我在 RIA 开发中的工作效率很高。如果它更明显,并且只有 CodePlex 站点仍然存在。

于 2009-04-25T15:46:40.183 回答
17

在我上一家公司,我非常广泛地使用 Script#。我设法编写了一些很酷的控件(实际上是一个完整的客户端 MVC 堆栈),这是我无法用我的 javascript 知识完成的。但是,出于几个原因,我不会再次使用它

  • 该项目是闭源的,支持不是很好(自从论坛关闭以来几乎不存在)。当您深入使用它时会有很多烦恼,如果您有来源,可以解决这些烦恼。您在 s# 代码上投入的资金越多,这就会成为一个越来越大的问题。
  • 它仅限于 .NET 2.0 的一个子集,即便如此,它也是一个泄漏的抽象
  • 最近 Javascript 单元测试和 VS intellisense for javascript 变得更好了,因此静态类型的重要性有所降低
  • 使用它限制了我对 jquery 和 javascript 的学习

js 的工具只会越来越好,直到 Script# 开源为止,它一直处于停滞状态。

如果您对交叉编译感兴趣,还可以查看http://jsc.sourceforge.net/项目,它可以让您使用 .net 3.5 并编译为 JS、Java、Flash 甚至 PHP!不确定生成的代码的效率如何......

编辑:有一个名为 JSIL 的新项目,它还将 .net 代码重写为 JS

于 2009-04-25T16:15:35.543 回答
8

jsc 编译器项目支持以下场景:

  • 用于浏览器的 C# 到 MSIL 到 JavaScript
  • 适用于 AppJet 的 C# 到 MSIL 到 JavaScript
  • C# 到 MSIL 到 PHP5 用于托管解决方案
  • 用于浏览器小程序的 C# 到 MSIL 到 Java
  • C# 到 MSIL 到 Java 的应用程序
  • C# 到 MSIL 到 Java for JavaCard
  • C# 到 MSIL 到 C99,用于本机存根应用程序
  • C# 到 MSIL 到 ActionScript3 for Flash 9
  • C# 到 MSIL 到 Adob​​e Alchemy C for Flash 9
  • C# 到 MSIL 到 C# 2.0

通过一些努力,Visual Basic 也可以用作源语言。即使 GWT 和 Script# 这样做,jsc 编译器也不会读取您的源代码。我的编译器会读取您的 IL。

jsc编译器是

  • 一个实验项目
  • 一个人的努力
  • 已经相当有用了。
  • 3岁。
  • 等待捐赠以优化编译时间和输出本身

最新的示例是等离子动画,其中可以在这些平台之间使用单个 实现:

闪光等离子
(来源:sourceforge.net

于 2009-04-26T08:27:13.070 回答
3

Script sharp Prototype:微软的 GWT

根据此页面:

  • 具有自然结构的干净语言。
  • 更容易重构和探索。
  • 生成文档的能力。
  • 能够轻松自定义脚本代码。

我不确定我是否同意所有这些,但无论如何这就是推销。似乎它带有一些 OO 功能。意见如下:正如我在其他时候提到的,Java 和 C# 开发人员似乎想要抛弃 Javascript 的原型/非类型化方面,因为他们不喜欢以这种方式编写代码。无类型的原型语言有它们的位置。

于 2009-04-25T13:38:12.677 回答
0

我想分享我的 Script# 的 jQuery 包装类。您现在可以在 Script# 项目中访问和使用 jQuery 的强大功能。

从这里获取: http ://www.springsys.com/blog/

于 2009-12-22T09:40:18.810 回答