48
직장인 대상 모바일 웹앱 프로그래밍 과정 허광남 [email protected]

모바일 웹앱 프로그래밍 과정

Embed Size (px)

Citation preview

Page 1: 모바일 웹앱 프로그래밍 과정

직장인 대상

모바일 웹앱 프로그래밍 과정

허광남[email protected]

Page 2: 모바일 웹앱 프로그래밍 과정

커리큘럼1. 모바일 웹앱 프로그래밍 개요!

2. 모바일 웹앱 개발 도구!

3. HTML과 모바일 브라우저!

4. 웹의 엔진 자바스크립트!

5. 자바스크립트로 HTML 다루기

6. 자바스크립트 에러와 디버깅!

7. CSS로 꾸미기!

8. jQuery로 자바스크립트를 쉽게!

9. 데이터 저장하기!

10. jQuery모바일

11. HTML5!

12. 지도 API!

13. 디바이스 API!

14. 갤러리 프로젝트

Page 3: 모바일 웹앱 프로그래밍 과정

모바일 웹앱 프로그래밍 개요

1. 모바일 위의 앱, 웹, 웹앱!

2. 모바일 웹앱 프로그램의 이해

http://demos.jquerymobile.com/1.4.2/

Page 4: 모바일 웹앱 프로그래밍 과정

스마트폰 연대기

모바일 위의 앱

내장 프로그램 - 통신사+제조사!iPaq, 셀빅, Clie - PDA SDK!연아의 햅틱 - 통신사+제조사+SDK!아이폰, 안드로이드 - SDK!!앱스토어(2008) 빅뱅

http://commons.wikimedia.or...Japan_1997-2004.jpg http://jquerymobile.com/

Page 5: 모바일 웹앱 프로그래밍 과정

가장 많이 사용되는 앱

모바일 위의 웹

한 때 네이트 브라우저!아이폰 이후 !모바일 웹 브라우저!안드로이드 아이폰 !동일한 오픈소스 엔진 webkit!

http://www.engadget.com/products/lg/lh2300/

Page 6: 모바일 웹앱 프로그래밍 과정

아이폰 브라우저의 비밀

모바일 웹앱

2007년 아이폰 출시 앱스토어 없음!Ajax를 이용한 웹앱 가이드!웹페이지 북마크를 앱아이콘으로!2008년 3월 페이스북, BOA 웹앱 시연!!그리고 SDK 공개

http://gigaom.com/2010/02/12/how-to-create-an-iphone-web-app/

Page 7: 모바일 웹앱 프로그래밍 과정

모든 스마트폰에 다 있는 브라우저

모바일 웹앱 프로그램의 이해앱과 동일한 성능?!브라우저 앱에서 접근과 차이점!앱스토어 리젝 사유!SDK에 포함된 웹뷰의 제약사항!!그래도 웹앱으로 간다?!

http://sixrevisions.com/mobile/native-app-vs-mobile-web-app-comparison/

Page 8: 모바일 웹앱 프로그래밍 과정

웹앱을 앱으로 변신

하이브리드 앱

웹뷰 컴포넌트 이용!www폴더에 html, css, js 넣고 패키징!앱스토어에 업로드 가능!!디바이스API 사용 가능!카메라, 위치정보, 진동, 알림 등!!폰갭(Cordova), 센차 터치

http://www.flickr.com/photos/natty/3248563658

Page 9: 모바일 웹앱 프로그래밍 과정

http://phonegap.com/app/

Page 10: 모바일 웹앱 프로그래밍 과정

http://www.sencha.com/apps/

Page 11: 모바일 웹앱 프로그래밍 과정
Page 12: 모바일 웹앱 프로그래밍 과정

모바일 웹앱 개발 도구

1. 모바일 웹앱 개발 환경!

2. 프로그래밍 도구 사용 방법

http://commons.wikimedia.org/wiki/File:Google_Chrome_icon_(2011).png

Page 13: 모바일 웹앱 프로그래밍 과정

모바일 웹앱 개발을 위해서

필요한 개발 지식

HTML!CSS!JavaScript!!

https://github.com/coolaj86/logo.js/tree/specific-uses/specific-uses

Page 14: 모바일 웹앱 프로그래밍 과정

웹개발용 도구

도구는 장인의 선택

파이어폭스+파이어버그!크롬브라우저!IE의 F12개발도구!!크롬브라우저 다수

Page 15: 모바일 웹앱 프로그래밍 과정

코딩 도구

메모장?

Brackets.io!Sublime Text 2!NotePad++!EditPlus!DreamWeaver!Eclipse!WebStorm! http://download.brackets.io/

Page 16: 모바일 웹앱 프로그래밍 과정

테스트 서버

로컬호스트

불편한 file:///!http://localhost…!크롬의 Ajax 이슈!!아파치!node.js!python!tomcat!MS IIS

http://en.wikipedia.org/wiki/Server_(computing)

Page 17: 모바일 웹앱 프로그래밍 과정

쉬운

프로그래밍 도구 사용 방법손맛!단축키!기능 숙지!삽질은 적을수록

http://ko.wikipedia.org/wiki/삽

Page 18: 모바일 웹앱 프로그래밍 과정

