인공지능 [Artificial Intelligence (AI)]

HTML5, CSS3, Javascript, Typescript 그리고 웹표준관련 알아야 하는 것

브런치샵 2025. 6. 17. 16:40
반응형

HTML5, CSS3, Javascript, Typescript 그리고 웹표준관련 알아야 하는 것들 이야기입니다.
웹 표준 핵심 기술인 HTML5, CSS3, JavaScript, TypeScript는 웹 개발의 기본이자, 웹 접근성 및 호환성을 보장하기 위한 중요한 요소입니다.
또한, HTML5, CSS3, JavaScript, TypeScript과 더불어, 웹 표준을 위한 추가적인 고려사항들에 대한 이야기입니다.

웹표준
웹표준


HTML5 (HyperText Markup Language 5)

현대 HTML은 'Living Standard'으로 계속 발전 중이므로 WHATWG 문서 참조가 권장됩니다.
✔ 개발 역사
HTML은 1990년대 초 팀 버너스리가 월드 와이드 웹(World Wide Web)의 초기 구성 요소로 고안했습니다.
이후 여러 버전(HTML 2.0, 3.2, 4.01, XHTML 등)을 거쳐 발전해왔습니다.
HTML5는 2004년부터 WHATWG(Web Hypertext Application Technology Working Group)에서 개발을 시작했으며, 2008년 W3C(World Wide Web Consortium)가 참여하면서 공동 표준화 작업이 이루어졌습니다.
2014년 10월 W3C에 의해 공식적으로 권고(Recommendation)되어 웹 표준의 핵심으로 자리 잡았습니다.
✔ 필요성
플래시(Flash) 대체와 semantic tag 도입, 모바일과 엡 환경 대응이 가능합니다.
크로스 브라우징과 모바일 호환성을 위한 기반으로 검색엔진 최적화(SEO)에 유리 합니다.
1) 시맨틱 웹
<header>, <nav>, <article>, <section>, <footer> 등과 같은 시맨틱 태그를 도입하여 웹 문서의 구조를 더욱 명확하게 정의할 수 있도록 합니다. 
이는 검색 엔진 최적화(SEO)에 유리하고, 웹 접근성을 향상시킵니다.
SEO, 웹 접근성(Accessibility)에 핵심적 요소입니다
2) 멀티미디어 지원
<video>, <audio>태그를 내장하여 플러그인 없이 비디오와 오디오를 웹 페이지에 삽입할 수 있게 되었습니다.
이는 웹의 멀티미디어 활용도를 크게 높였습니다.
<source> 태그로 다양한 형식(mp4, webm 등) 지원 가능합니다.
3) 그래픽 및 애니메이션
<canvas>와 SVG(Scalable Vector Graphics)를 통해 웹 브라우저에서 동적인 2D/3D 그래픽 및 애니메이션을 구현할 수 있게 되었습니다.
SVG는 벡터 기반으로 확대해도 깨지지 않으며, 인터랙티브한 요소 구현에 적합합니다.
4) 오프라인 웹 애플리케이션
웹 스토리지(localStorage, sessionStorage), Application Cache(현재는 Service Worker로 대체) 등의 기능을 통해 오프라인에서도 동작하는 웹 애플리케이션 개발을 가능하게 합니다.
최신 웹앱은 IndexedDB + Service Worker 조합을 사용하는 것이 표준입니다.
5) 폼 기능 강화
새로운 입력 타입(date, email, url 등), 속성(placeholder, required 등)을 추가하여 사용자 입력 폼의 기능과 유효성 검사를 강화했습니다.
예 : <input type="email">, <input type="date">, <input type="range">
6) 장치 접근성
Geolocation API, Device Orientation API 등과 같은 API를 통해 장치의 특정 기능에 접근하여 더욱 풍부한 웹 애플리케이션을 만들 수 있도록 합니다.
최근에는 Web Bluetooth, Web USB, Web NFC, WebXR 등 확장된 API도 등장 합니다.

HTML5의 진화
HTML5의 진화


CSS3 (Cascading Style Sheets 3)

