BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Node-RED 2.0で新たにフローデバッガーとフローリンターを提供し、開発者エクスペリエンスを向上

Node-RED 2.0で新たにフローデバッガーとフローリンターを提供し、開発者エクスペリエンスを向上

ブックマーク

原文(投稿日:2021/08/04)へのリンク

IoT向けのローコードプログラミングツールNode-REDがバージョン2.0に至ったフローデバッガーフローリンターが提供されており、プログラマがフローのバグを見つける助けとなる。

Node-RED 2.0では主に、古いバージョンのNode.jsのサポートをなくし、多数の内部依存関係を更新することに重点を置いている。それでも、プラグインとして利用できる新しいフローデバッガーとフローリンターは、ほとんどの開発者にとって歓迎すべき追加機能だ。

Node-REDフローデバッガーでは、ノードポートにブレークポイントを設定し、設定されたポートで新しいメッセージが受信されるたびにフローを停止できる。これによって、キューに入り、処理を待機しているすべてのメッセージを検査できる。フローを一度に1つのメッセージで実行したり、キューに入ったメッセージを削除したりすることもできる。これができるのは、Node-REDが数年前に非同期になったことによるものであり、ゆえに、メッセージ処理の相対的な順序が直感的ではなくなっている。

現時点では、フローデバッガーは条件付きブレークポイントやキューに入ったメッセージの編集をサポートしていないが、両方とも開発中である。同様に、現在、ノードのサブセットのみを一時停止することはできないが、将来のリリースでできるようになる予定である。

nrlintと呼ばれるNode-REDフローリンターを使って、フロー内の潜在的な問題を特定できる。nrlintはルールを基に、HTTP Inノードの出力をどのHTTP Responseノードにも接続しない状態でいるといった、潜在的に誤った使用法を特定できる。nrlinteslintと統合することもできる。これは、フローにカスタムのJavaScriptコードが含まれている場合に有効である。

Node-REDリンターは、ブラウザーのWorkerスレッドを使い、その結果を別のサイドバーに表示する。これにより、注意が必要なフローの箇所にすばやく移動することもできる。あるいは、コマンドラインからnrliterを実行して、リンティングステップをCIパイプラインに統合することもできる。

まだ開発者エクスペリエンスの面では、Node-RED 2.0ではコードエディターのACEがMonacoに置き換わっている。Monacoは、Microsoft Visual Studio Codeで活用されているエディターエンジンであり、すべてのVisual Studio Code開発者がNode-RED 2.0を快適に使えるようになる。Monacoはデフォルトで有効だが、ユーザは必要に応じてACEに戻すことができる。

他にもNode-RED 2.0の注目すべき改善点がある。新たにnode-red admin initコマンドが追加されており、正しく構成された設定ファイルを簡単に作成できる。Functionノードから外部モジュールを呼び出すためのサポートが改善された。データの変更がないときにメッセージを破棄するために使用するReport By Exception(RBE)ノードは、デフォルトパレットの一部になり、より適切な意味のFilterという名前に変更された。

この記事に星をつける

おすすめ度
スタイル

BT