>  기사  >  웹 프론트엔드  >  nodejs는 무엇을 하나요?

nodejs는 무엇을 하나요?

藏色散人
藏色散人원래의
2021-09-01 11:52:1626176검색

nodejs는 서버 측에서 JavaScript를 실행할 수 있는 오픈 소스 크로스 플랫폼 실행 환경입니다. Node.js는 Google에서 개발한 V8 실행 코드를 사용하고 이벤트 기반, 비차단 및 비동기 입력 및 출력과 같은 기술을 사용합니다. 성능을 향상시키고 애플리케이션의 전송 볼륨과 크기를 최적화하는 모델입니다.

nodejs는 무엇을 하나요?

이 기사의 운영 환경: Windows 7 시스템, nodejs 버전 10.16.2, DELL G3 컴퓨터.

nodejs의 기능은 무엇인가요?

Node.js는 서버 측에서 JavaScript를 실행할 수 있는 오픈 소스 크로스 플랫폼 운영 환경입니다. Node.js는 OpenJS Foundation(이전의 Node.js Foundation, JS Foundation과 합병됨)이 소유하고 관리하며 Linux Foundation의 프로젝트입니다. Node.js는 Google에서 개발한 V8 실행 코드를 사용하고 이벤트 기반, 비차단 및 비동기식 입력 및 출력 모델과 같은 기술을 사용하여 성능을 향상시키고 전송량과 애플리케이션 규모를 최적화합니다. 이러한 기술은 일반적으로 데이터 집약적인 실시간 애플리케이션에 사용됩니다.

Node.js 대부분의 기본 모듈은 JavaScript 언어로 작성되었습니다. Node.js가 등장하기 전에는 JavaScript가 클라이언트측 프로그래밍 언어로 주로 사용되었으며, JavaScript로 작성된 프로그램이 사용자의 브라우저에서 실행되는 경우가 많았습니다. Node.js의 등장으로 JavaScript를 서버측 프로그래밍에 사용할 수 있게 되었습니다. Node.js에는 프로그램이 Apache HTTP Server 또는 IIS 없이 독립형 서버로 실행될 수 있도록 하는 일련의 내장 모듈이 포함되어 있습니다.

nodejs 소개:

Node.js는 현재 매우 뜨거운 기술이지만 탄생 경험은 매우 이상합니다.

우리 모두 알고 있듯이 Netscape가 JavaScript를 설계한 지 불과 몇 달 만에 JavaScript는 실제로 프런트엔드 개발의 유일한 표준이었습니다.

이후 마이크로소프트는 IE를 통해 넷스케이프를 물리치고 데스크톱을 통합했다. 그 결과 브라우저는 몇 년 동안 아무런 진전을 이루지 못했다. (2001년에 출시된 고대 IE 6은 오늘날에도 여전히 사람들이 사용하고 있습니다!)

경쟁 없이는 개발이 없습니다. Microsoft는 IE6 브라우저가 이미 매우 완벽하고 개선의 여지가 거의 없다고 판단하여 IE6 개발 팀을 해체했습니다! 그러나 Google은 최신 웹 애플리케이션을 지원하는 차세대 브라우저가 이제 막 시작되었으며 특히 JavaScript 실행을 담당하는 브라우저 엔진의 성능이 10배 향상될 수 있다고 믿습니다.

먼저 Mozilla는 Netscape의 유산을 활용하여 2002년에 Firefox 브라우저를 출시했습니다. 그 후 2003년에 Apple은 오픈 소스 KHTML 브라우저를 기반으로 하는 WebKit 코어를 갖춘 Safari 브라우저를 출시했습니다. 맥 플랫폼.

이후 Google도 자체 브라우저를 만들기 시작했습니다. 그들은 또한 WebKit 코어를 활용하여 WebKit 코어를 기반으로 하는 Chrome 브라우저를 출시했습니다.

Chrome 브라우저는 Windows 및 Mac 플랫폼에서 작동하며, Google은 최신 웹 애플리케이션을 실행하려면 브라우저에 매우 강력한 JavaScript 엔진이 있어야 한다고 믿기 때문에 Google은 BSD 라이선스에 따라 오픈 소스라는 고성능 JavaScript 엔진을 자체 개발했습니다. .

