目前我们使用jQuery为我们的应用程序添加RIA优势,但最近我们一直在我们的Sharepoint门户中实现Coveo搜索引擎,并发现ScriptSharp用于他们的产品。 ScriptSharp可以带来什么?
答案 0 :(得分:23)
我正在使用ScriptSharp,大约2-3周前发现它。老实说,我喜欢它。原生Javascript是一个挑战,DOM模型使客户端编程更加糟糕。然后我在六个月前发现了jQuery,我认为这是天赐之物。 jQuery提高了我的工作效率,但是我仍然经常使用jQuery陷入困境,因为你仍然需要编写和调试并调整Javascript。
输入ScriptSharp。它提高了我对jQuery的工作效率,极大地减轻了我的头痛。我能看到的最大优点是,当您编写代码时,C#和Visual Studio的强大功能属于您的。这种功能无法低估。现在,在编译时, 消除了过去花费数小时调试的琐碎的小Javascript错误。 代码行可能是jQuery的两倍,但生产率是那么高,所以谁在乎?你基本上只是编写代码,编译/测试/调试周期少得多。小时变成分钟。
我会说最初让ScriptSharp与Microsoft AJAX一起工作是一件非常困难的事情,直到我了解到你必须采取的非常重要的步骤才能使用它。在我知道这件事之前,我把头发拉了几天。 (我相信这是在ScriptSharp的61页PDF自述文件中记录的,但它非常很容易掩盖它。)关键是选择项目类型“网站内的脚本#类库”(或者在创建ScriptSharp库时“网站内的MS Ajax类库”。这将ScriptSharp项目放在网站的Bin / Scripts目录中,并且 - 非常重要 - 将编译后的输出定向到该目录而不是默认的“bin” “ScriptSharp项目的目录。也许一个例子是有益的:
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网站仍在那里。
答案 1 :(得分:17)
在我上一家公司,我非常广泛地使用了Script#。我设法写了一些很酷的控件(实际上是一个完整的客户端MVC堆栈),我不能用我的javascript知识完成。但是,由于几个原因我不会再使用它
js的工具只会越来越好,直到Script#开源,它才处于停滞状态。
如果您对交叉编译感兴趣,还可以查看http://jsc.sourceforge.net/项目,该项目允许您使用.net 3.5并编译为JS,Java,Flash甚至PHP!不确定产生的代码效率如何......
编辑:有一个名为JSIL的新项目,它还将.net代码重写为JS
答案 2 :(得分:8)
jsc编译器项目支持以下场景:
通过一些努力,Visual Basic也可以用作源语言。即使GWT和Script#这样做,jsc编译器也永远不会读取你的源代码。我的编译器读取你的IL。
jsc编译器
最新的示例是等离子动画,可以在这些平台之间使用single implementation:
(来源:sourceforge.net)
答案 3 :(得分:3)
Script sharp Prototype: Microsoft’s GWT
根据这个页面:
我不确定我是否同意所有这些,但无论如何这都是销售宣传。看起来它类似于一些OO功能。意见如下:正如我在其他时候提到的,Java和C#开发人员似乎想要抛弃Javascript的原型/非类型化方面,因为他们对编写代码的方式感到不舒服。无类型的原型语言有其自己的位置。
答案 4 :(得分:0)
我想分享我的脚本#jQuery包装器类。您现在可以在Script#项目中访问和使用jQuery的强大功能。