✔ 개발 역사
CSS는 웹 페이지의 스타일을 정의하기 위해 1996년 W3C에서 처음 권고되었습니다.
CSS2는 1998년에 발표되었으며, 웹 페이지의 레이아웃과 디자인을 제어하는 데 중요한 역할을 했습니다.
CSS3는 CSS2의 단점을 보완하고, 웹 환경의 변화에 맞춰 2000년대 초부터 모듈별로 개발이 진행되었습니다.
이는 단일한 거대한 명세가 아니라, 여러 개의 작은 모듈(예: Borders and Backgrounds Module, Transforms Module, Transitions Module 등)로 나뉘어 각각 독립적으로 발전하고 있습니다.
✔ 필요성
반응형 웹 디자인 (RWD) 구현의 핵심이며 플러그인 없이 애니메이션, 이펙트 구현 가능 합니다.
1) 향상된 시각 효과
border-radius, box-shadow, text-shadow, gradient 등과 같은 속성을 통해 이미지를 사용하지 않고도 복잡하고 미려한 디자인을 구현할 수 있게 되어 웹 페이지의 미적 수준을 높였습니다.
2) 애니메이션 및 전환
transition, animation 속성을 통해 JavaScript 없이도 부드러운 UI 전환 효과와 동적인 애니메이션을 구현할 수 있게 되어 사용자 경험을 향상시켰습니다.
상태 변화(hover, focus 등)에 대해 자연스러운 효과 제공입니다.
3) 반응형 웹 디자인
@media 쿼리를 통해 디바이스의 화면 크기, 해상도 등에 따라 웹 페이지의 레이아웃과 스타일을 다르게 적용할 수 있게 되어 다양한 기기에서 최적의 사용자 경험을 제공하는 반응형 웹 디자인의 기반이 됩니다.
모바일 퍼스트 디자인의 핵심입니다.
4) 유연한 레이아웃
Flexbox와 Grid Layout과 같은 새로운 레이아웃 모델을 도입하여 복잡한 레이아웃을 보다 쉽고 효율적으로 구성할 수 있게 되었습니다.
이는 기존의 float 기반 레이아웃의 한계를 극복하는 데 기여했습니다.
5) 웹 폰트
@font-face 규칙을 통해 웹 서버에 있는 사용자 정의 폰트를 사용할 수 있게 되어 디자인의 자유도를 높였습니다.
구글 웹폰트, Adobe Fonts 등과 통합하여 다양한 디자인 구현 가능 합니다.

CSS 장점
CSS 장점


JavaScript

✔ 개발 역사
JavaScript는 1995년 넷스케이프(Netscape)의 브렌던 아이크(Brendan Eich)에 의해 개발되었습니다.
초기에는 LiveScript라는 이름이었으나, 당시 Java의 인기에 힘입어 JavaScript로 명칭을 변경했습니다.
초기에는 주로 웹 브라우저에서 클라이언트 측 스크립트로 사용되어 간단한 사용자 인터랙션이나 폼 유효성 검사 등에 사용되었습니다.
2000년대 후반 AJAX(Asynchronous JavaScript and XML) 기술의 등장과 함께 웹 애플리케이션의 동적인 상호작용이 강조되면서 JavaScript의 중요성이 급부상했습니다.
Node.js의 등장(2009년)으로 JavaScript는 웹 브라우저 밖에서도 실행 가능한 언어가 되어 서버 사이드 개발, 데스크톱 애플리케이션, 모바일 애플리케이션 등 다양한 분야에서 활용되고 있습니다.
ECMAScript라는 표준화된 명세에 따라 매년 새로운 기능이 추가되고 있습니다(ES5, ES6/ES2015 등).
✔ 필요성
SPA(Single Page Application) 구현의 핵심이며 다양한 라이브러리(jQuery, React, Vue 등) 기반입니다.
1) 동적인 웹 페이지
HTML과 CSS로 만들어진 정적인 웹 페이지에 동적인 기능을 추가하여 사용자와 상호작용할 수 있도록 합니다.
(예: 메뉴 토글, 슬라이드 쇼, 폼 유효성 검사 등)
2) 비동기 통신 (AJAX)
웹 페이지 전체를 새로고침하지 않고도 서버와 데이터를 주고받아 필요한 부분만 업데이트할 수 있게 하여 사용자 경험을 향상시킵니다.
3) 클라이언트 사이드 애플리케이션
풍부한 사용자 인터페이스를 가진 웹 애플리케이션(SPA: Single Page Application)을 개발하는 데 핵심적인 역할을 합니다.
React, Angular, Vue.js와 같은 프레임워크와 라이브러리가 이를 지원합니다.
4) 서버 사이드 개발
Node.js를 통해 서버 측에서도 JavaScript를 사용하여 백엔드 개발이 가능하게 되어, 프론트엔드와 백엔드 모두 JavaScript로 개발하는 풀스택(Full-stack) 개발이 가능해졌습니다.
NPM(Node Package Manager)를 통해 수십만 개 패키지 사용 가능 합니다.
5) 크로스 플랫폼 개발
Electron(데스크톱 앱), React Native(모바일 앱) 등 다양한 프레임워크를 통해 JavaScript 하나로 다양한 플랫폼의 애플리케이션을 개발할 수 있게 되었습니다.