최신 브라우저 전쟁으로 인해 Microsoft의 IE 브라우저는 가장 경험이 많고 전투에 효과적인 브라우저 팀을 해체했기 때문에 훨씬 뒤쳐졌습니다! 돌이켜보면 HTML5를 지원하는 WebKit이 휴대폰의 표준이 되었고 IE 브라우저는 이후 주류 모바일 장치에서 분리되었다는 사실을 발견했습니다.

브라우저 전쟁이 Node와 무슨 관련이 있나요?

Ryan Dahl이라는 사람이 있습니다. 그의 직업은 C/C++로 고성능 웹 서비스를 작성하는 것입니다. 고성능을 위해서는 비동기식 IO와 이벤트 중심이 기본 원칙이지만 C/C++로 작성하는 것은 너무 고통스럽습니다. 그래서 이 친구는 고급 언어로 웹 서비스를 개발하는 상상을 하기 시작했습니다. 그는 많은 고급 언어를 평가한 결과 많은 언어가 동기 IO와 비동기 IO를 모두 제공하지만 일단 개발자가 동기 IO를 사용하면 더 이상 비동기 IO를 작성하기에 너무 게으르지 않다는 것을 발견했습니다. 그래서 결국 Ryan은 자바스크립트를 목표로 합니다.

JavaScript는 단일 스레드에서 실행되고 동기 IO 작업을 전혀 수행할 수 없기 때문에 JavaScript의 이러한 "결함"으로 인해 비동기 IO만 사용하게 됩니다.

개발 언어가 선택되었으며 런타임 엔진도 필요합니다. 이 사람은 한때 직접 작성을 고려했지만 V8이 오픈 소스 JavaScript 엔진이기 때문에 현명하게 포기했습니다. Google이 V8 최적화에 투자하도록 하면 비용을 지불하지 않고 사용할 수 있도록만 수정해 드립니다. 이는 매우 비용 효율적인 거래입니다.

그래서 Ryan은 2009년에 Node.js라는 JavaScript 언어와 V8 엔진을 기반으로 하는 오픈 소스 웹 서버 프로젝트를 공식적으로 시작했습니다. 이름이 매우 촌스럽기는 하지만 Node는 처음으로 JavaScript를 백엔드 서버 개발에 도입했고, 이미 전 세계에는 수많은 JavaScript 개발자가 있었기 때문에 Node가 갑자기 인기를 얻었습니다.

다른 백엔드 개발 언어와 비교하여 Node에서 실행되는 JavaScript의 장점은 무엇입니까?

가장 큰 장점은 JavaScript의 자연스러운 이벤트 중심 메커니즘과 V8 고성능 엔진의 도움으로 고성능 웹 서비스를 쉽게 작성할 수 있다는 것입니다.

두 번째로, JavaScript 언어 자체는 완전한 기능적 언어입니다. 프론트 엔드 개발 중에 개발자는 종종 더 캐주얼하게 작성하여 사람들이 JavaScript를 "장난감 언어"라고 느끼게 만듭니다. 그러나 Node 환경에서는 모듈식 JavaScript 코드, 기능적 프로그래밍을 통해 브라우저 호환성 문제를 고려하지 않고 최신 ECMAScript 6 표준을 직접 사용하여 엔지니어링 요구 사항을 완벽하게 충족할 수 있습니다.

나도 io.js라고 들어봤는데 이게 대체 뭐지?

Node.js는 오픈소스 프로젝트이기 때문에 비록 커뮤니티가 주도하지만 뒤에서는 항상 Joyent Company의 자금 지원을 받아왔습니다. 개발자 그룹은 Joyent의 전략에 만족하지 않았기 때문에 2014년 Node.js 프로젝트에서 io.js 프로젝트를 포크하여 별도로 개발하기로 결정했지만 실제로 둘은 호환됩니다.

그런데 중국에는 "분열이 오래되면 뭉쳐야 하고, 뭉치면 오래되면 갈라져야 한다"는 옛말이 있습니다. 결별 후 얼마 지나지 않아 Joyent는 화해하고 싶다고 말했고, 이에 io.js 프로젝트는 Node.js로 돌아가기로 결정했습니다.

구체적인 접근 방식은 앞으로 io.js가 먼저 새로운 기능을 추가한다는 것입니다. 모두가 테스트에 만족하면 새로운 기능이 Node.js에 추가됩니다. io.js는 "얼리 어답터 버전"인 반면 Node.js는 온라인 안정 버전으로 Fedora Linux와 RHEL 간의 관계와 동일합니다.

추천 학습: "nodejs 비디오 튜토리얼"

위 내용은 nodejs는 무엇을 하나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.