Outsider's Dev Story

Stay Hungry. Stay Foolish. Don't Be Satisfied.
RetroTech 팟캐스트 44BITS 팟캐스트

HTML5, Flash에 대한 생각들...

요몇일사이에 블로고스피어에 HTML5 얘기가 들끓고 있습니다. 이 일의 발단은 Apple의 Steve Jobs의 발언때문입니다. iPhone과 iPad에 Flash가 안들어간 것에 대한 질문에 대답하면서 잡스옹이 "Adobe is Lazy"라며 강력하게 비판을 했습니다.(그외 Google에 대해서도 쓴소리를 했죠.)  Adobe가 게을러서 Flash가 엉망이라 애플은 Flash를 받아들이지 않을 것이며 HTML5가 그 대안이 될 것이라고 하였습니다.



Flash 이야기
저는 플래시를 별로 좋아하지는 않습니다. 개인적인 취향이긴 합니다만 실용성보다는 화려함에 더 치중된 UI에 그다지 매력을 느끼지 못하는데 사실 이미지를 많이 쓴 것도 좋아하지 않는 편입니다. 배경으로만 깔고 Text를 이용해서 CSS로 표현하는 것이 최고지요! 개발자의 감성(?)이랄까요. 플래시를 좋아하지 않는 이유는 일단 좀 무겁기도 하고 쓸데없이 애니메이션이 많이 들어가서 메뉴를 접근할때 꽤나 귀찮게 하기 때문입니다. 그리고 플래시에 대해서는 자세히 몰라서 정확히 말하기 어렵지만 웹접근성이 아주 안좋다고 생각하고 있습니다. 웹접근성을 가지게 만들수 있는데 일반적으로 그렇게 하지 않은 플래시들이 많아서 인지는 모르겠지만 플래시가 없으면 웹접근성이 현저히 떨어집니다.(아이폰이 대표적이죠.)

Flash Logo
한때 플래시를 크로스브라우징의 대안으로 생각했던 적도 있었습니다. 꽤나 아름다운 UI를 제공할 수 있으면서 JS와 CSS를 이용해서 크로스브라우징을 위한 삽질을 수없이 하다가 보면 그 피곤함에 크로스브라우징이 웹개발의 발전에 커다란 방해가 되고 있다는 생각이 들게되고 모든 웹브라우저와 플랫폼에서 동일하게 돌아갈 수 있는 플래시가 앞으로 더 이점이 클수도 있겠다 하는 생각이었습니다. 크로스브라우징을 맞추는 것은 아직도 피곤한 일이지만 이제는 웹표준쪽에 더 기대를 하고 있기 때문에 이런 생각은 어느정도 접었습니다.

물론 기술이 나쁜 기술은 거의 없다고 생각하는 편입니다. 운이 없어서 주목을 못 받고 잊혀지던가 아니면 쓰는 행태가 나쁜것이지요. 사실 머 동작자체만 보면 ActiveX나 Flash나 거기서 거기입니다. 런타임위에서 돌아가는 브라우져바깥의 기술을 이용해서 브라우져에서 하지 못하는 추가적인 기능을 구현하는 것이지요. 작은 차이는 아니지만 ActiveX와는 다르게 비Windows플랫폼에서도 동작가능하다는 점과 플래시만 깔면 추가적으로 사이트마다 깔아주진 않아도 된다는 점 정도인데 사실 이런 문제 보다는 온갖 ActiveX로 사이트를 떡칠해놔서 ActiveX아니면 아예 못하게 해놓고 이젠 어쩌지도 못하는 된 사용행태가 더 나쁘다고 할 수 있습니다. 사실 웹사이트의 이런 저런 요구사항에서 플래시가 할 수 있는 영역에 대한 것을 무시할 수는 없습니다.