JavaScript의 진화
JavaScript의 진화


TypeScript

✔ 개발 역사
TypeScript는 Microsoft가 개발하고 유지 관리하는 오픈 소스 프로그래밍 언어입니다.
2012년에 처음 공개되었으며, 대규모 JavaScript 애플리케이션 개발의 복잡성을 해결하기 위해 설계되었습니다.
JavaScript의 상위 집합(superset)으로, 기존 JavaScript 코드에 점진적으로 TypeScript를 적용할 수 있도록 설계되었습니다.
Google의 Angular 프레임워크가 TypeScript를 기본 언어로 채택하면서 인기가 급증했습니다.
✔ 필요성
프레임워크(예: Angular)는 TypeScript를 기본으로 사용하며, 기존 JS 코드를 점진적으로 변환 가능 합니다.
1) 정적 타입 검사
JavaScript는 동적 타입 언어여서 런타임에 오류를 발견하는 경우가 많지만, TypeScript는 컴파일 시점에 타입 오류를 검출하여 개발 초기 단계에서 버그를 줄일 수 있습니다.
이는 특히 대규모 프로젝트에서 코드의 안정성과 유지보수성을 크게 향상시킵니다.
2) 코드 가독성 및 유지보수성
변수, 함수 매개변수, 반환 값 등에 타입을 명시함으로써 코드의 의도를 명확하게 전달하고, 다른 개발자가 코드를 이해하고 수정하기 쉽게 만듭니다.
3) 향상된 개발 경험
IDE(통합 개발 환경)에서 강력한 자동 완성, 코드 탐색, 리팩토링 기능 등을 제공하여 개발 생산성을 높입니다.
4) 객체 지향 프로그래밍 지원
클래스(Class), 인터페이스(Interface), 제네릭(Generics) 등과 같은 객체 지향 프로그래밍 개념을 지원하여 구조화된 코드 작성을 돕습니다.
5) ES 최신 문법 지원
최신 ECMAScript 기능을 지원하며, 이를 다양한 환경(ES5 등)에서 실행될 수 있는 JavaScript 코드로 트랜스파일(Transpile)해 줍니다.
이는 개발자가 항상 최신 JavaScript 기능을 활용할 수 있도록 합니다.
6) 점진적 도입
기존 JavaScript 프로젝트에 TypeScript를 점진적으로 도입할 수 있어, 레거시 시스템을 완전히 재작성할 필요 없이 점진적인 개선이 가능합니다.
.js 파일부터 시작하여 점진적으로 .ts, .tsx로 변환 가능 합니다.

반응형웹
반응형웹


웹 표준을 위하여 추가로 알아야 할 것들

