01
1주차 스터디
1~3장 · 3개 챕터
이번 주 핵심 요약
1. 웹 발전의 역사
- 초기에는 상호작용이 사실상 전무했다. 가능하더라도 제한적이었고, 서버에 종속적이었다.
- XHR, AJAX, jQuery 등이 나오며 페이지 단위의 전환 없이 데이터 단위의 통신이 가능해졌다.
- 그에 따라 클라이언트 단에서의 복잡도는 계속 올라갔고, 모듈, 번들러, 패키지 매니저, 템플릿 문법 등이 나오며 점점 더 편리성을 높이는 방향으로 발전했다.
- 현재는 대규모 애플리케이션 개발을 위해 React.js와 같은 선언형 방식의 개발을 지원하는 라이브러리등이 대세가 되었다.
2. 싱글 페이지 애플리케이션 돌아보기
- SPA는 MPA와 달리 하나의 index.html을 활용하기 때문에 네트워크 요청이 줄어들 수 있다. 추가적인 html 요청 없이 js를 활용하여 DOM 구조를 변경하면 되기 때문이다. 결과적으로 새로고침 빈도도 줄어들기에 사용자 경험도 좋아진다.
- 다만 js 파일이 너무 큰 경우엔 큰 차이가 없다고 느낄 수도 있다. 오히려 페이지 로드가 느리다고 생각할 수 있다. 이것을 방지하기 위해 나온 것이 js를 필요한 부분만 불러오는 지연 로딩이다.
- 리액트는 선언형 방식의 개발을 지원하기에 우리가 일일히 신경써야 될 부분이 줄어든다. 추가로 부수효과도 최소화되어 애플리케이션이 예측 가능해진다.
3. UI 컴포넌트의 위상 돌아보기
- UI 컴포넌트는 추상화, 캡슐화, 인터페이스 등을 활용해야 한다. 즉, 너무 구체적인 구현 방향을 보여주게 되면 오히려 컴포넌트를 활용한 개발에 방해가 된다.
- 바닐라 JS, 웹 컴포넌트 API를 통해서도 UI 컴포넌트를 개발할 수 있다.