"Responsive web design" ( 우리회사웹사이트반응형으로리모델링하기 ) 정찬명

Similar documents
쉽게 풀어쓴 C 프로그래밍

AMP는 어떻게 빠른 성능을 내나.key

PowerPoint 프레젠테이션

HTML5가 웹 환경에 미치는 영향 고 있어 웹 플랫폼 환경과는 차이가 있다. HTML5는 기존 HTML 기반 웹 브라우저와의 호환성을 유지하면서도, 구조적인 마크업(mark-up) 및 편리한 웹 폼(web form) 기능을 제공하고, 리치웹 애플리케이 션(RIA)을

Ext JS À¥¾ÖÇø®ÄÉÀ̼ǰ³¹ß-³¹Àå.PDF

Week8-Extra

Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일

Building Mobile AR Web Applications in HTML5 - Google IO 2012

Overall Process

Lab1

PowerPoint Presentation

PowerPoint 프레젠테이션

쉽게 풀어쓴 C 프로그래밍

3장

(Microsoft PowerPoint \277\243\305\315\307\301\266\363\300\314\301\356 \260\374\301\241\300\307 HTML5)

Web Scraper in 30 Minutes 강철

XE 스킨 제작 가이드

PowerPoint 프레젠테이션

제이쿼리 (JQuery) 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호

WEB HTML CSS Overview

PowerPoint 프레젠테이션

슬라이드 1

C H A P T E R 2

슬라이드 1

쉽게 풀어쓴 C 프로그래밍

HTML5 인터넷보충학습자료 (2014) 1 강. HTML5 알아보기 1 강. HTML5 알아보기 1. HTML5 개요 1.1 HTML Ÿ HTML(HyperText Markup Language) 월드와이드웹 (World Wide Web) 에서사용하는마크업언어 인터넷망

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp");

PowerPoint 프레젠테이션

슬라이드 1

2009방송통신산업동향.hwp

기업들의 SNS마케팅 전략 사례연구

HTML5* Web Development to the next level HTML5 ~= HTML + CSS + JS API

PowerPoint Presentation

이장에서다룰내용 테두리를제어하는스타일시트 외부여백 (Margin) 과내부여백 (Padding) 관련속성 위치관련속성 2

SK Telecom Platform NATE

<4D F736F F F696E74202D E20C0CEC5CDB3DD20C0C0BFEB20B9D720BCADBAF1BDBA20B1E2BCFA E >

혼자서일을다하는 JSP. 이젠일을 Servlet 과나눠서한다. JSP와서블릿의표현적인차이 - JSP는 <html> 내에서자바를사용할수있는수단을제공한다. - 서블릿은자바내에서 <html> 을작성할수있는수단을제공한다. - JSP나서블릿으로만웹페이지를작성하면자바와다양한코드가

정도전 출생의 진실과 허구.hwp

e-비즈니스 전략 수립

슬라이드 1

쉽게 풀어쓴 C 프로그래밍

PowerPoint 프레젠테이션

1-1Çؼ³

SBR-100S User Manual

<FEFF E002D B E E FC816B CBDFC1B558B202E6559E830EB C28D9>

치밀한 시간 계산으로 한 치의 오차 없이 여행일정을 계획하지만, 상황이 항상 뜻대로 돌 아가지는 않는다. 인도에서는 철로가 끊겨 있기도 하고, 미국에서는 인디언의 공격을 받 기도 한다. 하지만 그는 항상 침착하고 냉정한 태도를 유지하며, 때로는 일정에 차질이 생 겨도

는 우연히 안나를 알게 되고, 이후 두 사람은 서로 격렬한 사랑에 빠진다. 결국 안나가 브 론스키의 아이를 임신하게 되자, 브론스키는 안나가 카레닌과 이혼하고 자기와 함께 새로 운 생활을 하길 바라지만, 안나는 아들 때문에 망설인다. 한편, 카레닌은 브론스키를 사랑 한

Microsoft PowerPoint 웹 연동 기술.pptx

PowerPoint プレゼンテーション

