Search results for 'CSS3'

Mobile Web에 대한 자료 몇 가지

2011.06.15 00:34
근래 모바일 웹에 대한 강의를 진행한 일이 있습니다. 강의 준비를 하면서 발견한 눈에 띄는 자료 몇 가지를 공유해봅니다.

 
공개된지 1년이 넘기는 했습니다만 모바일 웹 개발을 처음 시작하면서 살펴보면 도움이 될만한 내용입니다. context, performance, security, design, portability의 다섯 가지 주제로 잘 설명이 되어 있습니다.


웹 기술을 이용하여 점점 다양해지는 모바일 환경에서 어떻게 대처해나갈 것인지 엿볼 수 있습니다. 프레젠테이션을 만든 곳이 sencha라는 모바일 웹 프레임워크를 만든 곳이다보니 결론은 쉽게 예상할 수 있습니다. 그렇지만 그 결론이 틀린 것은 아닙니다. 어디까지나 웹이냐 앱이냐는 도구일 뿐 목적은 아니니까요.


뒤쪽은 볼 필요 없고 앞쪽의 네이티브 앱, 모바일 웹, 하이브리드 앱에 대한 비교까지만 보기 바랍니다. 약간 국내 실정과 다른 부분이 있는 것은 아닌가? 라는 생각이 조금 들긴 합니다만 그렇다고 해서 완전히 무시할만한 내용은 아닙니다. 모바일 환경에서의 세 가지 구현 방법에 대한 이해를 높인다고 생각하시면 적당할 것 같습니다.


이 자료는 좀 색다른 자료입니다. 모바일이 우리의 라이프스타일을 어떻게 변화시키고 있는지에 대한 것입니다. 여러 모로 자료를 살펴봤을 때 전문가가 만들었다기 보다는 학생 발표 자료 같은 느낌이 납니다. 하지만 꽤나 잘 만든 프레젠테이션이고 내용도 곰곰히 생각해볼만 합니다.   

http://www.quirksmode.org/mobile/
여러 모바일 브라우저의 특징에 대해 잘 정리해둔 페이지입니다. 개발을 진행하다 보면 이 페이지에서 발견할 수 없는 여러 난관에 부딪히겠지만 그래도 이런 가이드가 있어 조금은 편리하게 개발할 수 있을 것으로 생각합니다.

http://www.lukew.com/ff/entry.asp?1073 - Touch Gesture Diagram
제목 그대로 터치 제스처에 대한 여러 다이어그램을 모아둔 페이지입니다. 여러 직군의 사람들 사이에서 일관된 용어를 사용하고자 할 때 기준으로 삼으면 안성맞춤입니다.


오페라 개발자 도구라는 제목이 붙어 있긴 합니다만 일반적으로 모바일 웹을 개발할 때 고려해야 할 내용들이 잘 정리되어 있습니다. 

Rethinking the Mobile Web by Yiibu
View more presentations from Bryan Rieger

무엇보다도 눈에 쏙쏙 들어오는 매우 잘 만든 프레젠테이션입니다. 볼만한 내용이 별로 없더라도 잘 만든 프레젠테이션이 어떤 것인지 잘 보여주는 예입니다. 하!지!만! 내용도 매우 훌륭합니다. 이 프레젠테이션은 꼭 보시기 바랍니다. 여러 모로 강추! 하기에 아깝지 않습니다. 시간이 있다면 다른 프레젠테이션도 꼭 살펴보기 바랍니다.


한글로 된 웹과 모바일의 전반적인 트렌드에 대한 자료입니다. KTH에 재직 중이신 권정혁님께서 만드신 자료입니다. 기술 트렌드 및 하이브리드 앱에 대한 내용을 얻을 수 있습니다.


마지막으로 CSS3의 media query에 대한 프레젠테이션입니다. 이 자료 하나만으로도 media query에 대해 많은 것을 알 수 있을 것입니다. 이 자료만 가지고 media query에 대한 강의를 해도 충분할 것 같습니다.


강의를 준비하면서 찾아본 자료는 이보다 훨씬 많지만 쉽게 볼 수 있으면서도 강의 준비에 많은 도움이 된 자료를 위주로 정리해봤습니다. 모바일 웹을 이해하는데 많은 도움이 되기를 바랍니다.


nundefined HTML5_JS_CSS context, CSS3, design, hybrid app, Lifestyle, media query, mobile browser, Mobile Web, native app, Performance, portability, Security, sencha, slideshare, 네이티브 앱, 라이프스타일, 모바일 브라우저, 모바일웹, 하이브리드 앱

