誕生
Ryan Dahl は 2009/3/3 のこのコードコミットで、殻の中の NodeJS プロジェクトを node と命名しました。从此、世界に Node.js が 1 つ増えました
2009
-
npm(Node package manager)を議論:First very early preview of npm, the Node package manager
-
初の公開講演:Ryan Dahl's (Creator of Node.js) Original Node.js Talk
Package Manager は最初に考慮すべきことで、コード复用の問題を解決することを目的としています:
There are a lot of very useful modules out there, but it's tricky right now to actually use more than one of them together.
一連のモジュール定義規範を通じて复用を実現し、目標は:
-
宣言しやすく公開しやすい:package を定義して公開するのが非常に簡単
-
インストールしやすく引用しやすい:オープンソースモジュールを簡単に引用でき、多くの package メタ情報を提供する必要がなく、インストール後にその機能を非常に簡単に引用できる
-
すぐに使用可能:package のバージョン、検証、設定、インストール位置などは気にする必要がなく、可用性に明らかな影響を与えないすべての問題は先送りすべき
-
集中管理:同じ package を共有し、維持管理に便利
迄今(2019/6/29)まで、npm は依然としてこれらの特徴を持ち、早期の設計によって決定されたものです
同年、Ryan Dahl は JSConf で Node.js に関する初の公開講演を行い、外に出ていこうと試みました
2010
-
Express 誕生:Express: A Node.js web development framework
-
Socket.io 誕生:Socket.io initial release
-
Heroku が Node.js サポートを提供:Experimental Node.js Support on Heroku
-
2 回目の公開講演:Ryan Dahl's Google Tech Talk on Node.js
-
Node.js v0.2.0 をリリース:Node.js 0.2.0 released
Express と Socket.io は生態発展の必然的な産物で、Express は Node.js 生態の中で最も資格の古い Web 開発フレームワークとして、今でもいくつかの代替困難な優勢を持っています(例えば成熟信頼できる生態サポートなど)
Heroku は Node.js に実験的なサポートを提供し、これは外に一歩踏み出したことを意味します。同時に、一方では推廣(Google Tech Talk)、一方では継続的に進化(v0.2.0 をイテレーション)
2011
-
初心者チュートリアルが登場:Node.js Guide
-
フォーラムを開設:Ryan Dahl's AMA on Reddit
-
npm が正式にリリース:npm 1.0: Released
-
初心者チュートリアル電子書籍が登場:The Node Beginner Book, an introduction to Node.js, is now complete
-
本番使用に投入:LinkedIn uses Node.js
-
Node.js の物語を語る:Ryan Dahl talks about the history of Node.js and why he created it
-
もう 1 つの大型企業が使用開始:Node.js in production at Uber
一連の初心者チュートリアルの登場は、みんなが Node.js の(学習)価値を発見したことを意味し、その後 LinkedIn、Uber が次々に船に乗ったことはこれを裏付け、Node.js が正式に本番使用に投入されたことを示し、重要なマイルストーンと言えます
Node.js 誕生 2 年後、その Package Manager がようやく正式に面世し、npm と呼ばれます。最後に Node.js インストールパッケージに統合され、Node モジュール管理の事実上の標準になりました:
Ultimately I included NPM in the Node distribution, which much made it the defacto standard.
同時に、Reddit フォーラム、Youtube で物語を語る方式を通じてコミュニティと連動し、より多くの思想を集めました
2012
-
創始者が離脱:Node.js creator Ryan Dahl steps away from Node's day-to-day
-
Node.js v0.8.0 をリリース:Node.js v0.8.0 [stable] is out
-
商用ソリューションフレームワークが登場:Hapi, a Node.js framework
libuv をリファクタリングした後、Node.js コア部分はほぼ完成し、創始者 Ryan Dahl は功成り名遂げて退き、決定権を npm の創始者 Isaac Schlueter に渡しました
Node.js 発展が成熟に向かうもう 1 つの標識は、生態の中に企業向けソリューションが登場したことです。例えば Hapi:
hapi is a simple to use configuration-centric framework with built-in support for input validation, caching, authentication, and other essential facilities for building web and services applications.
2013
-
CMS が登場:Ghost: Blogging with Node.js
-
生態技術スタック組み合わせのベストプラクティスが登場:The MEAN Stack: MongoDB, ExpressJS, AngularJS and Node.js
-
メモリ問題が露呈:Node.js Memory Leak at Walmart
-
PayPal が Express 類似フレームワークをオープンソース:PayPal releases Kraken, a Node.js framework
-
過激派 Web 開発フレームワークが登場:Koa - Web framework for Node.js
MEAN 組み合わせプラクティス、Web 開発フレームワークの更新、CMS の登場はNode.js 生態発展が百花繚乱の段階に入ったことを意味します
別の側面では、企業シーンでの大規模応用に伴い、Node.js 自身のいくつかの潜在的な問題も徐々に露呈しました。例えば メモリ管理
2014
-
再びバトンを渡す:TJ Fontaine takes over Node project
-
顧問委員会を設立:Node.js Advisory Board
-
Netflix が船に乗る:Node.js in Flame Graphs - Netflix
_Node.js は再びバトンを渡し*、プロジェクト中で常に重要な役割を果たしてきた Timothy J Fontaine が引き継ぎました
同年、Joyent 公司(Node.js 創始者が所属する会社で、Node.js 商標を所有)は顧問委員会の設立を提案し、完全開放から自治に向かうつもりでした:
As the community becomes more complex, it is important that we find ways to balance the needs of all constituents and provide a platform for these organizations to come together and to provide input into the project.
これは発言権が開放的なオープンソースコミュニティから、Node.js を使用している数社の大手企業(Joyent、Netflix など)の手に移ることを意味します:
Previously, Node.js was run via mailing lists, GitHub issues, and anyone could contribute their idea. This idea started getting some hate because it brought control away from your average, everyday contributor and moved the power to the "big shots": companies such as Walmart, Yahoo, IBM, Microsoft, Joyent, Netflix, and PayPal.
この措置はオープンソースコミュニティの強い抵抗を招き、そのため IO.js を fork し、完全開放のコミュニティ駆動モードで急速に発展し続けました:
This repository began as a GitHub fork of joyent/node where contributions, releases, and contributorship are under an open governance model.
至此、Node.js は初めて分裂に向かいました
2015
Q1
-
IO.js が率先して 1.0 に向かう:IO.js 1.0.0
-
Node.js 財団を設立:Joyent Moves to Establish Node.js Foundation
-
IO.js と Node.js が和解:IO.js and Node.js reconciliation proposal
この 1.0 バージョンへの競争レースは IO.js の勝利で終わりました。続いて、顧問委員会中の数社の大手企業が联手して Node.js 財団を設立し、コミュニティ駆動の開放管理模式を支持する態度を表明しました:
Joyent, IBM, Microsoft, PayPal, Fidelity, SAP and The Linux Foundation Join Forces to Support Node.js Community With Neutral and Open Governance, Resources for Developers
紧接着オープンソースコミュニティはこれに応え、和解を提案しました。管理模式上の衝突がすでに消除されたためです
Q2
-
npm がプライベートモジュールをサポート:npm Private Modules
-
3 代目リーダーが離脱:Node lead TJ Fontaine is stepping down and leaving Joyent
-
IO.js が Node.js に合流:Node.js and io.js are merging under the Node Foundation
Node.js 財団設立後不久、3 代目リーダー TJ Fontaine が離脱を宣言し、財団とコミュニティに管理を委ねました:
It's because of this strong team, community, and the formation of the Foundation that it makes it the right time for me to step back.
紧接着、和解の後、IO.js が Node.js に合流し、分裂から統一に向かいました
另外、npm はプライベートモジュールサポートも提供し、Github プライベートリポジトリ に類似し、商用へのサポートと言えます
Q3
IO.js が合流した後、Node.js は真の意味での 1.0 バージョンを迎���、[バージョン帝](/articles/windowslinux 下 node 更新/#articleHeader1) は正式に混乱した 0.x から 4.x 時代に入りました
Q4
-
初の LTS をリリース:Node v4.2.0, first Long Term Support release
-
新メンバーが財団に加入:Apigee, RisingStack and Yahoo join the Node.js Foundation
-
Node Interactive 大会:Node Interactive
最初の LTS バージョンをリリースし、Node.js が安定リリース段階に入ったことを示しました
同時に、Yahoo、RisingStack などの大手企業も次々に財団に加入し、Node.js 建設に共同で参加しました。此外、初めての Node Interactive 大会も開催され、Node.js の本番での応用価値を共有しました
2016
Q1
1 つの騒がしいニュースは leftpad 事件 で、npm 設計/管理上のいくつかの問題を露呈しました:
This hasn't been the first time that members of the community have disagreed over a name. In a global namespace for unscoped modules, collisions are inevitable. npm has a package name dispute resolution policy for this reason. That policy encourages parties to attempt an amicable solution, and when one is impossible, articulates how we resolve the dispute.
另外、Express はインキュベートプロジェクト(incubated project)に組み込まれ、Node.js 財団の技術サポートを受けることになります:
The Node.js Foundation Incubator Program was launched last year. Projects under the Node.js Foundation Incubator Program receive assistance and governance mentorship from the Foundation's Technical Steering Committee and related working groups. The Incubator Program is intended to support the many needs of Node.js users to maintain a competitive and robust ecosystem.
同時に、Google も Node.js 財団に加入し、隊伍はますます壮大になりました
Q2
npm 登録ユーザーが 21 万人を突破し、その中で 7 万多人が package をリリースしました。npm はすでに相当庞大なものになり、Node.js 生態の中で代替不可能な役割を果たしています
Q3
-
npm 新任 CTO:CJ Silverio becomes the CTO of npm
-
欧州初の Node Interactive 大会:[The first Node Interactive in Europe](https://medium.com/ @nodejs/news-from-the-node-js-ecosystem-6141bb3b2f10)
npm の変化も Node.js の発展に関係し、統合インストールパッケージのように一緒にバインドされています。另外、2 回目の Node Interactive 大会が欧州で開催されました
Q4
Yarn が時機よくリリースされ、npm クライアントの強化版と言えます:
The product of that work is called Yarn — a fast, reliable, and secure alternative npm client.
サーバーサイドは引き続き npm registry を使用し、これは揺るぎません
初の LTS バージョン(v4.2.0)に続き、v6.0 が 2 番目の LTS バージョンになりました。同時に、IBM、Microsoft などの巨頭が発力を始め、Node.js を 8.0 バージョンに押し上げました
另外、引き続き狂ったように会議を開催し、3 回目の Node Interactive は北米で開催されました
2017
Q1
-
開発者認証計画を起動:Node.js Certification Program to be launched by the Node Foundation
-
NASA が船に乗る:NASA's Node.js Case Study Released
Node.js の高速発展は業界の伝統的な技術スタックに衝撃を与え、企業が直面する人材スキル問題を解決するために、Node.js 財団は開発者認証計画を推出し、認証を受けた開発者が Node.js 開発能力を備えることを期待しています
NASA が船に乗ったことは*「Node.js が天に上がった」*ことを示しました……冗談ですが、大型企業が船に乗ることはもはや珍しくありません
Q2
-
v8.0 をリリース:What's new in Node 8
-
N-API サポート:N-API: Next generation Node.js APIs for native modules
-
財団新任リーダー:[Mark Hinkle becomes the new executive director of the Node Foundation](https://medium.com/ @nodejs/hello-im-mark-hinkle-the-new-executive-director-of-the-node-js-foundation-ask-me-anything-86a5f5417619)
Node.js v8.0 がリリースされ、巨頭の発力は一段落し、最も重要なのは N-API サポート でしょう:
This API will be Application Binary Interface (ABI) stable across versions of Node.js. It is intended to insulate Addons from changes in the underlying JavaScript engine and allow modules compiled for one version to run on later versions of Node.js without recompilation.
コミュニティ + 財団の開放管理模式下では、財団がリーダーを交代することは、顧問委員会を設立したような大きなことではなくなりました
Q3
-
ネイティブで HTTP2 をサポート:HTTP2 Arrives into the Node.js Core
-
初の Node.js 調査報告書:The Node.js Survey of 2017 Released
-
新しい V8 エンジンを迎える:A new V8 is coming, Node.js Performance is Changing
-
新しい V8 エンジンを搭載:Node.js 8.3.0 is now available shipping with the Ignition + TurboFan execution pipeline
-
再び分裂に向かう:Node.js Forked Again Over Complaints of Unresponsive Leadership
特性は継続的にイテレーションし、最新の V8 エンジンを借りて一波の性能向上を得ました
もう 1 つ注目すべきことは、Node.js 財団下の TSC(Technical Steering Committee、技術指導委員会)の実行力問題のため、Node.js は再び分裂に向かいました(新しい fork は Ayo と呼ばれ、IO.js を念じています)
Q4
-
初の公式発展現状報告書:Node.js State of the Union 2017
-
8.x が安定段階に入る:Node.js 8 Moves into Long-Term Support and Node.js 9 Becomes the New Current Release Line
-
引き続き狂ったように会議を開催:Node.js Interactive 2017 Vancouver
-
npm アカウントセキュリティ向上:Two-factor authentication & read-only tokens arrive to npm
公式報告書から見ると、Node.js はすでに相当大規模な応用に達しました:
Every day there are more than 8.8 million Node instances online, that number has grown by 800,000 in the last nine months alone. Every week there are more than 3 billion downloads of npm packages. The number of Node.js contributors has grown from 1,100 contributors last year to more than 1,500 contributors today.
同時に、v8.9.0 が 8.x の初版 LTS になり、安定段階に入りました
另外、npm は安全性でも一歩前進し、アカウント 2 要素認証をサポートしました
2018
Q1
-
ケース展示を集める:[Announcing The Node.js Application Showcase](https://medium.com/ @nodejs/announcing-the-node-js-application-showcase-9fbaaa3e4824)
-
JS Interactive 大会を創立:[Introducing JS Interactive: An Event for the JavaScript Ecosystem](https://medium.com/ @nodejs/introducing-js-interactive-an-event-for-the-javascript-ecosystem-a60811194b54)
財団はサイトを設立して Node.js 応用ケースを集め、Application Showcase を参照:
Amazing apps, products and projects built with Node.js
別の側面では、Node.js と JavaScript は密接不可分であるため、一緒に会議を開催することにしました。JS Interactive と呼びます
Q2
-
HTTP2 push 特性をサポート:Node.js can HTTP/2 push!
-
10.x を開始:The Node.js Project Introduces Latest Release Line: Node.js 10.x
-
npm 6 をリリース:Announcing npm @6
-
3 番目の年間調査報告書をリリース:Third Annual Node.js User Survey Data Now Available
npm 6 は安全面でより多くのことを行い、セキュリティ問題のある package に対していくつかの管理措置を講じました。例えば npm audit
HTTP2 などの最先端特性も継続的に推進され、ユーザー調査も止まらず、Node.js 応用トレンドに注目しています
別の側面では、8.x 時代が終わり、10.x に入り、V8 エンジン v6.6 を搭載することを期待しています
Q3
-
Node.js 創始者が 10 の後悔を語る:Ryan Dahl: 10 Things I Regret About Node.js
-
Google App Engine が Node.js デプロイをサポート:Now, you can deploy your Node.js app to App Engine standard environment
-
LTS 跨ぎの N-API サポート:N-API: Next generation APIs for Node.js native addons available across all LTS release lines
9 年後、Node.js の創始者 Ryan Dahl は Node.js の 10 の設計ミスを指摘しました。Promise API の追加と削除、セキュリティ問題、GYP ビルドシステム、package.json 入口フィールド、node_modules 構造などを含みます
振り返って見ると、npm 上の大量のケースは、バージョン跨ぎ(6.x から 10.x)の N-API サポートが実際に実践意義があることを示しています
Q4
-
会議、狂ったように会議:Node+JS Interactive 2018 Videos released
-
10.x が LTS を迎え、11.x が日程に上がる:[October Brings Node.js 10.x to LTS and Node.js 11 to Current!](https://medium.com/ @nodejs/october-brings-node-js-10-x-to-lts-and-node-js-11-to-current-ae19f8f12b51)
-
ES Module を再計画:ECMAScript modules in Node.js: the new plan
実験的サポート(Node.js 8.5.0 (2017-09-12))に続き、正式な ES Module サポートがようやく議題に入りました
2019
Q1
-
Node.js 各作業グループを紹介:Introducing Node.js Working Group Series: From Security to Performance
-
nodejs.dev がオンライン:Node.js Selected by Google for .dev Top Level Domain Early Access
-
Node.js Foundation + JS Foundation = OpenJS Foundation:[Introducing the OpenJS Foundation: The Next Phase of JavaScript Ecosystem Growth](https://medium.com/ @nodejs/introducing-the-openjs-foundation-the-next-phase-of-javascript-ecosystem-growth-d4911b42664f)
-
会議の準備:[Now Open! Call For Papers for Node+JS Interactive 2019](https://medium.com/ @nodejs/now-open-call-for-papers-for-node-js-interactive-8ee1a9e20b2e)
初めて財団内部の作業メカニズムを紹介し、さらに公開透明にしました。紧接着、Node.js 財団と JS 財団が合併し、OpenJS 財団を設立しました
Q2
-
新しい実験的 ES Module サポートを迎える:[Announcing a new --experimental-modules](https://medium.com/ @nodejs/announcing-a-new-experimental-modules-1be8d2d6c2ff)
-
npm 人事変動:Nice People Matter? NPM may stand for Not Politely Managed – job cuts leave staff sore
-
Node.js 創始者が deno を起動:Ryan Dahl: Deno, a new way to JavaScript
-
Node.js 12 をリリース:[Introducing Node.js 12](https://medium.com/ @nodejs/introducing-node-js-12-76c41a1b3f3f)
-
npm のオープンソースと盈利の矛盾:The Economics of Open Source by C J Silverio
Node.js 創始者が再度出発し、より良い Node.js を再構築することを希望しています。つまり deno です:
A secure JavaScript/TypeScript runtime built with V8, Rust, and Tokio
同時に、Node.js は実験的な ES Module サポートを強化し、動的導入(import())などを含み、V8 エンジンバージョンアップグレードと ES 特性サポートに伴い、12.x イテレーションに入りました
另外、npm は経営上でいくつかの変化があり、一波の人事変動が発生しました。Node.js の発展に関係する可能性があります:
The actual concern I have is that the JavaScript package manager and language commons are in the hands of a VC-funded company, which may or may not be having financial trouble, If they're not okay, this is something the entire JavaScript language community needs to pay attention to now.
Node.js 言語の発展と盈利性質の npm 会社が一緒にバインドされているため、一直以来都是个隐患:
The JS package commons is in the hands of a for-profit entity. We trust npm with our shared code, but we have no way to hold npm accountable for its behavior. A trust-based system cannot function without accountability, but somebody still has to pay for the servers. How did we get here, and what should JavaScript do now?
参考資料
-
["I regret…" says the creator of Node.js and dawn of Deno](https://medium.com/ @balramchavan/i-regret-says-the-creator-of-node-js-and-dawn-of-deno-fb2b1d3fa554)
コメントはまだありません