Node.js + Chromium = AppJS:Web開発者の進化における2番目のステップの有望なオプションの1つ

ここで、最近の新しいツールの出現と関連する機会が、現代のWeb開発者が迅速に進化し、新しいレベルに移行し、新しい専門スキルを獲得し、創造的な仕事の新しい領域を開発する可能性をどのように開くかについて少しお話します。 そのようなツールはNode.jsとその成長するインフラストラクチャです。

Web開発者の進化の最初のステップは、開発者がNode.jsに精通 、すぐにサイトのスクリプトだけでなくコンソールアプリケーションも作成する機会を得るためにJavaScriptの知識を使用し、かなり簡単なNode APIを学ぶだけでよいことにすぐに気づいたときに行われます、さらにはサーバーのもの(特に、Webサーバーのもの)です。

歴史的に、これはそのようなツールの最初のものではありません。
私たちはそれぞれ、 Node.jsの前にjavascript( Windows Script HostRhinoJSDBなど)で便利なプログラミングのためのエンジンを作成しようとしたことを思い出すことができます。

ただし、Nodeでのみ、かなり高速なエンジン(V8)、クロスプラットフォーム、シンプルなAPI、および非常に多くの追加モジュールが表示されます 。 これらの利点の組み合わせにより、Nodeは成功し、便利になります。

Web開発者の進化における2番目のステップは、JavaScript言語(およびその他のWebテクノロジー-主にCSSおよびHTMLまたはXML)の知識を使用して、グラフィカルユーザーインターフェイス(GUI)を備えたアプリケーションを開発できる場合に発生します。

多くのメーカーは、Webに似たGUIアプリケーション開発ツールを作成しています。
ここでは、目的を達成するための成功した試行を数十回程度思い出すことができます。

Mozilla Foundationは、最初にXUL XULRunnerを発明し、次にオペレーティングシステム全体( Firefox OS)を発明しました

Hewlett-PackardはwebOS(最近ではOpen webOS )をリリースしました。

GoogleはGoogle Chrome OSを発明しました

また、QtにはJavaScriptベースのGUIマークアップ言語があり、 QMLが呼び出されることを思い出してください。

PhoneGapAppcelerator TitaniumAdobe AIR、およびその他のクロスプラットフォームのWebライクなプログラミングツールが開発されています。

上記のソリューションのいくつかは重要でした(たとえば、Webのようなアプリケーションを実行するために大きな仮想マシンや新しいオペレーティングシステムが必要な場合)。 ほとんどの場合、プログラマーはAPIを学ぶ必要があり、時には非常に不格好で恐ろしい(たとえば、XULRunnerのXPCOM)が、そのようなAPIが十分に洗練されていても、それを研究するのに手間がかかります。 彼がどのように知っているか、APIはより広範囲になります。

一方、彼の進化の最初のステップでWeb開発者がNode.jsからAPIを学ぶことができた場合、この知識に頼って将来何も学ぶことはできませんか?

Web開発者の進化の2番目のステップは、WebのようなアプリケーションのレイアウトとレイアウトがHTMLとCSSを使用して設定され、動作がJavaScriptを使用して設定され、有名なNode.jsエンジンが内部で機能する場合、最初のステップの自然な継続になります

特に、 AppJSを使用する場合、表示される「ページ」のオブジェクトモデル(DOM)にはwindow.nodeという名前のグローバルNode.jsオブジェクトが含まれ、 window.node.process.versions.nodeでNodeのバージョンを簡単に読み取ることができます。 window.node.process.arch-プロセッサアーキテクチャ、 window.node.process.platformで -プラットフォーム、およびグラフィカルアプリケーションのウィンドウにそのようなメッセージを表示します。

[スクリーンショット]

(同様に、 Node.jsの他の機能(ネットワーク、ファイルなど)を使用できることは明らかです。)

AppJSとは何ですか?

AppJSはNodeエンジンであり、そのモジュールの1つとして、Google ChromeブラウザーのWebKitエンジンが接続されています。つまり、無料版のChromiumから接続されています。 現在、ChromiumはCEF(Chromium Embedded Framework)の形式で使用されています。Dima_Sharihin 、Chromium を.NETに接続することについて十分に詳しく語っています。 ご覧のとおり、CEFは下部だけでなく、JavaScriptにもネジ止めできます。JavaScriptは、AppJSの作成者が管理しました。

現在、AppJSプロジェクトは開発の初期段階にあり、 バージョン0.1にはまだ達していません。Githubで利用可能なデモビルド0.0.19です。 コード例以外のドキュメントはありません。 ただし、オペレーティングシステムの下のgithubからデモアセンブリ(一種の「hello world」を含む)をダウンロードし、実行し、ソースコードとそのコメントを読み、変更を加えて、何を見るかは、今でもある程度AppJSの機能に慣れることができます。判明した。

このアセンブリでは、 data / app.js 」という名前の下に、メインアプリケーションウィンドウの設定を含むファイルがあります。 ウィンドウが作成されると、 data / content / index.html 」ページがロードされ、 window.nodeにアクセスしてNodeエンジンに到達できます

AppJSアプリケーションウィンドウには、Chromiumブラウザの多くの機能がありますが、ツールバー、ステータスバー、その他のブラウザインターフェース要素はありません。 特に、 Alt + F12を押してデバッグコンソールを取得できます。

AppJSは、 「-harmony」キーを使用してNodeエンジンを起動するため、アプリケーションにはV8で利用可能なECMAScript Harmony機能がすべて備わっています。

そのような有望なプロジェクトを見たので、もちろん、その開発がバージョン0.1になるのを待たなかった-その前に、おそらく、まだ何週間も何ヶ月も残っている-そして、私はHabrahabrの読者にできるだけ早くそれを知って急いだ。

追記。 JavaScriptを使用したGUIアプリケーションやNodeエンジンなど、Webの作成を目的としたプロジェクトはAppJSだけではありません。 おそらく将来的には、Habrahabrおよび他の同様のプロジェクトについてお話します。

追記。 そして彼 、node-webkit-AppJSよりもさらに有望に見えるプロジェクトについて 話しました。

Source: https://habr.com/ru/post/J153013/


All Articles