HTML5 어떻게 대응해야 하는 것일까요?

2010.12.10 09:40
HTML5 가 2010년 웹세상의 핫 키워드 중 하나였던 것 같습니다. 여기저기서 세미나가 열리고, 웹에는 지금 제가 쓸 내용과 비슷한 포스트가 잔뜩 쌓여 있습니다. 서점에서는 책도 벌써 여러권 전시되어 있더군요.

HTML5이라는 것이 나왔는데, 도대체 어떻게 대응해야 하는가? 에 대한 이야기를 할까 합니다.

먼저 HTML5가 무엇인지 짧게 정리를 해볼까요?
HTML5는 웹 개발자가 원하는 욕구에 의하여 출발하여, 공식적인 웹표준을 담당하고 있는 W3C라는 곳에서 표준을 인정하여 워킹그룹으로 진행되고 있는 개선된 웹UI 기술이라고 할 수 있습니다.
HTML5하면 HTML의 히스토리나 역사 이야기가 꼭 나오는데요, 이런 부분은 다른 글에서 쉽게 찾을 수 있을것 같아서 생략합니다.

누구를 위한것인가?
매우 명확합니다. HTML5 는 웹 개발자를 위한 새로운 SPEC입니다.
다시 말해 사용자(end-user)가 얻는 혜택보다는 웹개발자가 얻는 혜택이 많습니다.
사용자에게 제공되는 혜택이 크지 않다는 것은 무슨뜻일까요?
바로 영리를 추가하는 기업에서 HTML5를 활용해서 이익을 창출할만한 기술은 아니라는 점입니다.

HTML5으로 변경되는 스펙은 무엇인가?
크게 2가지로 구분할 수 있습니다.
- 마크업의 요소들과 속성의 변화
- HTML5 JAVASCRIPT API의 추가
추가로 CSS3의 기술이 동시에 변화되고 있으며, HTML5와 같이 언급되는 것은 비슷한 맥락과 비슷한 UI인터랙션을 포함하고 있기 때문입니다. CSS3는 엄연히 HTML5의 스펙이 아닌것으로 알고 있습니다.

실제 웹은 어떻게 변화하나요?
변경되는 스펙을 통해서 확인해 볼까요?
마크업의 구조 변경은 보다 직관적이고 유지보수성을 향상시키는 부분의 변화가 있습니다.
HTML5 JAVASCRIPT API의 경우는 JAVASCRIPT 로 할 수 있는 범위를 확장 시켰으며, 이로 인해 Server-side 에서 가능했던 웹데이터베이스나 다른 브라우저 플러그인에게 부탁했던 그래픽작업등이 가능하게 되었습니다.
또한 브라우저별 호환성 문제가 많은 부분에서 해결될것입니다. 개발자들에게 선물과 같은것이겠죠? ^^
CSS3의 경우도 비슷합니다. Transformation, Transition 등의 변화가 있는데요, 주로 이미지를 자르고, 변경하고 이런류의 작업이 CSS속성으로 가능하게 되었습니다.
다시 말하지만, 이런 것들은 사용자에게는 중요하지 않은 부분의 변화로 볼 수 있습니다.

어떻게 대응해야 하나요?
TO 웹관련 비개발자분들꼐
먼저, 위에서 언급했지만 html5는 돈벌이로서 큰 메리트가 없다고 봅니다. 핵심은 웹개발자들이 수고하고 있는 부분을 덜어주고 웹개발 환경을 개선하는 것이라고 봅니다. 오히려 현재는 과도기적인 웹환경에서 일시적으로 웹개발자들이 더 수고하고 있다고 봅니다. 이런 점을 먼저 이해하셔야 합니다.

HTML5의 도입으로 인해, 기존에 복잡한 비용이 들었던 부분을 일부 개선할 수 있습니다.
이미지 편집이나 CHART같은 그래픽작업을 기존에 어떻게 했는지 볼까요?
- 서버에서 이미지를 생성하여 실시간으로 내려준다.(운용비용이 큽니다)
- ActiveX로 구현하였습니다(IE에서만 동작했겠죠? 물론 국내 IE사용자는 아직도 90%가까이 되는것으로 압니다)
- Flash로 구현하였습니다 (안타깝게도 이제 일부 모바일기기와 태블릿기기에서 플래쉬기술이 보여지지 않습니다)

