첫 번째는 성능입니다. Node.js의 성능이 생각보다 좋지 않은 것 같습니다. 메모리 사용량은 Ruby와 거의 같은 수준이며 Python 및 PHP보다 높습니다. 컴퓨팅 성능(즉, CPU 사용량) 측면에서는 순수 컴퓨팅이 큰 장점은 없지만 비동기 프로세스를 잘 제어할 수 있기 때문에 전체적인 성능은 PHP보다 훨씬 좋습니다. 개인적으로 저는 Node.js가 성능 측면에서 큰 잠재력을 가지고 있다고 생각합니다. 왜냐하면 주요 브라우저와 같은 JavaScript 가상 머신의 성능 향상을 위한 대규모 프로젝트가 많기 때문입니다. 동시에 JavaScript는 간단한 구문과 언어를 사용하는 언어입니다. a 개방형 표준은 Python, PHP와 달리 호환성 문제로 인해 성능 향상을 위한 대대적인 재구성이 어렵습니다.
그리고 패키지 관리자와 라이브러리가 있습니다. Node.js에는 npm이 내장되어 있습니다. 왜냐하면 npm은 사용하기 매우 쉬운 패키지 관리자이기 때문입니다. end 라이브러리가 백엔드로 포팅되어 이제 NPM의 패키지 수가 PyPI 및 RubyGems의 패키지 수를 초과하고, Node.js 개발에서 PHP와 다른 점 중 하나는 다음과 같습니다. 아무도 종속성을 추가하는 것을 두려워하지 않으며 모든 작은 요구 사항은 NPM에서 찾을 수 있습니다. 이를 구현하는 기존 라이브러리가 있으며 종종 찾을 수 있습니다. 따라서 Node.js의 개발은 기본적으로 종속성을 결합한 다음 작은 독립 요구 사항이라도 라이브러리에 작성하는 경향이 있습니다. 이는 UNIX 아이디어와 더 유사합니다. 반면에 Node.js 커뮤니티는 오픈 소스에 매우 친화적입니다. 여기서 친화적이라는 것은 대부분의 라이브러리가 Github에서 개방적이고 개발되었으며 "오픈 소스"가 아닌 MIT와 같은 매우 느슨한 프로토콜을 사용한다는 것을 의미합니다. GPL. 공격성.
커뮤니티에서는 대부분의 Node.js 애플리케이션이 여전히 웹 백엔드이고, 웹 백엔드 관련 라이브러리는 기본적으로 TJ를 중심으로 express, jshttp, jade, mocha, koa 등 몇몇 대기업이 제작하고 있었습니다. 리더를 중심으로 4~5명이 개발한다는 것은 흥미로운 현상이다. ——Master TJ는 마침내 Node.js 커뮤니티에서 사라지기로 결정했지만.
도구 체인인 Node.js는 비교적 젊으며 지난 2년 동안 사전 컴파일된 방언, 단위 테스트 및 시뮬레이션 테스트, 빌드 도구 등과 같은 많은 유용한 도구가 나타났습니다. 얼마나 좋은지 말할 수 없습니다. 그렇습니다. 하지만 PHP보다 훨씬 나아야 합니다. 그 이유는 우선 이러한 라이브러리가 프런트엔드와 백엔드 모두에 사용될 수 있기 때문입니다. 웹 프런트엔드의 엄격한 요구사항으로 인해 Node.js가 이점을 누리기 때문입니다. , JavaScript의 유연하고 간단한 구문으로 인해 이러한 도구 라이브러리는 매우 영리하고 우아한 방식으로 이를 수행할 수 있습니다. IDE의 경우 여전히 웹 프런트 엔드의 이점을 누리고 있으며 일부 IDE를 사용할 수 있습니다. 하지만 JavaScript 언어 자체는 정적 분석에 그다지 도움이 되지 않습니다.
문법, JavaScript의 구문이 간단하고 유연하다는 점을 다시 강조하고 싶습니다. 중요한 점은 JSON이 웹 분야에서 거의 가장 일반적인 데이터 형식이며 JavaScript는 JSON을 기본적으로 지원한다는 것입니다. JavaScript의 모든 데이터 구조는 배열, 함수, 개체 및 클래스를 포함하여 JSON의 상위 집합인 개체를 중심으로 이루어집니다. 물론 이것도 문제가 되는데, 글쓰기에 제한이 거의 없어서 어떻게 써야할지 모르겠어요. 처음 배우기 시작할 때 장점과 단점을 이해하기 위해 반복적으로 리팩토링을 해야 했습니다. 다양한 상황에서 다양한 디자인 패턴을 찾아보고 적합한 패턴을 찾는 것은 Node.js를 시작하기 쉽다고 할 수 있지만 대규모 프로젝트를 구축하려면 여전히 개발자의 기술을 테스트해야 합니다. 역사적 문제로 인해 JavaScript의 구문은 아름답지 않습니다. 그러나 다행스럽게도 Coffee Script, TypeScript, Dart, LiveScript 및 ClojureScript와 같은 사전 컴파일된 다양한 방언이 있으므로 항상 귀하에게 적합한 방언이 있습니다.
사용 시나리오, JavaScript는 일반적인 프로그래밍 언어이므로 웹의 프런트엔드와 백엔드에 대해 이야기할 필요가 없습니다. 개인적으로 Node.js는 서버 도구나 운영 및 유지 관리 도구를 작성하는 데 여전히 매우 적합하다고 생각합니다. 운영 및 유지 관리에 있어서 많은 상황이 비동기적으로 작동할 수 있고 JavaScript는 비교적 좋은 정규 지원을 제공하므로 교체하는 데 큰 문제가 되지 않기 때문입니다. bash 및 Python. ; Node.js만 설치하면 종속성이 발생할 염려 없이 부담 없이 사용할 수 있습니다. 데스크톱 및 모바일 장치 프로그래밍의 경우 Node.js에는 node-webkit 및 기타 다양한 셸이 있지만 현재 사용자 경험은 그다지 좋지 않지만 개발 비용을 크게 줄일 수 있고 플랫폼을 쉽게 넘나들 수 있습니다.
마지막으로 Node.js를 배우는 것에 대해 이야기해 보겠습니다. 제 생각에는 Node.js를 배우는 데에는 두 가지 포인트가 있습니다. 하나는 Node.js의 "이벤트 콜백 기반 비동기 IO"를 명확히 하는 것입니다. Node.js와 기타 주류 프로그래밍은 언어와 관련하여 가장 다릅니다. 그런 다음 두 번째 단계는 NPM의 상위 100개 라이브러리를 모두 살펴보는 것입니다. 자세히 읽을 필요는 없으며 각 라이브러리에 대해 잘 알고 있어야 합니다. 축하합니다. 이 두 단계를 완료하면 이미 Node.js 개발자가 되셨습니다.