NestJS
는 데이터베이스, ORM, 설정, 유효성 검사 등 수많은 기능을 기본 제공한다. 또 필요한 라이브러리를 쉽게 설치 (npm, yarn 등)하여 기능을 확장할 수 있는 Node.js의 장점을 그대로 가지고 있다.또, 모듈/컴포넌트 기반으로 프로그램을 작성해 코드 재사용성을 높일 수 있다.프로그래밍 언어로는 타입스크립트
를 기본으로 사용해 타입스크립트가 가진 타입시스템의 장점을 누릴 수 있다.
NestJS
는 타입스트립트
언어를 채택하고있다. 물론 자바스크립트에서도 동작이 가능하지만 nestJS 개발 시 타입스크립트를 고려하여 만들었기때문에 타입스크립트 사용을 적극 권장한다.타입스크립트
는 타입을 지정하여 개발자 또는 시스템이 코드를 읽고 디버깅 하는 데 자바스크립트의 실수 및 버그를 사전에 잡아줘 개발 시 발생할 수 있는 이슈를 미연에 방지할 수 있다.NestJS
는 모듈식 아키텍쳐
를 사용하는데, 다른 라이브러리
와 함께 사용할 수 있어 정말 유연한 확장성을 제공하고 있다.객체지향프로그래밍
의 특성중 하나가 캡슐화이다. NestJS
는 비슷한 기능을 하는 컨트롤러
,서비스
등을 묶어 module
파일 내에서 모두 관리한다.nestJS
는 타입스크립트의 적극적인 도입, DI(Dependency Injection)
, Ioc(Inversion of Control)
, Module
을 통한 구조화 등의 기술을 통해 생산적인 개발이 용이하다.
아키텍쳐
란?일반적으로 서비스의 설계를 의미하지만 개발자들 사이에서는 각 플랫폼에 맞는 설계를 말한다.
따라서 각 플랫폼에 맞는
아키텍쳐
를 구현해야 하면 iOS에서는 기본적으로 MVC패턴을 따르게 설계가 되어있다.