웹 개발

프론트엔드 개발의 기술 범위는 참으로 넓다. 기본을 이루는 기술로 HTML과 CSS에 대해서 잘 알고 있어야 하고 자바스크립트와 노드를 자유롭게 다룰 수 있어야 한다. 이런 기술을 사용하는 다양한 도구를 통해서 보다 효율적인 개발 방법론을 추구한다. 리액트나 뷰, 스벨트와 같은 라이브러리와 프레임워크에 대해서 알아야 하고 웹팩이나 비트와 같은 빌드 도구도 알고 있어야 한다. 서비스를 제공하기 위한 배포 방법이나 컨테이너 기술도 필요하다.

기술과 함께 다양한 사용자 환경에 대한 이해도 필요하다. 웹을 사용하는 브라우저에 대한 종류와 특징, 랜더링 엔진의 차이, 현재 안전하게 사용할 수 있는 표준 스펙, 과거 브라우저의 스펙 지원 정도를 잘 알고 있어야 특정 환경에서 발생하는 문제에 대응할 수 있다. 사용자가 사용하는 기기도 다양하다. 데스크톱 환경과 태블릿, 스마트폰 등의 환경에서 아주 다양한 화면 크기와 해상도, 입력기기를 사용한다. 인터넷 속도와 안정성도 천차만별이다.

사용자도 다양하다. 다양한 연령과 성별, 문화, 언어, 지역에서 웹을 사용한다. 소리를 들을 수 없거나 햇빛이 강해서 화면이 잘 안 보인다든가 노안으로 작은 글씨를 잘 볼 수 없는 경우도 있다. 시력이 낮거나 엄지나 검지를 사용할 수 없는 장애가 있을 수도 있다. 움직이는 애니메이션이나 복잡한 서식을 사용하기 힘든 사용자도 있다.

너무 극단적인 경우를 얘기하는 것 같지만 웹은 애초에 그렇게 만들어 졌다. 보편적으로 사용할 수 있게 만들어지지 않았다면 지금처럼 널리 사용되지도 않았을 것이다. 웹을 만드는 사람은 웹의 보편성에 대해서 알아야 하고 우리가 매일 사용하는 도구들이 이를 이미 지원하고 있다는 내용을 알고 있어야 한다. 우리가 부지불식간에 사용하는 많은 표준 기술과 리액트, 스벨트 같은 도구들이 이미 이러한 개념과 기술을 지원하고 있다.

너무 광범위하고 빨리 변화해서 모든 지식을 단기간에 파악하기는 어렵겠지만 그래도 자주 사용하는 기술은 어느정도 이해하기 쉽게 정리가 가능하지 않을까 하는 생각으로 그동안의 고민을 남겨본다.

General

HTML

CSS

ETC.

DEPRECATED

HTML

CSS

Code snippet

ETC.

Flash