2020.11.24
デジタルエンジニアリンググループの宮﨑です。
最近、 IoT 関連の仕事で Node-RED をさわる機会が増えてきており、そんな中で Node-RED で外部の API を使用する機会がありました。
ところがその API は、C++ や .NET 系はサポートしているのですが、残念ながら Javascript は非対応の状態です。
なんとかして Node-RED とその API をつなぐ方法はないかと調べて見たところ、 Node.js と .NET をいい感じに結びつけてくれる Edge.js というライブラリがありましたので、今回はそれをご紹介します。
Node.js や Node-RED って何じゃい!?って方もいらっしゃるでしょうが、そこから説明しだすととても長くなってしまうので、またの機会にさせていただこうと思います。
この Edge.js ですが、 Javascript のオブジェクトを .NET 環境に投げたりその逆もできるので、うまく使いこなすと結構便利だったりしそうです。
私の開発環境が Windows なので、今回は Windows に絞って説明をさせていただきます。

※今回は、Edge-js をインストールするのですが、この記事の公開時点で Edge-js がサポートしている環境は以下の通りです。
npm を使って Edge-js をインストールします。
![]()
C# で Hello <文字列>を返す処理を作成し、 Javascript から引数 World を渡して C# 関数をコールします。

作成したスクリプトを実行してみましょう。

うまいこと、実行してくれましたね。
つぎは、C# の関数を外に出してみましょう。 .cs ファイルに C# のコードを書きます。

Javascript 側は、 .cs ファイルを指定して関数をコールします。


これもバッチリです。
さすがに C# のソースコードを公開したくないって場合もありますよね。
そんなときは C# 側で DLL を作成して、 JavaScript から参照します。
下記のコードをビルドして、 DLL を作成します。

この DLL を参照してコールする Javascript 。

これも、うまく実行できましたね。
ということで、 Node.js から C# を実行できました。
では、最後に、 Node-RED で C# を実行する方法のご紹介です。
Node-RED で Edge-js を使用するには、 setting.js に、 require(‘edge-js’) を追記する必要があります。

Node-RED では、 function ノードに Javascript のコードを書きます。


Node-RED で処理を書くのは、後々の管理が大変だったります。
処理の部分を C# などで書いてあげれば、管理の面でも拡張の面でもおすすめです。
Node-RED を使っているという方がいれば、ぜひ使ってみてください。

2026.11.09
3度訪れても、また行きたくなる五島列島・福江島。初めて訪れたときは、夜行フェリーの窓から夜の海や島々の港を眺め、到着まで胸を弾ませていました。透き通る海と白い砂浜、断崖に立つ灯台、祈りの歴史を伝える教会など、旅の思い出とともに、私がひかれた島の魅力をご紹介します。
2026.11.02
長年続いてきた商習慣や人事制度を、「当たり前」と受け入れていないでしょうか。今回は、IT業界の多重下請け構造と役職定年制度について考えます。技術者を育て、顧客に提供する価値を高めること。当社の取り組みも交えながら、中小企業が生産性向上と賃上げを両立するために、見直すべき課題をお伝えします。
2026.10.26
便利な音声入力アプリを、社内のみんなにも使ってほしい。でも、全社員分の利用料を考えると導入をためらってしまう――。そんな課題をきっかけに、AIエージェントを使って独自のアプリを作ってみました。いきなりコードを書かせず、まずは課題と設計を整理することからスタート。実装やテスト、不具合の修正を経て、1日である程度使える形になるまでの進め方を紹介します。「作るか、買うか」を考えるヒントになる開発体験記です。
2026.10.19
南極へ向かう船の中は、どうなっているのでしょうか?14年ぶりに門司港へ寄港した南極観測船「しらせ」の一般公開に行ってきました。間近で見る全長138mの船体の迫力や、甲板・艦橋などの見学を通して、遠い南極での活動がぐっと身近に。街では南極の氷や石の展示、しらせのレシピを使ったカレーも楽しめるなど、寄港を歓迎する催しが行われました。見学で印象に残ったことや、周辺イベントの様子をご紹介します。