マジセミドライブ

ウェビナー関連のニュースやITサービス&ツールの最新情報を随時配信します。

OSS情報

2020.01.01

【OSS情報アーカイブ】NW.js

【OSS情報アーカイブ】NW.js

※当記事に記載されている情報は、古くなっている場合があります。オフィシャルサイトで最新情報をご確認ください。

「NW.js」とは

基本情報

概要

NW.js(エヌダブリュージェイエス)とは、HTML/CSS/JavaScriptで書かれたWebアプリケーションを、デスクトップ(Windows/Mac/Linux) 向けにパッケージングし、ネイティブアプリケーションとして実行するためのクロスプラットフォーム実行環境です。(「node-webkit」から「NW.js」に改名されました。)

基本説明

オープンソースブラウザ「Chromium」とサーバサイドJavaScriptアプリケーションプラットフォーム「Node.js」をベースにしています。

HTML5+CSS3+JavaScriptで、Windows/Mac/Linuxにて動作するネイティブGUIアプリケーションを作成できます。

課題

アプリファイルサイズ
アプリのファイルサイズが大きくなります。「Webkit」をすべてバンドルするため、シンプルなアプリケーションでも数十MBになります。

すべてのネイティブ機能を使用できるわけではない
用意されているAPIが限られているため、APIにないネイティブ機能を実装したい場合、対象OSに合わせて何らかの実装方法を検討する必要があります。

モバイルアプリには未対応
モバイルアプリには対応していません。

「NW.js」と「Electron」の方向性の違い

同様な仕組みを提供するものとして「Electron」があります。「NW.js」も「Electron」も「node.js」+「WebKit」ですが、方向性が異なります。

「NW.js」はChromium寄りです。既存ウェブアプリに「node.js」の機能を追加する方向性です。既存Webサイトのデスクトップアプリ化に向いています。しかし、複雑な処理を追加することには向いていません。

「Electron」は「Node.js」寄りです。「node.js」のプログラムから「WebKit」を呼び出す方向性です。1からクロスプラットフォームアプリケーションを開発することに適しています。

経緯

Intel社によって開発されています。

元々は「node-webkit」という名称でした。2015年1月に「NW.js」に改名されました。

主な特徴

ランタイムをバンドル

ランタイムをバンドルするため、さまざまな環境で同じコードが実行できます。

Webブラウザレンダリングエンジン「Webkit」をアプリケーションにバンドルすることで環境ごとの動作の差異を最小限に抑えます。

「Adobe AIR」のHTML5版というイメージです。

OSネイティブ機能を実行

Webアプリケーションからは通常アクセスできない各OSネイティブ機能へアクセスするAPIも順次公開されています。

Node.jsの資産を活用できる

膨大に蓄積されているNode.jsの資産を活用できることも大きなメリットです。

同様製品(概要情報)

同様な機能を提供する製品として、次のようなものがあります。

オープンソース製品:「Electron」など。

導入事例

PayPalなどでの導入事例が有名です。

ライセンス情報

NW.jsのライセンスは、「MIT License」です。このライセンスに従うことを条件として、ソースコードの改変と公開が許可されています。

ダウンロード

ダウンロードページ

※定期的にメンテナンスを実施しておりますが、一部情報が古い場合がございます。ご了承ください。

この記事のタグ一覧

おすすめの記事

【AIツール実験室】チャットAI対抗「添削能力」選手権🏆

AIツール実験室

2023.12.27

【AIツール実験室】チャットAI対抗「添削能力」選手権🏆

各チャットAIの「添削能力」について比較確認をしています。 「ChatGPT4と同等の添削能力を発揮した無料チャットAI」にご注目ください。 また、 ChatGPTカスタマイズ機能「GPTs」を利用して作成した GPTs文章添削機能「添削師匠さん✍️」を紹介しています。 課金勢は試しに使ってみてください。

AIツール関連 記事リストポータル

AIツール

2023.10.05

AIツール関連 記事リストポータル

AI 関連の記事をまとめたポータルページです。

【IT用語解説】「 デジタルヒューマン 」とは😊

IT用語解説

2024.01.26

【IT用語解説】「 デジタルヒューマン 」とは😊

【IT用語解説】「 デジタルヒューマン 」として、「デジタルヒューマンとは何か?」「どのようにして作成できるのか?」「私たちの世界にどのような影響を与えているのか?」などについて、まとめています。