BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

Node.js和.NET相结合的项目Edge.js

| 作者 Jeff Martin 关注 17 他的粉丝 ,译者 廖煜嵘 关注 0 他的粉丝 发布于 2013年4月2日. 估计阅读时间: 4 分钟 | QCon上海2018 关注大数据平台技术选型、搭建、系统迁移和优化的经验。

Javascrip项目Node.js 现在可以在同一个进程中与.NET代码一起运行了,这得益于 Edge.js 项目(前身为owin)。跟IKVM 项目将Mono和.NET结合一样,Edge.js提出了 “两全其美”的方法将.NET和Node.js结合。这样开发者可以充分利用每种工具的优势去最大限度提高他们项目的效率。

Edge.js由Tomasz Janczuk创立,其目的在于让开发人员最大限度地发挥Node.js的威力,而不用使用非CLR的语言,如C/C ++。 Edge.js实现的方法提供了若干好处,包括在.NET中执行计算密集型的运算时不阻塞Node.js的事件循环。它也允许使用C#编写Node.js的插件去访问Windows平台的特定功能,而这些都无需使用C或者C++。
Node.js和Edge.js之间的连接是无缝的和相互的:Node.js的可以调用.NET方法,.NET代码也可以调用Node.js。Edge.js可以在运行时编译C#源代码,也可以在Edge.js运行前预编译。

InfoQ有幸和Janczuk探讨该项目并谈及他将来对Edge.js的计划:

InfoQ: 除了仅仅希望提供将C#Node.js结合外,还有什么特别的动机么?

Janczuk: “Edge.js致力于为开发人员提供一个在一定范围内根据任务特点选择使用技术的机会,而不是在整个应用中去选择。Edge.js基于一切都可以通过Node.js或者.NET去实现的前提,但某些具体的功能可能用其中一种技术更加适合。在Edge.js之前,开发人员必须在整个应用程序范围内选择是使用Node.js还是.NET。而有了Edge.js,开发人员可以根据他们应用中哪些部分更适合使用Node.js或.NET而作出选择。”

InfoQ: .NET的例子全部是使用C#Edge.js需要C#吗?如果需要的话,是否支持.NET平台中的其他语言?

Janczuk:“Edge.js允许.NET代码通过指定一个预编译的CLR程序集,或者在Node.js应用中包含.NET源代码的方法去和Node.js应用整合。Edge.js支持任何可以生成一个Func<object,Task<object>>委托的预编译程序集的CLR语言。当在Node.js应用中使用.NET代码时,Edge.js目前只支持C#。”

InfoQ:  在接下来的612个月项目的目标是什么?

Janczuk:“Edge.js计划使用相对较少的基本概念并保留规模小的组件就能在进程内整合.NET和Node.js。对于某些特定场景的功能(例如访问MS SQL、写Windows事件日志,或访问X.509证书存储区),会作为新的依赖于Edge.js的模块而提供,而不是扩大Edge.js本身的范围。Edge.js本身也有一些值得注意的计划,包括对Mono的支持,编译C#之外的CLR语言和在.NET进程中托管Node.js。”

InfoQ:   由于现在受雇于微软,那么将来这个项目依然是独立的项目呢还是在某些部分将来会正式成为微软的工具?

Janczuk: “虽然微软也拥抱开源技术,但到目前为止Edge.js并没任何计划要成为任何微软产品的一部分。”
Edge.js是一个在Apache许可协议2.0下的开源项目。Janczuk在其项目的主页上提供了项目概况,还包括样例代码以让开发者了解更多的信息。

查看英文原文Edge.js Combines Node.js with .NET


感谢姚琪琳对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ)或者腾讯微博(@InfoQ)关注我们,并与我们的编辑和其他读者朋友交流。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT