STEP2-2. 게임 서버 트랙에서 자바스크립트를 학습하는 이유
Node.js 란 무엇인가요?
- V8엔진(크롬 V8 Javascript)으로 빌드된 javascript 런타임. 즉 javascript를 서버측에서도 실행할 수 있게 해주는 플랫폼. 런타임: 특정 언어로 만든 프로그램들을 실행할 수 있는 환경
Node.js의 장점
- 비동기, 논블로킹 I/O 모델로 많은 요청을 동시에 처리할 수 있다.
- javascript로 클라이언트와 서버 모두를 사용가능하기에 코드 일관성이 있다.
Node.js의 단점
- 싱글스레드의 한계
- 싱글스레드로 동작하기에 복잡한 CPU 연산작업은 서버 성능을 저하시킬 수 있음. (비디오 처리, 대규모 데이터 처리 같이 CPU를 많이 사용하는 작업을 위한 서버로는 권장하지 않음.)
- 콜백 문제
- 비동기 작업이 많아질 수록 콜백이 중첩되어 코드 가독성이 떨어짐. 처리방법이 없는건 아니지만 비동기 코드 작성에는 주의가 필요.
그 외에도 많은 장단점이 있지만 현 단계에서 모르는 부분이 많다보니 이해가 안되어 생략
Node.js 로 게임 서버를 만든다면 어떤류의 게임에 적합한가요?
- 카드/보드게임, 채팅 게임, 턴제 게임?
This post is licensed under CC BY 4.0 by the author.