이런 방법을 적은 비용으로 대체할 수 가 있습니다.
HTML5 의 CANVAS와 SVG와 같은 기술은 브라우저상에서 이미지를 조작하고 변영할 수 있도록 해줍니다.
모든 브라우저와 기기에서 동작이 가능하며, 서버에서 비싼 기기의 장비를 구할필요도 없으며, ActiveX와 같이 결함이 많이 발견되는 플러그인을 사용하지도 않습니다.

물론 이런 것을 가능하게 하는 브라우저는 한정적입니다. (구형브라우저에서는 안된다는 이야기 입니다^^)
하지만 그런 이유로 HTML5와 같은 최신기술을 바라만 보면 절대 안됩니다.

기존기술 --> HTML5 기술로의 변화과정에서 중간에 변환기라고 할 수 있는 다양한 라이브러리와 기술이 등장하고 있습니다. HTML5를 사용할 수 있는데 안타깝게 못쓰는 이유가 있다면 이를 또다른 기술로 풀어나가는 사람들이 있습니다. 대부분 이런 기술을 제공하는 것은 무료 입니다.(오픈소스)

또다른 예로, 모바일의 환경을 들 수가 있습니다.
HTML5의 가장 걸림돌은 구형브라우저에서는 (사실은 Internet Explorer 7미만) 거히 동작하지 않는 다는 것입니다. 그런 브라우저를 대한민국의 PC환경에서는 특히나 많이 가지고 있습니다.
하지만 스마트폰의 등작으로 모바일에서 웹을 언제나 경험할 수 있게 되었습니다.정말이지 1년안에 많은 변화가 생겼죠?  모바일에서도 브라우저라는 놈이 있습니다.  생긴지 얼마 안됬으니 당연히 최신기술을 담고 있습니다. PC에서 겪었던 문제를 다시 경험하지 않기 위해서입니다. 이런 이유에서 플래시와 같은 기술을 애초에 포기한것 일 수 도 있습니다.
다른 이야기이지만, 이런 경험을 많이 경험하지 못한 모바일기기 제조사에서 임의의 웹표준을 중요하지 않게 생각하고 브라우저를 개발하는 경우가 생기고 있는 것 같아서, 너무 안타깝습니다.
다시 돌아와서, 모바일에서는 HTML5가 PC 환경에 비하면 아주 잘 동작합니다^^
모바일에서 몇가지 기능을 볼까요?
- 야후 메인페이지의 내용을 손가락으로 아이폰의 앱들을 조정하듯이 스르륵 움직일수가 있습니다.(슬라이딩)
- 구글 지메일에서는 아이폰의 에어플레인모드(인터넷이 불가능한 환경)에서 메일을 열고 쓸수가 있습니다
- 어떤 서비스에서는 모바일 브라우저에서 내 위치를 감지하여 가장 가까운 곳의 원하는 장소를 찾아줍니다

순서대로 보면 다음과 같은 것들이 사용되었습니다
- CSS3의 Transition을 사용하여 효과를 구현.
 -web storage(cache api)를 사용하여 오프라인 모드에서도 인터넷이 가능하도록 구현
- web geolocation과 같은 기술로 위치기반의 서비스를 사용.

모두 HTML5와 같은 최신 웹기술을 사용하고 있습니다. 이런 부분은 최신 모바일브라우저를 통해서 많은 사용자들에게 멋진 효과와 사용자 경험을 제공하고 있습니다.

HTML5의 몇가지 기술은 아직도 사실상 표준화 된것이라고 할수 없습니다. 하지만 이런 이유로 개발비용을 감소시킬 수 있고, 사용자에게 더 멋진 기능제공을 할 수 있는 것을 지켜만 봐서는 안됩니다.
또 한가지는 여러분들과 함께 일하는 개발자들은 대부분 이러한 최신기술을 이용하여 개발하는 것을 즐겨 한다는 사실입니다. 반드시 그들에게 기회를 주고 많은 부분을 같이 고민하시면 좋겠습니다.

TO 웹 개발자분들께
이미 많은 분들은 HTML5의 스펙을 꽤고 계시고 어떤 기능이 있는지 잘들 아실것 같습니다.
제가 감히 당부 드리고 싶은 부분을 요점화 하여 알려드릴까 합니다.

HTML/CSS개발자 분들은 이제 자바스크립트를 많이 아셔야 합니다. CSS3와 같은 기술과 HTML5 API는 연관관계가 깊고, 서로 상호보완적인 요소가 있습니다. 자바스크립트를 능숙하게 하지 못하더라도 어떤 기능과 스펙이 있는지 이해를 하는 것이 좋습니다. 어떻게 구현해야 할지, 구현가능한지를 판단하기 위해서라도 자바스크립트의 이해는 반드시 필요로 합니다. 최소한 html5 spec을 이해하고 있어야 합니다.