하지만 우리들의 위대하신 갑들께서는 항상 웹의 샌드박스를 띄어넘는 자원을 사용하기를 원하시는데다가 수년간의 ActiveX로 배운 UX로 인하여 사용자의 로컬자원을 맘대로 사용하는 것을 아주 자연스럽게 생각하시는 덕분에 "웹표준을 하면 유지비용도 줄고 더 빨리 많들수 있고 접근성도 향상하고 렌더링도 빨라지면서 다양한 브라우저에서 접근성이 어쩌고 저쩌고.... 하지만 기존처럼 로컬파일 드래그앤드롭하던지 캡쳐화면 찍어서 내려주던지 하는 것 같은 것은 더이상 지원할 수 없습니다. 이게 웹의 본연의 기능이에요."라고 하는 말은 씨알도 안먹히는 상황이 되었다고 할 수 있습니다.  그런 상황에서 웹의 기본적인 샌드박스를 뛰어넘을 수 있는건 사실 Flash밖에 없었기에 Flash의 성장은 당연하다고 할 수 있습니다. (지금은 Silverlight나 JavaFX도 있긴 합니만 Flash얘기를 하는 중이었고 가장 많은 장악력을 가지고 있어서 플래시만 언급했습니다. 다른 개발자분들은 섭섭해 하지 마시길... ㅎ)



HTML5 이야기
여기에 최근 새로운 흐름이 가세합니다. HTML5와 CSS3가 그 주인공인데 지금 사용하고 있는 HTML 4와 XHTML의 다음 버전이라고 할 수 있습니다. 기존의 XHTML의 다음버전으로 만들던 XHTML 2는 중지되고 모든 자원이 HTML5로 모아지게 되었습니다. 현재 HTML5는 working draft중이고 사실 표준확정도 되지 않은 상태입니다. 현재의 웹표준까지의 엔드유저까지의 도입도 험난했기 때문에 2020년이나 되어야 적용하게 될 기술로 생각하고 있었습니다. (webmonkey에서도 비슷한 얘기가 있었던 걸 보면 저만 그런것 같지는 않습니다.)

HTML tag
그냥 그렇게 생각하고 있었는데 HTML5가 급속도로 눈앞으로 다가왔습니다. 그동안 너무 오래된 HTML 4를 가지고 하기에 너무 지쳤던 것인지 웹개발자들이 적극적으로 HTML5도입에 나섰습니다. HTML과 CSS만 가지고 어떤 것을 할 수 있는지 열심히 만들어서 보급하기 시작했는데 생각보다 그 속도가 빨랐고 올해 넘어오면서부터는 대표적인 웹2.0서비스들이 베타이긴 하더라도 HTML5를 적극적으로 서비스의 도입하기 시작했습니다. 이부분은 현재 HTML5를 지원하고 있는 Safari와 Chrome의 몫도 크다고 할 수 있겠습니다.(정확히는 Webkit이겠지요.)

CSS3만으로 애니메이션을 만들고(Matrix, Pulse) 로컬파일을 Drag&Drop하고 동영상플레이어를 만드는 등 아직다 확정되지도 않았는데 많은 가능성들을 보여주고 있습니다. 차후에는 WebSocket도 도입되면 진정한 리얼타임도 등장하리라고 생각합니다. 그동안 한계를 가진 개발자들만 좋아하는 웹표준에 비해서 이젠 진짜 괜찮은 새로운 웹표준이 오고 있는 것입니다. 지금 생각으로는 3~5년이내에 실제 서비스에 써먹을 수 있겠다 싶습니다.



아이폰 이야기
이제서야 아이폰 얘기를 다시 꺼내는군요. 새롭게 등장한 HTML5와 기존의 강자의 역할이었던 Flash와의 싸움은 꽤 오래 끌고 갈것이라고 생각하고 있었는데 세계를 강타해버린 아이폰이 플래시를 버린 덕분(?)에 의외로 HTML5에 힘이 크게 실리고 있는 느낌입니다. 항상 세미나 가면 전세계 PC에 99프로정도 설치되어 있다고 자랑하던 Adobe였는데(플랫폼장악력에서 엄청나다고 할 수 있죠.) 아이폰이 플래시를 거부한 덕에 모바일시장에서는 맥을 못추고 있는데다가 스마트폰에서 엄청난 퍼센티지를 자랑하는 아이폰덕에 모바일용 사이트들도 플래시 사용을 꺼리고 있기 때문에 급격히 힘을 잃어가는 듯한 느낌입니다. 엄청난 몸값과 장미빛 미래를 가지고 있던 플래시개발자들도 아직은 판단은 이르지만 애플이라는 하나의 회사덕에 좀 뿌옇게 된 분위기입니다.

