머릿말
웹 백엔드 개발자라도 프론트엔드의 기본적인 개념인 HTML
, CSS
, Javascript
에 대한 기본적인 이해는 필요하다.
이번 글에선 각 기술에 대해 간단한 정의와 해당 기술이 왜 필요한지
에 대해 다루어 보려고 한다.
HTML, CSS, Javascript
이전 글에서 브라우저의 렌더링 과정을 간단하게 살펴보면서 알아본 핵심은 브라우저는 HTML을 화면에 표시하는 것이 목적
이라는 것이다.
웹 기술이 발전함에 따라 HTML과 스타일을 따로 분리하는 것이 필요해졌고,
단순히 멈춰있는 화면이 아니라 사용자와 상호작용하는 것이 필요해지므로 자바스크립트가 발전하게 되었다.
HTML, CSS, Javascript는 각각 사람의 장기로 보면 아래와 같이 비유할 수 있을 것 같다.
Front-End 기술 | 사람의 장기(?) |
---|---|
HTML | 골격 |
CSS | 겉 옷 |
Javascript | 각종 신경 작용 (날아오는 물체가 있으면 눈을 감고 몸을 웅크린다) |
HTML
- HTML은
Hyper Text Markup Language
의 약자로 웹 페이지를 만들기 위한 표준 마크업 언어이다. - 웹 페이지의 구조를 담당한다.
- Element 단위로 구성되며, 브라우저에게 콘텐츠를 어떻게 표시하는지 알려준다
HTML 기본 구조
1 |
|
CSS
- CSS는
Cascading Style Sheet
의 약자로 직역하면계단식 스타일 시트
이다. - HTML의 스타일을 지정하는 데 사용되는 언어
- HTML이 웹 페이지의 구조를 나타낸다면, CSS는 겉 옷을 담당한다 : HTML이 DOM으로 변환 된 후
어떻게 표시되어야 하는 지 설명
한다. - Box Model : 한 HTML Element 당 하나의 박스로 모델링하여 스타일을 관리하는 기법
CSS 기본 구조
1 | body { |
Javascript
- 웹 페이지에서 이벤트 처리를 기술할 수 있는 언어
- DOM을 조작하거나 특정 이벤트에 어떤 Element를 수정하거나, 추가적인 인터페이스를 작성할 수 있다.
Javascript는 개발자들 사이에서 가장 인기있는 언어 중 하나이므로, 별도의 포스트로 런타임 환경과 컨셉에 대해 자세히 다뤄볼 예정이다.
생각해보자
- 브라우저의 구동 방식과 연결지어서 HTML, CSS, Javascript를 다시 살펴보니, 간단한 내용이라도 다시 보이게 된다.
(왜 CSS라는 새로운 언어가 필요해진건지 : DOM 트리를 구성한 후 스타일을 각 DOM 노드에 매핑하는 과정 등등..)