IO.jsまたは古いソースと新しいソース





「それは起こった! Node.jsはio.jsのフォークとして開発されました! こんにちはES6! こんにちは、新しいV8!」開発者は喜んだ。 ゼロから始めて、彼らが根本的な妨害を修正したことを期待して見るのは役に立ちました!



どのような根本的な間違いが行われ、それらの修正がなければ産業規模が物議を醸すか、単に達成不可能である理由。 理解できるように、これは恐怖の記事ではなく、助けを求めるものです。 ノードは指数関数的に停止し、このプロジェクトにのみ希望があります。



下位互換性



いいえ、node.jsとの互換性に関するものではありませんが、エンジンコアの「次の」更新後に何かが落ちないという保証がないということです。 多くのメソッドが非推奨と見なされても、Javaはそのような保証を提供しますが、コンパイラはわいせつに見えますが、Java 2で記述されたコードは7番目と8番目の両方で動作し、さらに。 または、パスはC ++およびGCC:依存する標準を示すコンパイルです。 また、ドキュメントレベルでの保証も一部ありません(以下を参照)

多くのプロジェクトは、後方互換性が失われたため、人気を失い、「燃え尽き」ました。 彼女の一部は「左」です。

これは、開発プラットフォームであるエンジンにとって重要です。



コンパイル済みモジュール



コンパイルされたモジュールは素晴らしいものです! しかし、それは非常に危険であり、悲しいことに、(アセンブリに関して)不安定であり、プラットフォームに依存することさえあります。 したがって、「コンパイルされたライブラリを持つモジュールを回避する」などのパッケージマネージャのチェックだけでは十分ではありません。 私が善を与えるなら、彼らにさせてください。 しかし、何があるかを知る必要があります。

amd64で簡単にビルドできるものはWindowsでビルドできない場合があり、展開が機能しません。

これは、クロスプラットフォームとしての地位を確立し、すべてを実行するプラットフォームを追跡する必要性から開発者を引き離すエンジンにとって重要です。



ドキュメント



ドックは大幅に改善されていますが、一部の場所にはまだ穴があります(FS、Zlib、...)。 メソッドと機能の列挙はドキュメントではなく、そのドラフトです。

引数、それらの型、コールバック関数で返される引数と型、コールバックを呼び出す前に「投げ出される」致命的なエラーはすでに文書化されています。 グルがこのリストに追加できると思います。

ドキュメントの欠如は、エンジンの作者と開発者がすべてがそうであるという不確実性を示しているという事実に特に注意を払う必要があります。 したがって、これが変更されないこと、引数のタイプと順序が変更されないことなどの保証はありません。

多くの開発者が使用するプロジェクトでは、特に例外的なケース(ソケットのフリーズ、ネットワークファイルのオープンなど)で動作を確認する時間がありません。



不安定なメソッドとモジュール



fs.watch



に直面したfs.watch



は、私が話していることを理解するでしょう。 これにより、実行モードが始まります。このモードでは、すべての実行可能コードが、不安定なメソッドやモジュールを使用するモジュールまたはスクリプトをチェックして出力します。 不安定性を回避できるパターンがありますので、ドキュメントのいくつかの注釈で見たいと思います。

信頼性を重視するプロジェクトにとって重要です。



おわりに



名刺サイト、小さなオンラインストア、チャットルーム、フォーラムをリベットする必要がある場合、Node.jsに何が欠けているのかは明確ではありません。 ただし、 USS Enterpriseの場合、両方のエンジンは良いスコアには適していません。 IO.jsはすでにプロについて書かれており、さらに最近ではエンジン開発について書かれているので、間違いなくそれらを考慮する必要があります。

エンジンが開発中であり、積極的に提案を受け入れていることを考えると、コミュニティがIOjsの強化に役立つことを願っています。



All Articles