스캐폴딩(Scaffolding)

스캐폴드(Scaffold)는 원래 건축에서 유래된 단어다. 길거리를 지나가다보면 외벽에 임시로 작업자들이 지나다닐 수 있도록 만든 구조물이 있는데, 이게 바로 스캐폴드다.

스캐폴드

컴퓨터 프로그래밍에서도 스케폴딩이라는 용어를 사용한다. 위키피디아에서는 두 가지로 구분해서 설명한다.

첫 번째, 초기 프로젝트의 뼈대를 만들어주는 행위를 뜻한다. 어떤 프로젝트를 시작할 때 기본적인 README, License를 비롯하여 디렉토리 구조, 컴파일 설정 등이 자동으로 생성하는 CLI 혹은 UI 도구가 이와 같다.

두 번째, 일부 MVC(Model-View-Controller) 프레임워크에서 사용하는 의미이다. 루비 온 레일즈(Ruby on Rails)에서 처음 도입되었는데, 개발자가 사용하고자 하는 모델을 정의하면 자동으로 관련된 보일러플레이트 코드가 만들어지는 기법이다.

위키피디아에서는 크게 두 가지로 나누긴 했지만 자동으로 보일러플레이트 코드를 만들어준다는 측면에서 볼 때 크게 보면 두 가지 모두 같은 행위라 볼 수 있다.

많은 프레임워크에서 첫 번째 의미에 해당하는 스캐폴딩을 지원한다.

  • React.js 의 CRA (Create React Application)
  • Nest.js의 nest new PROJECTNAME
  • C#(.Net)의 Visual Studio에서 새 프로젝트 만들기
  • IntelliJ에서 Java 프로젝트 만들기

등등등...