Ctrl+Shift+i

Page 19: 모바일 웹앱 프로그래밍 과정

크롬 브라우저 개발도구

웹 인스펙터

초보자용!Elements, Network, Sources,!Resources, Console!!고급 사용자용!Timeline, Profiles, Audits!

Page 20: 모바일 웹앱 프로그래밍 과정

크롬 브라우저 기능

라이브 편집

로컬의 모든 내용 편집 가능!서버의 파일이 수정되는 것 아님!Elements를 통해서 편집!Console에서 자바스크립트 실행!Sources에서 디버깅 수행!

Page 21: 모바일 웹앱 프로그래밍 과정
Page 22: 모바일 웹앱 프로그래밍 과정

HTML과 모바일 브라우저

1. HTML 핵심!

2. 모바일 브라우저 다루기!

3. viewport 메타태그

https://github.com/coolaj86/logo.js/tree/specific-uses/specific-uses

Page 23: 모바일 웹앱 프로그래밍 과정

HTML 핵심

웹 페이지 구성

HTML (HyperText Markup Language)! 하이퍼텍스트 마크업 언어! 정보를 표현하는 <tag> 로 구성!CSS (Cascading Style Sheet)! 캐스케이딩 스타일 시트! 웹 페이지에 스타일을 입히는 표준 기술!JavaScript! 자바스크립트! 버튼 클릭, 마우스 이벤트 처리

http://www.99points.info/2010/03/50-css-techniques-and-tips-which-you-always-need/

Page 24: 모바일 웹앱 프로그래밍 과정

HTML 부가기능

<embed> 플러그인

ActiveX 기술!플래시!!브라우저 기본 기능이 아닌!OS 기능 사용!!활성화 이슈!HTML5로 대체 트렌드

http://msdn.microsoft.com/en-us/library/ms537508(v=vs.85).aspx

Page 25: 모바일 웹앱 프로그래밍 과정

PC에서 동작하는

모바일 브라우저

Android Emulator!Genymotion

Page 26: 모바일 웹앱 프로그래밍 과정

모바일 전용 페이지

meta viewport

<meta name="viewport" content="user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, width=device-width">

Page 27: 모바일 웹앱 프로그래밍 과정
Page 28: 모바일 웹앱 프로그래밍 과정

웹의 엔진 자바스크립트

1. 자바스크립트의 이해!

2. 자바스크립트 객체와 배열

http://ko.wikipedia.org/wiki/자바스크립트

Page 29: 모바일 웹앱 프로그래밍 과정
Page 30: 모바일 웹앱 프로그래밍 과정

자바스크립트로 HTML 다루기

1. DOM 다루기!

2. 동적 콘텐츠 생성하기

http://openclipart.org/detail/167038/dom-model-by-eggib

Page 31: 모바일 웹앱 프로그래밍 과정
Page 32: 모바일 웹앱 프로그래밍 과정

CSS로 꾸미기

1. CSS 셀렉터!

2. BoxModel!

3. 레이아웃

https://github.com/coolaj86/logo.js/tree/specific-uses/specific-uses

Page 33: 모바일 웹앱 프로그래밍 과정

HTML 요소 찾기

CSS Selector

tag, #id, .class!div p![attribute]!:filter

Page 34: 모바일 웹앱 프로그래밍 과정
Page 35: 모바일 웹앱 프로그래밍 과정

jQuery로 자바스크립트를 쉽게

1. jQuery 셀렉터!

2. 이벤트 바인딩!

3. jQuery 이펙트http://jquery.com/

Page 36: 모바일 웹앱 프로그래밍 과정
Page 37: 모바일 웹앱 프로그래밍 과정

데이터 저장하기

1. 로컬스토리지!

2. ajax 다루기

http://demos.jquerymobile.com/1.4.2/

Page 38: 모바일 웹앱 프로그래밍 과정
Page 39: 모바일 웹앱 프로그래밍 과정

jQuery모바일

1. jQueryMobile 기본 구조!

2. 목록 다루기http://jquerymobile.com/

Page 40: 모바일 웹앱 프로그래밍 과정
Page 41: 모바일 웹앱 프로그래밍 과정

HTML5

1. 모바일 웹과 HTML5!

2. HTML5의 장점과 한계

https://github.com/coolaj86/logo.js/tree/specific-uses/specific-uses

Page 42: 모바일 웹앱 프로그래밍 과정
Page 43: 모바일 웹앱 프로그래밍 과정

지도 API

1. 모바일 웹을 위한 지도!

2. 위치 정보 다루기

http://en.wikipedia.org/wiki/Google_Street_View

Page 44: 모바일 웹앱 프로그래밍 과정
Page 45: 모바일 웹앱 프로그래밍 과정

디바이스 API

1. 디바이스 API의 종류!

2. JS로 다루는 디바이스 기능

http://en.wikipedia.org/wiki/HTML5

Page 46: 모바일 웹앱 프로그래밍 과정
Page 47: 모바일 웹앱 프로그래밍 과정

갤러리 프로젝트

1. 모바일 웹앱 이미지 갤러리!

2. 프로젝트 실습

http://fotorama.io/

Page 48: 모바일 웹앱 프로그래밍 과정