2 국어 영역(A 형). 다음 대화에서 석기 에게 해 줄 말로 적절한 것은? 세워 역도 꿈나무들을 체계적으로 키우는 일을 할 예정 입니다. 주석 : 석기야, 너 오늘따라 기분이 좋아 보인다. 무슨 좋은 일 있니? 석기 : 응, 드디어 내일 어머니께서 스마트폰 사라고 돈

세르게이의 HTML5&CSS3-내지_ indd

OVERVIEW 디트라이브는 커뮤니케이션 환경의 다변화에 대응하기 위한 고객들의 다양한 욕구를 충족시키기 위해, TV광고부터 온라인 광고 및 프로모션과 웹사이트 구축은 물론 뉴미디어까지 아우르는 다양한 IMC 기능을 수행하는 마케팅 커뮤니케이션 회사입니다. 대표이사 설

쉽게 풀어쓴 C 프로그래밍

Orcad Capture 9.x

쿠폰형_상품소개서

CMS-내지(서진이)

단위: 환경정책 형산강살리기 수중정화활동 지원 10,000,000원*90%<절감> 형산강살리기 환경정화 및 감시활동 5,000,000원*90%<절감> 9,000 4, 민간행사보조 9,000 10,000 1,000 자연보호기념식 및 백일장(사생,서예)대회 10

PowerPoint 프레젠테이션

SOFTBASE XFRAME DEVELOPMENT GUIDE SERIES HTML 연동가이드 서울특별시구로구구로 3 동한신 IT 타워 1215 호 Phone Fax Co

PowerPoint 프레젠테이션

Week13

오늘날의 기업들은 24시간 365일 멈추지 않고 돌아간다. 그리고 이러한 기업들을 위해서 업무와 관련 된 중요한 문서들은 언제 어디서라도 항상 접근하여 활용이 가능해야 한다. 끊임없이 변화하는 기업들 의 경쟁 속에서 기업내의 중요 문서의 효율적인 관리와 활용 방안은 이

<5BC6EDC1FD5DBFA9BCBAC0C720BFC2B6F3C0CE20C0CEB1C7C7C7C7D820C7F6C8B2B0FA20B0B3BCB1B9E6BEC82E687770>

歯MW-1000AP_Manual_Kor_HJS.PDF

160322_ADOP 상품 소개서_1.0

제 1 절 복습 \usepackage{ g r a p h i c x }... \ i n c l u d e g r a p h i c s [ width =0.9\ textwidth ] { b e a r. j p g } (a) includegraphics 사용의일반적인유형

서현수

제 31회 전국 고교생 문예백일장 산문 부문 심사평.hwp

하둡을이용한파일분산시스템 보안관리체제구현

쉽게 풀어쓴 C 프로그래밍

AGENDA 모바일 산업의 환경변화 모바일 클라우드 서비스의 등장 모바일 클라우드 서비스 융합사례

INDEX 들어가기 고민하기 HTML(TABLE/FORM) CSS JS

Javascript

슬라이드 1

LG Business Insight 1409

NATE CP 가이드 1. WML 페이지에서줄바꿈문제 개요 WML 페이지에서줄바꿈은명시적으로 <br/> 태그를사용하여야한다. 설명그림 2 의의도로제작된페이지에서 Card Styles 텍스트와 Select 박스사이에명시적인 <br/> 태그가없어, 그림 1 과같이줄바꿈이되

포맷

아이폰/아이팟 터치용 웹 애플리케이션 개발 팁 12개

ca 17회 컨퍼런스 후기

untitled

Contents 읽고 싶은 기사를 클릭하시면 바로 연결됩니다. 03 한국출판문화산업진흥원 소식 05 빅데이터 기반 미디어 SNS연구소 설립 05 출판사가 만든 맛집, 식품편집샵 05 미국 뒤흔든 베스트셀러 국내 출간 06 어도비, 모바일 출판 솔루션 출시 06 저작권


Lab10

미쓰리 파워포인트

Macaron Cooker Manual 1.0.key

PowerPoint 프레젠테이션

슬라이드 1

10월1일자.hwp

책에서도알려주지않는, 반응형웹의비밀! 작성 : 수정 : (3 판 ) 분류 : 웹표준, 참고자료 작성 : 고남현 (Naver ID - isc7981) - 개요이글에서는일반시중에팔리고있는웹개발서적에서다루지않는, 반응형웹에대한

