[解決済み] Node.jsのLTS(Long Term Support)版とStable版の違いは何ですか?
質問
もともとの質問 Node.js 4.x の LTS (Long Term Support) ブランチと 5.x ブランチ (Stable と記載) の違いは何ですか?
しかし、これは6.xと7.x、そして将来的には8.xと9.xの違いを理解することにも同様に関連します。
一般的に、私は常に機能とパフォーマンスのために最新バージョンに傾きます (現在、私は多くの ES6 / ES7 を行っているため)。安定版ブランチがどの程度生産可能であるかについての情報はありますか?
どのように解決するのですか?
この違いを理解するためには、なぜNodeのLong Term Support (LTS) バージョンが存在するのかを理解する必要があります。
Node LTS は主に、頻繁な更新、広範な調達手続き、長いテストと品質要件に抵抗があるような企業での使用を目的としています。
Node LTS ワーキンググループのメンバーである Rod Vagg より。
Node の LTS 計画を確立することのポイントは、明確に定義された拡張サポートライフサイクルを持つ予測可能なスケジュールで新しいバージョンを提供することにより、既存の安定したリリースサイクルの上に構築することです。これは、オープンソースの伝統である「早くリリースし、頻繁にリリースする」ことと相反するように見えるかもしれませんが、企業のアプリケーション開発および運用チームにとって必要不可欠な要件なのです。また、Node.js の専門的なサポートを提供する企業にも影響を与えます。
https://medium.com/@nodesource/essential-steps-long-term-support-for-node-js-8ecf7514dbd#.za353bn08
コメントのひとつにあるNodeの公式投稿も、これを説明するのに良い仕事しています。
https://nodejs.org/en/blog/community/node-v5/
時々、奇妙なバージョン番号のリリース (v5, v7) は次の LTS リリースの "beta" であると誤解されることがあります。これは、他のプロジェクトでは使用されていますが、Node では使用されておらず、やや誤解を招きやすい慣習です。実際、次のLTSリリースは現在のバージョンの特定のポイントリリースから選ばれ、これは通常偶数バージョンのリリース(v6, v8)になります。最新バージョンがベータ版というわけではなく、LTS リリースはある組織が持つ特定のニーズを満たすものなのです。
参考までに、Firefox の Extended Support Releases を見てみましょう ( https://www.mozilla.org/en-US/firefox/organizations/faq/ ) や Ubuntu の LTS リリース ( https://wiki.ubuntu.com/LTS ). Firefox の最新版がベータ版であり、ほとんどのユーザーは古い ERS バージョンに固執するべきだと提案する人はいないと思います。
一般的に、もしあなたが最新の安定版および将来の Node リリースに追いつくことができるのであれば、そうすべきです。これらは安定版であり 生産準備 リリースであり、優れたコミュニティのサポートがあります。不安定で実験的な機能は、ビルドや実行時のフラグの後ろに置かれ、日々の運用に影響を与えないようになっています。
一般的に、私は常に機能とパフォーマンスのために最新版に傾きます(現在、私は多くのES6 / ES7を使用しているため)。
これは、安定版とそれ以降があなたのニーズによく合うことを示唆しています。これにより、基盤となる JavaScript エンジン (V8 または Chakra) が提供する最新かつ最高の言語機能にアクセスすることができます。
注意: v4 (およびそれ以前) と v5 の重要な違いは、v4 は npm v2 と一緒に出荷されるのに対し、v5 は npm v3 と一緒に出荷されることです。npm の v3 には、peerDependancies を処理する方法においてプロジェクトにとって壊れうる変更がいくつか含まれています。npm v3では、依存関係にあるものをできるだけフラットにインストールし、重複を避けようとするため、プロジェクトに影響を与える可能性がありますが、Windowsユーザーにとっては大きな恩恵であり、このことも意思決定に影響を与えるかもしれません。
関連
-
[解決済み] JavaScriptで "use strict "は何をするのか、その根拠は?
-
[解決済み] let "と "var "の使い分けは?
-
[解決済み] package.jsonのチルダ(~)とキャレット(^)の違いは何ですか?
-
[解決済み] callとapplyの違いは何ですか?
-
[解決済み] npm package.jsonファイルのdependencies, devDependencies, peerDependenciesの違いは何ですか?
-
[解決済み] Bowerとnpmの違いは何ですか?
-
[解決済み] Node.jsのmodule.exportsの目的と使い方を教えてください。
-
[解決済み] JavaScriptのnullとundefinedの違いは何ですか?
-
[解決済み] Angularjs - 現在の日付を表示する
-
[解決済み] なぜjavascriptのES6 Promisesはresolve後も実行を継続するのですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] JavaScriptで、ある文字列が別の文字列の中に出現するすべてのインデックスを見つけるにはどうすればよいですか?
-
[解決済み] WebStormで未解決の変数が大量にある場合の警告に対処する方法は?
-
[解決済み] 文字列が空白であるかどうかをチェックする
-
[解決済み] JavaScriptで:hoverのCSSプロパティを変更する
-
[解決済み] JavaScriptでの大文字小文字を区別しない正規表現
-
[解決済み] JavaScript のオブジェクトの配列を比較し、最小値/最大値を取得する
-
[解決済み] JavaScriptでjson-objectのキーを取得する [重複].
-
[解決済み] HTML要素にスクロールバーがあるかどうかをチェックする
-
[解決済み] JavaScript で css プロパティを使用して HTML 要素の背景色を設定する方法
-
[解決済み] JavaScriptの文字列プリミティブとStringオブジェクトの違いは何ですか?