탄생
Ryan Dahl 는 2009/3/3 의 이 코드 커밋에서 껍질 속의 NodeJS 프로젝트를 node 로 명명했습니다. 이로써 세상에 Node.js 가 하나 더 생겼습니다
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
-
두 번째 공개 연설: 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
-
또 하나의 대형 기업이 사용 시작: 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 발전이 성숙을 향해 가는 또 하나의 표지는, 생태 중에 기업을 위한 솔루션이 등장한 것입니다. 예를 들어 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
하나의 시끄러운 뉴스는 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 의 발전과 관계있으며, 통합 설치패키지처럼 함께 바인드되어 있습니다.另外, 두 번째 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 이 두 번째 LTS 버전이 되었습니다. 동시에, IBM, Microsoft 등의 거두가 발력을 시작하여, Node.js 를 8.0 버전으로 밀어올렸습니다
另外, 계속 미친 듯이 회의를 개최하며, 세 번째 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 엔진을 빌려一波의 성능 향상을 얻었습니다
또 하나 주목해야 할 일은, 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
-
세 번째 연간 조사 보고서 릴리스: 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)
아직 댓글이 없습니다