2011. 8. 30. 08:24

 최근의 어떤 이들을 만나도 빠지지 않는 주제 중의 하나가 바로 HTML5 입니다. 
 제가 요즘 많은 관심을 기울이고 있어서 그리 보이기도 하겠지만 HTML5가 가지고 있는 잠재력은 많은 앞으로 넘어야 할 문제 점들에 비해서는 훨씬 더 매력적으로 보이는 것이 사실입니다.

 뿐만 아니라 구글이나 애플 그리고 마이크로소프트와 같은 업체들이 가지고 있는 HTML5에 대한 비전은 더 큰 기대감을 가지기에 충분합니다. 


 1. HTML5는 결국 HTML5 일 뿐이다.

옆의 그림은 제가 발로 그린 그림입니다. (실제로 발로 그린건 아니라는 것은 아시리라.. ^^;) HTML5의 경우 기본적인 태그의 확장이나 변경이 이루어지고 Java Script를 통해 접근 할 수 있는 API의 기능이 많이 확장되었습니다. 
 또 Off-line을 지원할 수 있도록 새로운 기능들이 추가되고 멀티 테스크를 지원하는 등 하나의 새로운 개발 플랫폼으로써 손색이 없을 정도로 많이 확장되었습니다. 
 하지만 그렇다고 해도 HTML5는 HTML 일 뿐입니다. 결국은 웹을 통해서 전송될 수 있는 태그와 Java Script의 덩어리 입니다. 
 즉 마음만 먹으면 그 안의 내용을 열어보기에 아주 수월한 구조라는 것 입니다. 
 이런 경우 중요한 코드가 클라이언트 측에 구현되는 것은 데이터의 조작이나 외곡에 많은 위험을 가지고 있게 됩니다. 최대한 서비스 측에 비지니스 로직이 포함될 수 있도록 해야하고 최소한의 로직만 클라이언트에서 가져 갈 수 있게 해야 합니다. 
 

2. HTML5이 오프라인 기능도 결국 임시 기능입니다. 

HTML5에 추가된 기능을 보면 기존의 쿠키보다 더 나은 방법으로 접근 할 수 기능들을 제공하는 격리 저장소 이외에도 웹 데이터베이스등 오프라인에서도 잘 실행할 수 있도록 데이터 독립성을 유지하는데 도움이 되는 기능들이 포함되어 있습니다. 
 하지만 HTML5에서 제공하는 방법은 아직 여전히 완전하지 못합니다. (앞으로 충분히 개선될 여지도 보입니다만..) 즉 클라이언트에서 관리되는 데이터는 어떤 순간에는 완전히 잃어버리더라도 다시 서비스에서 다운받아서 복구 할 수 있을 정도로 가볍운 용도로 사용하는 것이 적합하다는 것입니다. 

 즉 HTML5을 사용해서 웹이든 모바일이든 어떤 형태의 앱을 만들더라도 그 뒷단의 서비스가 잘 구현되어 있지 않으면 상당히 불완전한 모습의 앱이 될 수 밖에 없다는 결론입니다. 


 정리

 공부해 보면 HTML5는 생각만큼 새로 공부할 것이 많지 않습니다. 요란한 소문에 비해서는 아직까지 그렇게 많은 내용이 없습니다. 이 시점에서 HTML5을 왜 사용하는지 다시 한번 생각해 볼 필요가 있습니다. 그리고 전체적인 그림을 볼 때 컨슈머 지향적인 앱의 개발에 있어서 아랫쪽은 클라우드 기반 서비스로 안정성과 탄력성 그리고 확장성을 유지하고 핵심 로직을 관리하는 방식으로 가져가야 합니다. 한 걸음 나아가서 데이타는 클라우드 안에 잘 백업 되어 있다가 필요하면 다시 사용자의 앱에 데이타가 복원 될 수 있는 구조를 유지하는 것이 이상적이라고 할 수 있습니다. 

 앞으로 HTML5와 관련된 내용을 한 동안 정리해 나갈 생각입니다. 많은 기대와 성원 부탁드립니다. 
감사합니다.  

32224_1468530191732_1187893437_1364978_7316647_n[1]

김영욱 iwinkey@hotmail.com

현재 한국마이크로소프트에서 Evangelist로 근무하고 있으며 국내 유수의 대기업 프로젝트에 참여했던 경험과 Microsoft MVP로 다년간 활동했습니다.
올해는  컨슈머와 관련된 앱을 만드는 다양한 업체들을 발굴하고 지원하는 일을 맡고 있습니다.

  • bluefin92 2011.08.30 12:53

    저도 동감입니다. 많은 분들이 HTML5가 RIA나 Desk Top App를 대체할 수 있을 거라 생각하는데
    기존에 사용하던 Desk top LOB App을 구현하려면 어림 없지요 ..
    LOB App에서는 HTML5로 가더라도 RIA나 ActiveX 같은 기술을 추가적으로 붙여야 합니다.
    더군다나 기업에서는 단순히 HTML 페이지만 가지고 기능을 구현할 수 없으니 말입니다.
    (파워풀한 그리드 기능, 보안, 인쇄, Report, Chart, Image Viewer, Client 사이드에서 Hardware 연결 등 많죠 ..)
    LOB App를 하는 사람 입장에서는 현 상황에서는 공부와 가능성만 확인하는 것이 좋을 것 같네요 ...