JS 프레임워크로 개발한다는 건?

SPA (Single Page Aplication) 이해하기

어떤 Javascript 프레임워크를 쓰든 우리는 SPA 개발을 하게 된다. 깊이 들어가면 다른 개발방식도 있지만
SPA 는 말 그대로 Single Page, 즉 단 하나의 html (예: index.html) 페이지 위에 모든 서비스를 구현한다.

그러면 www.example.com/index.html 만 만들 수 있고 /about 이나 /profile 같은 url 라우팅은 어떻게 하냐 라는 궁금증이 생길텐데, 그것도 자바스크립트로 흉내낸다. 물론 잘 만들어진 공식 라이브러리가 있으니 직접 구현할 필요는 없고 가져다 쓰면 된다.

Question

왜 기존 방식처럼 페이지마다 html 파일 안 만들고 SPA 로 만드나요?

  • 기존 방식이 SPA 보다 무조건 열등한 것은 결코 아니지만, SPA 로 개발하면

    1. 실제 DOM 대신 가상의 Virtual DOM 위에 화면을 렌더링 하기 때문에 반응 속도가 훨씬 빠르고,

    2. 자신이 어떤 역할을 해야하는지 아는 블록을 하나씩 만들어 그것들을 조립하며 개발할 수 있다.

Important

이 블록을 Javascript 프레임워크에선 '컴포넌트(component)'라고 부르며, SPA 개발의 핵심이다.

컴포넌트 형식의 개발이 중요한 이유

  1. 세상이 너무 발전해버려서 소비자의 기대치가 높아졌다. 즉, 복잡한 기능을 대규모로 개발해야 하는 경우가 많아서 코드가 엄청 길어지고, 개발자가 그 속에서 길을 잃는 일이 종종 발생한다. 자기 코드도 못 알아보는데 팀 프로젝트면 더 심각하다. 개발에 집중하는 대신 기존 코드를 해독하는 데 시간이 낭비된다.

  2. 컴포넌트 형식으로 개발하면, 각자 자신이 맡은 기능을 따로 잘 개발한 후에 마지막에 조립만 하면 된다. 개인이든 팀이든 프로젝트 구조 파악이 훨씬 명쾌해진다.

  3. 한 번 만들어 놓은 컴포넌트를 해당 프로젝트 내에서든, 아니면 아예 다른 프로젝트에서든 반복해서 쓸 수 있다. 즉, 중복 코드가 줄어들고 남의 코드를 베껴쓰기도 편해진다.🎉 (개발 속도 폭발적 증가)