자바스크립트 개발자분들은, 반대로 CSS3를 이해하고 있어야 합니다. 또한 Validator나 forminput관련 기능들은 모두 알고 계셔야 합니다. 말줄임표를 구현하기 위해 자바스크립트로 엄청남 삽질을 고만하고 싶다면^^
개발 영역을 확대하세요. HTML5 API중 현실성과 가깝지는 않지만 엄청난 SPEC이 포함되어 있는것 같습니다.
Web Application을 UI단에서 상당히 구현가능하게 된다는 점입니다. WEB SQL DATABASE등을 통해 서버에서나 했던 db를 클라이언트 브라우저의 제공으로 구현가능하고, Query문법을 통해서 비즈니스처리를 할 수 있습니다. WEB UI Application을 자바스크립트 기술로 가능하게 되었습니다.
이 뿐만이 아닙니다.
- web workers와 같은 기술을 통해 백그라운드로 다른 작업을 동시에 시킬 수도 있습니다.
- web storage를 사용하여 쿠키를 대체하여 http header의 부담을 줄일 수도 있습니다.
- notification API를 통해서 브라우저가 일종의 메신저와 같이 알람기능을 갖도록 할 수 도 있습니다(얼마전 RockMelt가 이 API를 사용한것 같습니다)
AJAX라는 비동기통신방법이나 Comet만의 방법을 이제는, web sockets을 통해서 기존 보다 더 빠른 새로운 방법으로 서버와 통신할 수도 있습니다.
할일이 너무 많이 늘어났네요. 불필요한 query문법을 알아야 하는것 부터, 신경쓰기 싫었던 소켓통신의 원리도 이해할 필요가 있겠군요.
어쩌면 서버사이트 웹개발자가 기존의 지식을 UI단으로 구현하는 형태가 될 수도 있습니다. 하지만 UI에서 서버사이드 작업을 하게 된다고 하여도 역시 자바스크립트 기술이 핵심이며, 이를 전문적으로 알고 있는 자바스크립트 개발자가 HTML5 API를 이해하고 활용하는 것이 더 어울린다고 할 수 있습니다.
다른 말로 가장 적합하다고 할 수 있겠군요.

#별도의 참고내용을 알려드리진 않습니다.
검색창에 html5 api css3등의 키워드만 쓰면 주루룩 끝없이 나오네요 ^^
웹에 무료로 pdf 형식으로된 개발가이드도 있습니다.
이런 부분을 작성해주신 분들께 감사드립니다.









니가요 HTML5_JS_CSS AJAX, CSS3, html5, iphone, javascript, mobile, rockmelt, Web

Sencha Animator

2010.10.29 01:00
Ext JS, Sencha Touch 등으로 유명한 Sencha에서 Sencha Animator(http://www.sencha.com/products/animator/)를 출시하였습니다. Sencha Animator는 WebKit 계열의 브라우저에서 동작하는 CSS3 기반의 애니메이션을 만들 수 있는 도구입니다. 

플래시와 유사하게 타임라인을 지원하며 객체와 이미지를 화면에 드래그하고 키 프레임을 설정할 수도 있습니다. 하지만 CSS3로 동작하기 때문에 플래시가 동작하지 않는 iOS 기반의 기기에서도 정상적으로 동작합니다. 또한 CSS3에서 제공하는 기능을 적용할 수도 있으며 사용자가 직접 CSS를 만들어 적용할 수도 있습니다. 홈페이지에서 홍보 문구로 내세우고 있는 것은

1. 서드파티 플러그인 없이 CSS3로 된 광고를 만들 수 있고
2. CSS3 효과를 적용할 수 있으며
3. HTML5와 CSS3를 사용하여 애니메이션을 만들기에 직관적인 GUI를 제공한다

입니다.

실제 동작하는 모습(http://vimeo.com/16219355)과 플래시를 공부하다 보면 한번씩은 만들게 되는 튀기는 공(http://vimeo.com/16219994) 등에 대한 비디오가 있으니 한 번씩 구경해보기 바랍니다. 

IE9 beta 관련 행사(http://www.beautyoftheweb.com/)를 보며 HTML5/CSS3가 기존의 플래시의 영역을 많이 침범할 것이라 생각은 했었는데 또 어떠한 놀라운 것이 나올지 기대됩니다.


nundefined HTML5_JS_CSS CSS3, html5, sencha, sencha animator, sencha touch