歯Phone

이제는 쓸모없는 질문들 1. 스마트폰 열기가 과연 계속될까? 2. 언제 스마트폰이 일반 휴대폰을 앞지를까? (2010년 10%, 2012년 33% 예상) 3. 삼성의 스마트폰 OS 바다는 과연 성공할 수 있을까? 지금부터 기업들이 관심 가져야 할 질문들 1. 스마트폰은

리포트_23.PDF

PowerPoint 프레젠테이션

<4D F736F F D205B4354BDC9C3FEB8AEC6F7C6AE5D39C8A35F B3E C0AFB8C1B1E2BCFA20B5BFC7E2>

Microsoft PowerPoint - web-part03-ch19-node.js기본.pptx

3월16일자.hwp

I care - Do you?

공공기관 지식경영

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

Transcription:

"Responsive web design" ( 우리회사웹사이트반응형으로리모델링하기 ) 정찬명

Episode1: 우리사장님

http://www.nhncorp.com/nhn/index.nhn PC Mobile

http://recruit.nhncorp.com/main/recruit_ing.jsp PC Mobile

기존모바일웹의문제 PC 웹과모바일웹을따로제작. 모바일브라우저로접속시모바일웹페이지로 redirection. 새로운모바일단말기또는브라우저가나올때마다서버측개발자는새단말기정보를추가한다음이를분기처리.

http://naradesign.net/nhn/ PC Mobile

http://naradesign.net/nhn/recruit.html PC Mobile

Episode2: 개념탑재

" 반응형웹디자인이란?" 사용자환경에따라 유익하게반응하는디자인 사용자환경 = PC, 모바일, OS, 화면크기

HTML5 Forms + CSS3 Media Queries Image Replacement Image Sprites

" 반응형웹디자인의장점 " 다양한해상도와단말기에서두루 잘보임 신형단말기가등장해도추가대응 필요없음 서버사이드개발이슈가적어투자 대비효율높음

" 반응형웹디자인의한계 " PC 와모바일환경을모두고려해야 하기때문에디자이너는성능과타협 할필요가있음 포털사이트와같이복잡하고무거운 사이트는구현이쉽지않음

" 반응형으로적합한곳 " 가볍고단순한사이트 블로그, SNS 이벤트페이지 기업홍보사이트

" 반응형으로적합하지않은곳 " 무겁고복잡한사이트 대형포털 한국형쇼핑몰 테이블레이아웃

Episode4: 현실은달라

반응형을고려하여 기초부터튼튼하게 다시짓고싶겠지만

" 우리의현실 " 반응형을고려한다고해서처음부터사이트를다시제작하는경우는드물고보통은 PC에최적화된사이트를반응형으로개선

Episode5: 가느냐마느냐

" 정팀장은분석중..." 우리회사웹사이트는... 가볍고단순한가? 테이블레이아웃인가? 유지보수가유연한구조인가?

우리회사웹사이트는... 가볍고단순 테이블레이아웃아님 Image Replacement Image Sprite 반응형으로개선하기쉬운체질

" 결론, Let's do it!"

향후반응형을고려하고있다면... 1. PC 용웹사이트체질개선이선행 2. 테이블레이아웃걷어내기 3. Image Replacement 4. Image Sprite 5. HTML5

Episode6: 무엇부터하지?

" 그냥미디어쿼리사용하면되 는거아닌가?"

" 반응형웹을위한실행순서 " 1. 성능개선 CSS, JS, IMG 파일병합, 모바일용저용량이미지생성 2. HTML HTML5 로전환, 시멘틱마크업, forms 활용 3. CSS 모바일대응위한 CSS3 Media Queries 활용

Episode7: 성능개선

"JS 파일은병합후문서하단으로 " <head> 에서 JS 파일을참조하면 JS 해석이끝날때까지 <img> 파일을로드하지않으므로 JS 파일은 <body> 끝으로옮긴다. http 요청횟수를줄이기위해여러개의 JS 파일을하나로병합한다.