웹 표준은 웹의 상호 운용성, 접근성, 사용성, 그리고 장기적인 지속 가능성을 보장하기 위한 일련의 기술 표준입니다.
HTML, CSS, JavaScript 외에도 웹 표준을 준수하기 위해 다음과 같은 개념들을 이해하고 적용해야 합니다.
◆ 웹 접근성 (Web Accessibility - WCAG)
모든 사용자(장애인, 고령자 등)가 웹 콘텐츠를 동등하게 이용할 수 있도록 보장하는 것을 목표로 합니다.
W3C의 WCAG(Web Content Accessibility Guidelines)는 웹 접근성을 위한 국제적인 표준 가이드라인입니다.
법적 의무 사항인 경우가 많으며, 모든 사용자를 포괄하는 넓은 사용자층을 확보하고, 기업의 사회적 책임을 다하는 데 중요합니다.
alt 속성, 시맨틱 HTML, 키보드 내비게이션, ARIA(Accessible Rich Internet Applications) 속성 사용 등이 포함됩니다.
◆ 크로스 브라우징 (Cross-Browse)
웹 페이지가 다양한 웹 브라우저(Chrome, Firefox, Safari, Edge 등)에서 동일하거나 유사하게 동작하고 보이도록 보장하는 것을 의미합니다.
사용자가 어떤 브라우저를 사용하든 일관된 경험을 제공하여 이탈률을 줄이고, 잠재 고객을 놓치지 않도록 합니다.
브라우저별 렌더링 엔진 차이, CSS 접두사(-webkit-, -moz-) 등을 고려해야 합니다.
◆ 반응형 웹 디자인 (Responsive Web Design - RWD)
단일 웹 사이트가 데스크톱, 태블릿, 스마트폰 등 다양한 기기의 화면 크기에 따라 자동으로 레이아웃과 디자인을 조절하여 최적화된 사용자 경험을 제공하는 디자인 방식입니다.
모바일 기기 사용자의 증가에 따라 필수적인 요소가 되었습니다.
효율적인 개발 및 유지보수, 일관된 브랜드 경험 제공에 기여합니다.
CSS @media 쿼리, 유동적인 그리드(fluid grids), 유연한 이미지(flexible images) 등이 핵심 기술입니다.
◆ 웹 성능 최적화 (Web Performance Optimization - WPO)
웹 페이지가 사용자에게 빠르고 효율적으로 로드되고 반응하도록 만드는 일련의 기술과 전략입니다.
사용자 경험 향상(이탈률 감소), 검색 엔진 랭킹 개선(SEO), 서버 비용 절감 등에 직결됩니다.
이미지 최적화, 코드 압축 및 난독화, 캐싱 전략, 비동기 로딩, CDN(Content Delivery Network) 사용 등이 포함됩니다.
◆ 검색 엔진 최적화 (Search Engine Optimization - SEO)
웹 페이지가 검색 엔진의 검색 결과에서 상위에 노출되도록 최적화하는 과정입니다.
기술적인 SEO와 콘텐츠적인 SEO로 나눌 수 있습니다.
웹 사이트의 가시성을 높여 더 많은 유기적인 트래픽을 유도하고, 비즈니스 목표 달성에 기여합니다.
시맨틱 HTML, 메타 태그, 사이트맵, Robots.txt, 구조화된 데이터(Schema.org) 등이 중요합니다.
◆ Progressive Web App (PWA)
오프라인 동작, 푸시 알림, 홈 화면 설치가 가능한 웹 앱 기술입니다.
◆ 보안 (Security)
웹 애플리케이션과 사용자의 데이터를 외부 위협으로부터 보호하는 기술 및 관행입니다.
사용자 정보 보호, 데이터 무결성 유지, 서비스 신뢰도 확보에 필수적입니다.
HTTPS(SSL/TLS), XSS(Cross-Site Scripting) 방어, CSRF(Cross-Site Request Forgery) 방어, SQL Injection 방어, CSP(Content Security Policy) 등이 중요합니다.
◆ RESTful API 디자인
웹 서비스 간의 데이터 통신을 위한 아키텍처 스타일로, HTTP 메서드를 이용하여 자원(Resource)에 접근하고 조작하는 방식입니다.
클라이언트-서버 간의 효율적이고 표준화된 통신을 가능하게 하여 확장성과 유지보수성을 높입니다.

웹표준을 이해하기 위한 기술
웹표준을 이해하기 위한 기술


이러한 기술과 개념들을 종합적으로 이해하고 적용하는 것이 현대 웹 개발에서 웹 표준을 준수하고, 고품질의 웹 애플리케이션을 구축하는 데 필수적입니다.

 

AI 비저빌리티 란?, AI 비저빌리티와 WWW 검색의 특징 및 차이점

AI 비저빌리티 란?, AI 비저빌리티와 WWW 검색의 특징 및 차이점 이야기입니다.AI 비저빌리티(AI Visibility)는 AI 시스템이 생성한 정보, 예측, 판단, 또는 콘텐츠가 사용자의 눈에 얼마나 명확하게 근

logbrunch.tistory.com

 

커서 AI 뜻, 커서 AI 활용분야, 커서 AI 다운로드 및 커서 AI 개발&서비스기업

커서 AI 뜻, 커서 AI 활용분야, 커서 AI 다운로드 및 커서AI 공식 사이트 이야기입니다.커서 AI(Cursor AI)는 인공지능을 활용하여 소프트웨어 개발 과정을 혁신하는 차세대 코드 에디터입니다.기존의

logbrunch.tistory.com

반응형