반응형 웹 디자인이란?

반응형 웝 디자인(responsive web design)

이 용어는 마르코트가 만들었다 그가 기고한 글에서 3개의 기술을 하나의 접근방식으로 통합하고 반응형 웹 디자인이라고 이름 붙였다

  • 유연한 그리드 레이아웃 (flexible grid layout)
  • 유연한 이미지 (flexible image)
  • 미디어와 미디어쿼리 (media query)

반응형 디자인의 철학을 간단히 말하면 모든 뷰포트에서 최적의 콘텐츠가 보이게 하는 것이다. 바뀌 말하면 모바일 웹사이트는 디바이스가 특정한 콘텐츠와 기능을 필요로 하는 경우에만 필요하다는 뜻이다 이런경우 모바일 웹사이트는 테스크탑 웹사이트와 전혀 다른 사용자 경험을 제공한다.

반응형 웹 지다인을 진행할 때 측정 단위로 픽셀(px)대신 대부분의 경우 상대적인 측정 단위(em, ems, %)를 사용하기 때문에 픽셀에 연연할 필요가 없다 반응형 디자인 작업들을 검토해 보면 편리한 참조점(reference point)을 사용하고 있음을 알수 있다.

jQuery

jQuery는 브라우저 호환성이 있는 HTML 속 자바스크립트 라이브러리이며 클라이언트 사이드 스크립트 언어를 단순화 할 수 있도록 설계되었다. 존 레식이 2006년 뉴욕 시 바캠프(Barcamp NYC)에서 공식적으로 소개하였다. jQuery는 오늘날 가장 인기있는 자바스크립트 라이브러리 중 하나다.

jQuery는 MIT 라이선스와 GNU 일반 공중 사용 허가서v2의 듀얼 라이선스를 가진 자유 오픈 소프트웨어이다. jQuery의 문법은 코드 보기, 문서 객체 모델 찾기, 애니메이션 만들기, 이벤트 제어, Ajax 개발을 쉽게 할 수 있도록 디자인 되었다. 또한, jQuery는 개발자가 플러그인을 개발할 수 있는 기능을 제공한다.

마이크로소프트와 노키아는 자사 플랫폼에 jQuery를 포함하는 계획을 발표한 바 있다. 마이크로소프트는 비주얼스튜디오의 ASP.NET AJAX 프레임워크와 ASP.NET MVC 프레임워크에 적용했고, 노키아는 자사의 런타임 웹 위젯 개발 플랫폼에 통합하였다. 또한, jQuery는 미디어위키에도 1.16 버전부터 사용되고 있다.

 

기능

jQuery는 다음과 같은 기능을 갖고 있다:

  • DOM 엘리먼트 선택
  • DOM 트래버설 및 수정 (CSS 1-3 지원. 기본적인 XPath를 플러그인 형태로 지원)
  • 이벤트
  • CSS 조작.
  • 특수효과 및 애니메이션
  • Ajax
  • 확장성
  • 유틸리티 – 브라우저 버전, “each” 함수
  • 자바스크립트 플러그인

사용법

jQuery는 한 개의 JavaScript 파일로 존재한다. 공통의 DOM, 이벤트, 특수 효과, Ajax 함수를 포함한다. 다음 코드를 쓰면, 웹 페이지로 포함시킬 수 있다:

<script type="text/javascript" src="path/to/jQuery.js">script>

jQuery는 두 가지의 상호 작용 스타일을 갖고 있다:

  • $ 함수 이용. jQuery 오브젝트의 팩토리 메소드이다. 이 함수들은 “chainable”하다: 각각은 jQuery 오브젝트를 반환한다.
  • $. -가 앞에 붙은 함수 이용. 이들 함수는 jQuery 오브젝트 그 자체와 연동되지는 않는다.

일반적으로 여러 개의 DOM 노드들을 조작하는 웍플로우는 $ 함수로 시작된다. CSS 셀렉터 스트링을 가지고 호출된다. 결과적으로 0개 혹은 그 이상의 HTML 페이지 내의 엘리먼트를 리퍼런스하는 jQuery 오브젝트가 반환된다. 이 노드 집합들은 jQuery 오브젝트에 대해 인스턴스 메소드들을 적용함으로써 조작될 수 있다. 혹은 노드들 그 자체가 조작될 수 있다. 예를 들면 다음과 같다:

$("div.test").add("p.quote").addClass("blue").slideDown("slow");

div 태그가 달린 모든 엘리먼트를 찾되, 클래스 애트리뷰트가 test인 것을 찾는다. p 태그를 찾되, 클래스 애트리뷰트가 quote인 것을 찾는다. 찾아낸 각각의 엘리먼트에 대해 클래스 애트리뷰트 blue를 추가한다. 그 뒤 애니메이션 효과를 주어 아래쪽으로 슬라이드(미끄러지게) 시킨다. $ 및 add 함수는, 찾아낸(matched) 집합(set)에 영향을 준다. addClass 및 slideDown는 리퍼런스된 노드들에 영향을 준다.

$.가 앞에 붙은 함수들은, 글로벌 프로퍼티나 비해이비어에 영향을 주는, 간편한(유틸리티) 메소드들이다. 예를 들면 다음과 같다:

$.each([1,2,3], function() {
  document.write(this + 1);
});

… 234 를 도큐먼트에 출력한다.

Ajax 루틴들은 $.ajax 및 관련 코드를 이용하여 수행할 수 있다. 이를 사용하여, 원격 데이터(remote data)를 로드하거나 조작할 수 있다.

$.ajax({
  type: "POST",
  url: "some.php",
  data: "name=John&location=Boston",
  success: function(msg){
    alert( "Data Saved: " + msg );
  }
});

… 파라미터 name=John, location=Boston을 주면서 some.php에 요청을 보낸다. 요청이 성공적으로 수행되었으면, 그 응답이 alert()된다.

반응형 웹

“Something there is that doesn’t love a wall…”

( 담장을 좋아하지 않는 무엇인가가 있다.)

-로버트 프로스트 Robert Frost  <담장고치기 Manding Wall>

 

- 미국의 국민시인으로 존경받는 로버트 프로스트(1874~1963)의 시집 <보스턴의 북쪽 (North of Boston)>(1914)에 수록된 시. 사회공동체 의식을 주제로 이야기하듯 전원생활과 풍경을 묘사하며 담담한 어투로 명상적인 인생을 이야기한다