개요
HTML은 초문자(Hyper Text)를 마크업(Markup) 할 수 있는 언어(Language)이다.
마크업(Markup) 이란 문서 내용 이외에도 문서의 서식, 구조, 의미 등을 표현하기 위한 정보이며, 마크업 언어는 마크업 정보를 표현할 수 있는 언어이다.
웹 개발 라이프사이클
1. 정보 수집 단계
: 정보 수집 단계에서는 개발된 웹 애플리케이션이 어떤 유형의 사람들에게 제공될 것이며, 연령, 성별, 선호도를 고려하여 요구 사항을 도출한다. 잠재 고객을 대상으로 설문 조사를 진행 해서 사용자가 직면한 문제는 무엇이고, 사용자가 찾고 있는 솔루션은 무엇인지에 대한 피드백을 받는다. 필요한 경우 벤치마킹을 통해 유사 서비스에 대한 조사를 진행한다.
2. 기획 단계
: 기획 단계에서는 콘텐츠, 디자인, 개발 기술, 마케팅 등 웹 애플리케이션 개발을 위한 모든 측면을 고려하고 전략화하는 단계이다. 정부 수집 단계를 통해 수집된 정보를 바탕으로 웹 애플리케이션 개발을 위한 팀을 구성한다. 팀의 구성원을 결정하기 위해서 웹 애플리케이션 개발을 위한 필요한 역할을 정의하고, 정의된 역할을 수행할 수 있는 팀원을 배치하게 된다.
개발을 위한 기술 스택(프로그래밍 언어, 프레임워크, 배포 및 운영환경 등) 및 소프트웨어 개발 방법론을 선택한다. 사이트맵을 통해 웹 애플리케이션에서 제공하는 메뉴를 결정하고, 개발 일정 및 리소스 할당 계획을 세운다. 마지막으로 가장 중요한 웹 애플리케이션의 브랜딩을 결정한다.
3. 디자인 단계
: 웹 디자인 단계에서는 웹 어플리케이션의 전반적인 구조를 파악하기 위한 와이어 프레임을 디자인한다. 와이어프레임의 목적은 주요 화면에 대한 정보 구조를 제시하여 고객은 물론 개발 팀 구성원이 콘텐츠 및 기본 기능을 시각적으로 파악할 수 있도록 하기 위해서이다.
와이어 프레임을 바탕으로 화면별을 구성하는 정보 필드를 정의하고, 콘텐츠(메뉴, 버튼, 링크 등)에 대한 사용법을 상세히 정의한다. 이렇게 정의된 문서를 스토리보드라고 한다.
마지막으로 와이어프레임과 스토리보드를 바탕으로 색상 테마, 타이포그래피, 그래픽으로 변형하여 웹 애플리케이션의 메인 화면에 대한 디자인 시안을 작성한다. 디자인 시안에 대한 고객의 수차례 피드백을 바탕으로 디자인 시안을 계속 수정하고 최종 디자인을 확정하게 된다.
4. 콘텐츠 생성 단계
5. 개발 단계
: 개발 단계에서는 클라이언트와 서버 측 개발이 이루어진다. 실제 전체 웹 애플리케이션 개발 사이클을 봤을 때 가장 많은 시간이 걸리는 단계이다.클라이언트 개발자는 HTML, CSS, 자바스크립트를 사용해서 웹을 사용하는 사용자 측을 위한 시각적 요소를 개발하고, 사용자의 요청을 서버로 전달하고, 서버의 응답을 사용자에게 제공하는 기능을 구현하게 된다.서버 개발자는 사용자와 웹의 상호작용을 통해 수행해야 할 실제 기능을 개발한다. 데이터베이스 생성, 애플리케이션 로직 구현, 서버 측 기능과 클라이언트 측 기능 통합 등을 개발하게 된다.
6. 테스트 및 품질 보증 단계
: 개발이 완료되고 나면 개발된 모든 화면에 대한 버그를 제거하기 위해 테스트를 수행한다. 이때 테스트를 수행하는 전담팀을 QA(Quality Assurance)팀이라 부른다. QA팀은 단위 테스트, 스트레스 테스트, 부하테스트 등을 반복적으로 수행하여 개발된 웹 화면의 모든 기능, 사용성, 다양한 기기 및 브라우저와의 호환성, 성능을 확인한다. 다양한 환경의 사용자를 고려해야 하기 때문에 사용자가 사용할 것으로 예상이 되는 목표 기기와 운영체제, 그리고 브라우저별로 모든 기능이 정상적으로 작동하는지 테스트 하는 것도 중요하다. 이 외에도 SEO 최적화 진행을 통해서 개발된 웹 애플리케이션이 사용자에게 잘 노출 될 수 있도록 준비한다.테스트 단계는 한번으로 끝나는 것이 아니라 프로젝트 전체 라이프 사이클 안에서 주기적으로, 반복적으로 수행하는 것이 좋다. 테스트는 꼭 개발이 모두 완료된 후에만 진행하는 것이 아니라 디자인 단계에서도 와이어프레임만으로도 테스트를 진행할 수 있다.
7. 베포 및 운영 단계
: 테스트 및 품질 보증 단계를 통과한 웹을 운영 서버로 배포하는 단계이다. 사용자가 서비스를 이용하는 동안 예상치 못한 장애가 발생할 수 있고, 장애가 발생하지 않더라도 사용자가 서비스를 이용하면서 느끼는 불편한점, 개선 점에 대한 피드백을 받을 수 있는 창구를 반드시 마련해야 한다. 사용자 상호 작용의 지속적인 피드백을 통해 서비스 된 웹도 지속적으로 수정, 보완되어야한다.