Javascript作为托管动态.net语言

时间:2012-01-21 10:58:55

标签: javascript .net visual-studio programming-languages extensibility

Visual Studio语言可扩展性

是否有人知道是否有一个开源(或付费)项目使用托管Javascript 扩展Visual Studio作为服务器端.net语言,因此它被编译为IL并作为日常.net执行应用

我们习惯了Javascript的动态特性,因为C#4.0也支持dynamic我没有看到任何特殊原因导致Javascript无法用作Visual Studio中的服务器端.net语言。我相信很多人会很乐意使用它。虽然它可能会在Asp.net应用程序中混淆,因为两端都使用相同的语言。但是可以通过文件扩展名来解决文件扩展名。 服务器端文件不应使用* .js 扩展名(客户端JavaScript),而应使用 .ssjs (服务器端JavaScript)。

实际上它会像 node.js 应用程序一样,但代码行数较少,并且手头有完整的.net功能。

那不是很棒吗?

在互联网上可以找到什么

  • 托管JScript - 这似乎正是我所追求的,但是有几个消息来源称这是一个死的项目;因为它是关于DLR(动态语言运行时)的实验;
  • MyJScript - 只是如何编写DLR编译器的教程,巧妙地使用Javascript / JScript作为语言
  • JScript.NET - 这不完全像Javascript(它扩展了我认为不好的原始语法),而且它还seems to be a long dead project(根据@grapeot)。

3 个答案:

答案 0 :(得分:2)

您知道IronJS吗?

JScript.NET

他们可能会尝试这样做。

另一方面,人们可能会问为什么J#.NET没有成功。它旨在让熟悉Java的人更容易过渡到.NET,但显然他们不想这样做。也许是因为c#太相似了,但是这也适用于c#和Javascript,因为你提到了动态的存在。

答案 1 :(得分:1)

您可能对Jscript.NET [MSDN] [Wiki]感兴趣。请注意,它是在2000年左右首次推出的。有些人声称微软在.NET 4中有一个改进的编译器,而有些人声称它已经停止了this post讨论。

在Mono中,它是CLR的一个开源实现,它们支持JavaScript作为一种工作语言,称为IronJS。 [ref]

答案 2 :(得分:0)

微软已经推出了TypeScript,它可以编译为Javascript。但是,还没有在.NET运行时上部署Typescript或Javascript应用程序。 Javascript和Smalltalk的一个关键语言特性是块闭包(一种灵活的匿名函数,在方法中内联定义)。 .NET DLR不支持此功能。有解决方法,但没有一个完整的框架来显示.NET上的Javascript(或Amber Smalltalk,编译为Javascript)应用程序

微软聘请了Smalltalk虚拟机专家(D. Simmons)为他们的IE浏览器工作。我希望专业知识能够渗透到.NET

有人必须努力吗?在.NET上部署Amber Smalltalk应用程序会非常棒