1. Javascript 이란?
Javascript란 웹 개발을 위한 프로그래밍 언어로 브라우저에서 실행되는 동적이고 인터랙티브한 웹페이지를 만들기 위해 사용되는 언어이다.
객체기반, 동적 타입을 가지며 이벤트와 비동기 처리를 지원한다.
Javascript는 HTML 및 CSS와 함께 웹 개발의 3대 핵심 기술 중 하나로 웹 애플리케이션, 서버 사이드 개발(Node.js), 모바일 애플리케이션 개발 등 다양한 분야에서 널리 사용된다.
2. Javascript 프레임워크 알아보기
1. Express.js (Node.js를 위한 경량의 웹 애플리케이션 프레임워크)
- 특징
1. 경량 및 유연성 : 최소한의 기능을 제공하며 필요한 경우 다양한 미들웨어를 통해 기능을 확장할 수 있다.
2. 빠른 성능 : 매우 가볍고 빠르게 실행된다.
3. 라우팅 : HTTP 메서드 및 URL에 따라 다양한 라우팅 방법을 제공한다.
4. 미들웨어 : 요청 및 응답 객체를 처리하는 미들웨어를 쉽게 추가하고 구성할 수 있다.
5. 템플릿 엔진 지원: 다양한 템플릿 엔진(Pug, EJS 등)을 지원한다. - 장점
1. 단순함 : 간단하고 직관적인 API로 인해 빠르게 배우고 사용할 수 있다.
2. 유연성 : 프로젝트 요구 사항에 맞게 자유롭게 커스터마이징 할 수 있다. - 단점
1. 구조 부족: 프로젝트의 구조를 개발자가 직접 정의해야 해서 대규모 애플리케이션에서는 유지보수가 어려울 수 있다.
2. 기능 제한: 기본 제공 기능이 적어 다양한 기능을 구현하기 위해서는 추가적인 미들웨어나 라이브러리를 사용해야 한다.
3. 비동기 코드 처리: 비동기 코드 작성을 위해 콜백이나 Promises를 사용해야 하며 복잡한 비동기 작업에서는 코드가 지저분해질 수 있다.
2. Nest.js (TypeScript를 기반으로 한 Node.js 프레임워크)
- 특징
1. 모듈식 구조 : 모듈을 통해 기능을 분리하여 구조화된 애플리케이션을 개발할 수 있다.
2. 데코레이터 : TypeScript의 데코레이터를 활용하여 의존성 주입, 라우팅 등을 쉽게 설정할 수 있다.
3. 의존성 주입 : 강력한 의존성 주입 시스템을 제공하여 코드의 테스트 가능성과 재사용성을 높인다.
4. TypeScript 지원 : 기본적으로 TypeScript를 사용하여 강력한 타입 체킹과 최신 JavaScript 기능을 활용할 수 있다.
5. 다양한 아키텍처 패턴 지원 : MVC, 이벤트 기반 패턴 등 다양한 아키텍처 패턴을 지원한다. - 장점
1. 구조화된 개발 : 모듈, 컨트롤러, 서비스 등을 통해 잘 구조화된 코드를 작성할 수 있다.
2. 확장성 : 대규모 애플리케이션에서도 유지보수가 쉽고 확장 가능한 구조를 제공한다.
3. 많은 기능 : 다양한 기본 제공 기능과 데코레이터를 통해 개발 생산성을 높인다.
4. TypeScript 통합 : TypeScript와의 깊은 통합으로 더 안전하고 오류가 적은 코드를 작성할 수 있다. - 단점
1. 학습 시간 : Express.js보다 더 복잡하고 방대하여 학습하는 데 시간이 걸릴 수 있다.
2. 오버헤드 : 작고 간단한 애플리케이션에서는 불필요한 복잡성과 오버헤드가 발생할 수 있다.
3. 추가 설정 요구 : 초기 설정과 구성 단계가 더 복잡하여 작은 프로젝트에서는 과할 수 있다.
'사전캠프' 카테고리의 다른 글
개발 용어 정리 (17개) (0) | 2024.07.11 |
---|---|
게임 서버 트랙에서 자바스크립트를 학습하는 이유 (0) | 2024.07.10 |
게임 서버의 역사 알아보기 [ 서든어택 바탕(FPS) ] (0) | 2024.07.03 |
게임 서버 트랙을 신청한 이유 (0) | 2024.07.01 |