"JS 파일은병합후문서하단으로 " 개선전 <head> <script type="text/javascript" src="jquery-1.4.2.min.js"></script> <script type="text/javascript" src="jquery-ui-1.8.4.custom.js"></script> <script type="text/javascript" src="nhn.js"></script> <script type="text/javascript" src="default.js"></script> <script type="text/javascript" src="lcslog.js"></script> </head> 개선후 <body>... 어쩌구저쩌구... <script type="text/javascript" src="default.js"></script> </body>

" 이미지조각모음 " btn_on.gif btn_off.gif btn_over.gif 이렇게조각낸이미지는 http 요청수를 줄이기위해하나로병합한다.

" 이미지조각모음 " 개선전 btn_on.gif btn_off.gif btn_over.gif 개선후 btn.gif

" 모바일용저용량이미지생성 "

" 모바일용저용량이미지생성 "

" 동일한이미지로큰것과작은것을준비 한다음 IR 기법으로배경처리하고미디어 쿼리로해상도에따라분기하면모바일에 서큰이미지는전송요청하지않는다. 반 대의경우도마찬가지." ( 화면상으로만숨기는것이아니라실제로 http 요청을하지않음 )

Episode8: HTML 고치기

"HTML 도반응형?"

"HTML5 forms 는반응형 "

input type="search" input type="tel" input type="url" input type="email" input type="number"

"HTML5 로 DTD 바꾸기 " ( 어렵지않아요 ~)

수정전 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/tr/html4/loose.dtd"> 수정후 <!DOCTYPE html>

수정전 <meta http-equiv="content-type" content="text/html; charset=utf-8" /> 수정후 <meta charset="utf-8" />

수정전 <link rel="stylesheet" type="text/css" href="nhn.css"/> <style type="text/css">...</style> 수정후 <link rel="stylesheet" href="nhn.css"/> <style>...</style>

수정전 <script type="text/javascript" src="nhn.js"></script> 수정후 <script src="nhn.js"></script>

" 구조를더의미있게 "

Before

After

Before

After

Episode9: 그런데누구세요?

IE6

IE7

IE8

" 누구세요?" header, footer, section, article, aside, nav, hgroup, details, menu, figure, figcaption

낡은브라우저는 HTML5 에새 로등장한태그를인식하지못해 제대로렌더링하지않음.

" 철지난브라우저구하기 " HTML5 IE 6~8 enabling script http://html5shim.googlecode.com/svn/trunk/html5.js

"HTML5 shim" <head> <!--[if lt IE 9]> <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script> <![endif]--> </head>

"IE 조건부주석 " <!--[if lt IE 9]> if lt IE 9 = If less than IE 9 <![endif]--> 표준계열브라우저는이부분을주석으로처리하고 IE9 미만버전의브라우저는포함된내용을해석함. HTML 요소를읽기전에참조해야하므로 <head>...</head> 사이에넣는다.

Episode10: 산넘어산

"HTML5 shim 적용결과 "

IE6

IE7

IE8

" 여전히깨지는이유 " HTML5 enabling script로 HTML 요소를해석했지만새로추가된태그는 'display:inline' 상태로렌더링한다.

새로운태그를바르게 표시하는방법

"CSS Reset" header, footer, section, article, aside, nav, hgroup, details, menu, figure, figcaption { display: block }

IE6

IE7

IE8

HTML5 shim과 CSS reset을통해더이상낡은브라우저에서깨지지않음

Episode11: 너무작거나큰

모바일기기에서어떻 게보일까?

" 너무작아서보이지않음 "

" 화면을크게만들자 "

" 너무커서보이지않음 "

" 화면을크게만든다음 CSS 를걷어내자 "

Episode12: 크게만들기

" 모바일뷰포트적용 " <head>...</head>

" 모바일뷰포트적용?" 휴대폰해상도와웹페이지 해상도를일치시키는작업.

" 모바일뷰포트적용 " <head>...</head>

예를들면, 휴대폰해상도는 640px 인데 1024px 웹페이지화면을구 겨넣어보여주려니자글자글 어색함. ( 휴대폰해상도와웹페이지해상도가다름 )

그래서, 휴대폰해상도가 640px이면한화면에딱 640px 크기만보여주도록설정하자.

" 모바일뷰포트적용?" 휴대폰해상도와웹페이지 해상도를일치시키는작업.

