[주제]
- javascript 프레임워크 알아보기
[아티클 요약]
- 자바스크립트의 정의와 특징
- 자바스크립트 엔진
- 브라우저에서의 자바스크립트 기능
- 자바스크립트의 강점
- 자바스크립트 관련 언어
- 자바스크립트의 활용
- Express.js vs Nest.js
[인사이트] **
자바스크립트의 정의와 특징
- 웹페이지에 동적 기능을 추가하기 위해 만들어진 프로그래밍 언어
- 브라우저에서 자동으로 실행되며, 특별한 준비나 컴파일 없이 사용 가능
- 자바와는 다른 독립적인 언어
자바스크립트 엔진
- 브라우저마다 다른 자바스크립트 엔진을 사용 V8, SpiderMonkey
- 스크립트를 읽고, 기계어로 컴파일 하여 실행
자바스크립트의 강점
- HTML/CSS와 완벽한 통합
- 간단한 작업을 쉽게 처리
- 모든 주요 브라우저에서 지원
자바스크립트 관련 언어
- CoffeScript, TypeScript, Flow, Dart 등의 언어가 자바스크립트로 트랜스파일 가능
https://blog.seulgi.kim/2018/02/i-do-not-use-coffeescript-any-more.html#google_vignette
자바스크립트의 활용
- 브라우저 환경뿐만 아니라 서버, 모바일 앱 등 다양한 환경에서 사용 가능
자바와 자바스크립트의 차이
- 자동차와 자르반4세의 차이 자로 시작하는 전혀 다른 언어
Express.js
특징-
- 미니멀 리스트 웹 애플리케이션 프레임워크
- Node.js의 핵심 웹 애플리케이션 기능 위에 구축됨
- 유연하고 플러그인 아키텍처를 통해 확장 가능
장점-
- 간단하고 직관적인 API
- 가벼움과 빠른 성능
- 큰 커뮤니티와 풍부한 미들웨어 생태계
- 높은 자유도로 개발자가 구조를 자유롭게 설계 가능
- 학습 곡선이 낮아 초보자도 쉽게 시작 가능
단점-
- 구조화된 아키텍처를 제공하지 않아 대규모 프로젝트에서 복잡해질 수 있음
- TypeScript 지원이 기본적으로 없음 [별도 설정 필요]
- 테스트나 의존성 주입과 같은 고급 기능이 내장되어 있지 않음
Nest.js
특징-
- Angular에서 영감을 받은 구조화된 프레임워크
- TypeScript를 기본으로 사용
- 모듈화, 의존성 주입, 데코레이터 패턴 등 고급 기능 제공
장점-
- 체계적인 아키텍처로 대규모 프로젝트에 적합
- TypeScript 기본 지원으로 타입 안정성 제공
- 의존성 주입, 모듈 시스템 등 고급 기능 내장
- [TDD]테스트 주도 개발을 쉽게 구현 가능
- GraphQL, WebSockets 등 현대적인 기술 쉽게 통합 가능
단점-
- 학습 곡선이 높아 초보자에게는 어려울 수 있음
- Express.js에 비해 더 무거움
- 작은 프로젝트에는 과도한 구조일 수 있음
- 커뮤니티와 생태계가 Express.js에 비해 상대적으로 작음
결론-
- Express.js는 간단하고 유연한 프레임워크로, 빠르게 개발을 시작하고 싶거나 작은 프로젝트에 적합한 반면 Nest.js는 더 고조화되고 기능이 풍부한 프레임워크로, 대규모 프로젝트나 엔터프라이즈급 애플리케이션에 적합합니다.
선택기준-
- 프로젝트의 규모와 복잡성
- 개발 속도 와 안정성
- 팀의 선호도와 경험
- 유지보수 용이성
- 성능 요구사항
*V8
*트랜스파일
- 언어변환
*컴파일
- 컴퓨터가 이해할 수 있는 기계어로 번역하는 과정
*아키텍처
- 소프트웨어 시스템의 기본적인 구조와 설계 원칙을 정의하는 개념
*미니멀리스트 웹 애플리케이션
- 사용자 경험과 인터페이스(UI)를 단순하고 직관적으로 설계한 웹 애플리케이션
*Html
-로직 적인 측면에서 작동하지 않기때문에 언어라 부르지 않는다.
*학습곡선
*엔터프라이즈급
대규모 프로젝트
'TIL' 카테고리의 다른 글
TIL_본캠프_01_전장의 서막 (1) | 2024.10.28 |
---|---|
[TIL07]자바 스크립트를 사용한 플래피버드 만들기 (1) | 2024.10.21 |
[TIL05] SQL 가독성을 높이는 다섯 가지 사소한 습관 (0) | 2024.10.10 |
[TIL04]소프트 웨어의 학습태도 (0) | 2024.10.07 |
[TIL.03] 게임 서버 트랙에서 자바스크립트를 학습하는 이유 (2) | 2024.10.04 |
댓글