Image by oskay via Flickr

플래시개발자들에게는 죄송하지만 저는 이 분위기를 상당히 반기고 있습니다. 왜냐하면 그동안 웹접근성이나 웹표준은 거들떠도 안보던 갑들께서(SI의 갑만 갑은 아니지요.) 탐나는 모바일시장에는 진출하고 싶다보니 자연스럽게 웹표준이나 HTML5에 신경을 쓰는 분위기가 되었다는 거죠. 이건 비단 플래시만의 문제는 아니지만 기존의 IE용으로만 만들어놓은 사이트들이 모바일에서 보니 엉망인 경우가 많으니까 어쩔수 없이 받아들이게 된 현실인거지요. 사실 원래 잘 만들어놨으면 아주 간단히 해결할 수 있을 문제였고 원래 사이트를 손대기 어려우니 대부분은 그냥 모바일용 별도구축으로 방향을 잡고 있는듯 하지만 어찌되었든 상당히 반길만한 분위기라고 생각합니다.



Epilogue
사실 애플이 플래시를 거부한 것은 아름다운 웹표준을 위해서라거나 더 좋은 HTML5를 위해서라기 보다는 밥그릇 싸움때문이라는 인상이 더 강합니다. 그렇지 않다면 사용자에게 선택권을 주면서 HTML5를 더 강력히 지지하면 될 일이지요. 이유야 어찌되었든 여태까지는 이런 애플의 행보가 웹개발자로써는 반길만한 상황으로 이끌고 있는 듯 합니다.(이 상황과는 다르게 Video코덱으로 H.264가 아닌 파이어폭스와 오페라가 지지하는 OGG Theora를 지지합니다.)

아직 워킹드래프트상태임에도 HTML5가 보여주고 있는 미래는 아주 강력하다 못해 아름다울 정도입니다. 더 늦기전에 올해부터는 HTML5와 CSS3를 본격적으로 맘먹고 공부하면서 준비해야 할 듯 합니다. 아직도 W3C내에서 만은 논쟁이 일어나고 있는데 서로 밥그릇싸움 하지 않고 가장 범용적인 형태로 좋은 Final 스펙이 나오기를 바랄 뿐입니다. 앞으로 찬찬히 두고 봐야죠.

트위터에서(누군지는 영 생각이 안나네요.) 클라이언트사이드쪽 구루들이 얘기했던 대화가 생각납니다.
A: I like HTML5.
B: @A who doesn't.

누군들 않좋아하겠습니까? ^^



HTML 관련 읽을만한 글들
HTML5가 개발자에게 ‘기회의 땅’인 이유
HTML5의 모든 것
HTML5 video and H.264 ? what history tells us and why we’re standing with the web


ps. 몇일 지났다고 생각했는데 글을 쓰고 나서도 블로고 스피어에 스티브 잡스의 이번 발언에 대한 많은 얘기들이 나오고 있었습니다. 그런 글을 읽다가 약간 제가 작성한 글의 오해의 여지가 있는것 같아 추가글을 남깁니다.

제가 언급한 부분은 웹표준이 현실에 크게 반영되지 못하던 상황에서 이유야 어찌되었던 HTML5로의 전환이 급속도로 전환되는 상황에 대한 반가움에 대한 내용을 적은 것이지 플래시는 사라져야 하는 기술이라는 의미는 아니었습니다. 최종적으로는 이런 부분은 사용자 혹은 중간에서 기술(웹이나 앱이나)을 제공하는 곳에서 선택적으로 할 일이지 벤더가 차단할 문제는 아니라고 생각합니다. HTML5의 시대가 도래하더라도 HTML5이상의 요구사항이 당연히 필요해질 것입니다. W3C가 표준이지만 표준인만큼 발전은 느린점이 있기 때문에 모든 요구사항을 받아들여질 수 없기에 차후 플래시든 어떤 기술이든 필요해질 것은 당연한 수순이라고 생각합니다.

어떤 기술이냐보다 어떻게 쓰느냐가 더 중요하겠지요. ㅎ
2010/02/05 01:53 2010/02/05 01:53