우선, 성능. 사용하면 Node.js의 성능이 예상만큼 좋지 않은 것처럼 느껴집니다. 메모리 사용량은 Ruby와 거의 같은 수준이며 Python 및 PHP 이상입니다. 컴퓨팅 성능 (즉, CPU 사용) 측면에서, 순수한 컴퓨팅은 그다지 이점이 없지만 비동기 프로세스를 잘 제어 할 수 있기 때문에 전체 성능은 PHP보다 훨씬 우수합니다. 나는 개인적으로 Node.js가 주요 브라우저와 같은 JavaScript 가상 머신의 성능을 향상시키는 데 전념하는 많은 대규모 프로젝트가 있기 때문에 성능에 큰 잠재력을 가지고 있다고 생각합니다. 동시에 JavaScript는 간단한 구문과 개방형 표준을 가진 언어입니다. Python 및 PHP와 달리 호환성 고려 사항으로 인해 성능을 향상시키기 위해 대규모 재구성을 수행하기가 어렵습니다.
그런 다음 패키지 관리자와 라이브러리가 있습니다. Node.js는 NPM이 내장되어 있습니다. NPM은 사용하기 쉬운 패키지 관리자이기 때문에 JavaScript는 쓰기 임계 값이 낮고 JavaScript에는 많은 우수한 프론트 엔드 라이브러리가있어 백엔드로 포팅 된 많은 우수한 프론트 엔드 라이브러리가 있으므로 이제는 PYPI 및 Rubygems보다 NPM에 더 많은 패키지가 있습니다. Node.js 개발에서 PHP와의 차이점은 모든 사람이 종속성을 추가하는 것을 두려워하지 않는다는 것입니다. 모든 작은 요구 사항은 NPM으로 이동하여 기존 라이브러리를 구현할 수있는 라이브러리를 찾을 수 있으며 종종 찾을 수 있습니다. 따라서 Node.js의 개발은 기본적으로 종속성 결합에 관한 것이며, 작고 라이브러리가 작아도 유닉스의 아이디어와 더 유사한 라이브러리를 작성하는 경향이 있습니다. 반면, Node.js 커뮤니티는 매우 오픈 소스 친화적입니다. 친절 함은 대부분의 라이브러리가 GitHub에서 공개적으로 개발되었으며 GPL만큼 "공격적"이 아닌 MIT와 같은 매우 느슨한 프로토콜을 사용한다는 것을 의미합니다.
커뮤니티에서 Node.js의 대부분의 응용 프로그램은 여전히 웹 백엔드에 있으며 웹 백엔드와 관련된 라이브러리는 기본적으로 몇 가지 큰 샷으로 만들어집니다. 예를 들어, Express, JSHTTP, Jade, Mocha 및 KOA는 TJ Masters가 이끄는 4 명 또는 5 명에 의해 개발되었습니다. 이는 흥미로운 현상입니다. - TJ 신은 마침내 Node.js 커뮤니티에서 사라지기로 결정했지만.
도구 체인, node.js는 비교적 젊고, 다수의 유용한 도구는 지난 2 년 동안 사전 컴파일 된 방언, 단위 테스트 및 시뮬레이션 테스트, 빌딩 도구 등과 같이 방금 나타났습니다. 나는 그것이 얼마나 좋은지 감히 말하지 않지만 PHP보다 훨씬 낫습니다. 그 이유에 관해서는, 첫째,이 라이브러리는 웹 프론트 엔드의 어려운 요구 때문에 Node.js에 혜택을주기 때문에 주로 프론트 엔드와 백엔드이기 때문입니다. 그런 다음 JavaScript의 유연하고 간단한 구문으로 인해 이러한 도구는 매우 영리하고 우아한 방식으로 구현할 수 있습니다. IDE는 여전히 웹 프론트 엔드의 혜택을 받고 있으며 여전히 일부 IDE가 있습니다. JavaScript 언어 자체는 정적 분석에 그다지 도움이되지 않습니다.
구문, JavaScript의 단순하고 유연한 구문을 강조하고 싶습니다. 중요한 점은 JSON, JSON이 현재 웹 필드에서 거의 가장 일반적인 데이터 형식이며 JavaScript는 JSON을 기본 지원한다는 것입니다! JavaScript의 모든 데이터 구조는 배열, 기능, 개체 및 클래스를 포함한 객체의 슈퍼 세트 주변에서 확장됩니다. 물론, 이것은 글쓰기에 제한이 거의 없기 때문에 문제가 발생하여 글을 쓰는 방법을 모릅니다. 처음 학습을 시작하면 다양한 상황에서 다양한 디자인 패턴의 장점과 단점을 이해하고 자신에게 적합하고 특정 프로젝트에 적합한 글을 쓰는 방법을 찾도록 필연적으로 리팩터링 할 수 있습니다. 따라서 Node.js는 시작하기 쉽지만 대규모 프로젝트를 구축하는 것은 여전히 개발자의 기술에 대한 테스트입니다. 역사적 문제로 인해 JavaScript의 구문은 아름답 지 않지만 다행히도 커피 스크립트, TypeScript, Dart, Livescript 및 Clojurescript와 같은 다양한 사전 통신 방언이 있습니다. 항상 당신에게 어울리는 사람이 있습니다.
시나리오 사용 시나리오, JavaScript는 일반적인 프로그래밍 언어이므로 웹의 전면 및 후면을 언급 할 필요가 없습니다. 다른 측면을 살펴 보겠습니다. 나는 개인적으로 node.js가 서버 도구 또는 작동 및 유지 보수 도구를 작성하는 데 여전히 적합하다고 생각합니다. 왜냐하면 운영 및 유지 보수의 많은 상황이 비동기 적으로 작동 할 수 있고 JavaScript는 비교적 정기적 인 지원이 좋기 때문에 Bash와 Python을 대체하는 것은 큰 문제가 아닙니다. Node.js는 통역사를 설치하면되며 종속성의 도입을 피할 두려움없이 자연스럽게 사용할 수 있습니다. 데스크탑 및 모바일 장치 프로그래밍의 경우 Node.js에는 Node-Webkit 및 기타 다양한 쉘이 있습니다. 현재 사용 경험은 그다지 좋지는 않지만 개발 비용과 쉽게 교차 플랫폼을 줄일 수 있습니다. 미래도 밝다 고 믿어집니다.
마지막으로 학습 node.js에 대해 이야기 해 봅시다. 제 생각에는 Learning Node.js에는 두 가지 점이 있습니다. 하나는 node.js의 "이벤트 콜백을 기반으로 한 비동기 IO"를 명확히하는 것입니다. 이것은 node.js와 다른 주류 프로그래밍 언어들 사이에서 가장 다른 지점입니다. 그런 다음 두 번째 단계는 NPM의 상위 100 개 라이브러리를 살펴 보는 것입니다. 자세히 볼 필요가 없습니다. 그것에 익숙하고 각 도서관이 무엇을하는지 알고 있습니다. 이 두 단계를 완료 한 후 축하합니다. 이미 Node.js 개발자입니다.