<meta name= "viewport" content= "width=device-width, initial-scale=1, inimum-scale=1, maximum-scale=2, user-scalable=yes" />

<meta name="viewport" content="width=device-width, initial-scale=1, inimum-scale=1, maximum-scale=2, user-scalable=yes" /> http://goo.gl/af7hj/>

Viewport width = "640px" Page width = "320px" " 일단화면을크게만드는데성공 " iphone4 경우 640px 해상도를갖고있어페이지는 640px 크기만큼보일것으로기대했으나실제로는 320px 크기로확대되었음. 기대치보다 2 배확대된것인데이는다른기종에비해해상력 ( 픽셀을더잘게쪼개는능력 ) 이 2 배좋기때문에충분한크기를표시하기위해절충한결과.

Episode13: CSS 조건분기

좁은화면에서는 CSS 를해석 하지않도록질의설정 CSS Media Queries

미디어쿼리문법 @media only all and ( 조건문 ){ 실행문 } @media all and ( 조건문 ){ 실행문 } @media ( 조건문 ){ 실행문 } 위는모두같은표현.

"641px 이상입니까?" @media (min-width:641px){ /* 뷰포트너비가 641px 이상이면해석 */... body { margin:0 } img { border:0 }... /* 기존의 PC 용 CSS 를이곳에몽땅 */ }

" 적용결과 " " 섹시하지만예쁘지는않다 "

"CSS 를 완전히벗겨낼수는없다 "

"640px 이하 해상도를위한 CSS 를작성하자 "

nhn.css @charset "utf-8"; /* 해상도 640px 이하라면이부분을해석 */ /* 모바일용 CSS 코드를이곳에작성 */ @media (min-width:641px){ /* 해상도 641px 이상이면이부분을해석 */ /* 기존의 PC 용 CSS 코드를이곳에몽땅 */ }

nhn.css @charset "utf-8"; img { max-width:100% } @media (min-width:641px){ img { max-width:auto } }

http://naradesign.net/nhn/ before after

http://naradesign.net/nhn/recruit.html before after

Episode14: Mobile First

Quiz: 작은해상도에대응하는모바일용 CSS 코드를조건문안에넣지않은이유는?

Smartphone global market share 2011 2Q. http://www.gartner.com/it/page.jsp?id=1764714

Answer: 모바일용코드를조건문안에포함하지않는이유는미디어쿼리 (CSS3) 를지원하지않는모바일브라우저에서잘볼수있도록고려하기때문. 미디어쿼리를지원하지않는브라우저는모바일화면이디폴트로표시된다.

Mobile First http://goo.gl/vqje

Episode15: IE6~8?

IE6~8 브라우저는 CSS3 미 디어쿼리지원안함 ( 앗, 그렇다면 IE6~8 브라우저는???)

respond.min.js https://github.com/scottjehl/respond

HTML5 shim + respond.min.js <head> <!--[if lt IE 9]> <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script> <script src="respond.min.js"></script> <![endif]--> </head> 주의 : 이파일은 IE 브라우저에서오류가있을수있음

Summary: RWD

" 반응형웹디자인이란?" 사용자환경에따라 유익하게반응하는디자인

" 반응형으로적합한곳 " 가볍고단순한사이트

" 향후반응형을고려하고있다면 " PC 용웹사이트체질개선이선행

" 반응형웹을위한실행순서 " 1. 성능개선 ( 제일중요 ) 2. HTML5 3. CSS3 Media Queries

"HTML5 shim" <head> <!--[if lt IE 9]> <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script> <![endif]--> </head> HTML5 Markup IE 6~8 지원

"CSS Reset" header, footer, section, article, aside, nav, hgroup, details, menu, figure, figcaption { display: block }

<meta name= "viewport" content= "width=device-width, initial-scale=1, inimum-scale=1, maximum-scale=2, user-scalable=yes" />

CSS Media Queries @charset "utf-8"; Mobile... @media (min-width:641px){ PC... }

HTML5 shim + respond.min.js <head> <!--[if lt IE 9]> <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script> <script src="respond.min.js"></script> <![endif]--> </head> CSS3 Media Queries IE 6~8 지원

Thank you. blog: me2day: twitter: facebook: http://naradesign.net/ naradesign naradesign naradesign