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

Web開発者の進化
の最初のステップは、開発者が
Node.jsに精通
し 、すぐにサイトのスクリプトだけでなくコンソールアプリケーションも作成する機会を得るためにJavaScriptの知識を使用し、かなり簡単なNode
APIを学ぶだけでよいことにすぐに気づいたときに行われます、さらにはサーバーのもの(特に、Webサーバーのもの)です。
歴史的に、これはそのようなツールの最初のものではありません。私たちはそれぞれ、
Node.jsの前にjavascript(
Windows Script Host 、
Rhino 、
JSDBなど)で便利なプログラミングのためのエンジンを作成しようとしたことを思い出すことができます。
ただし、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が呼び出されることを思い出してください。
PhoneGap 、
Appcelerator Titanium 、
Adobe 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で -プラットフォーム、およびグラフィカルアプリケーションのウィンドウにそのようなメッセージを表示します。
![[スクリーンショット]](https://habrastorage.org/storage2/00b/274/b13/00b274b13173b4a3ba902acdc33fb491.png)
(同様に、
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よりもさらに有望に見えるプロジェクト
について 話しました。