최근의 어떤 이들을 만나도 빠지지 않는 주제 중의 하나가 바로 HTML5 입니다. 제가 요즘 많은 관심을 기울이고 있어서 그리 보이기도 하겠지만 HTML5가 가지고 있는 잠재력은 많은 앞으로 넘어야 할 문제 점들에 비해서는 훨씬 더 매력적으로 보이는 것이 사실입니다. 뿐만 아니라 구글이나 애플 그리고 마이크로소프트와 같은 업체들이 가지고 있는 HTML5에 대한 비전은 더 큰 기대감을 가지기에 충분합니다. 1. HTML5는 결국 HTML5 일 뿐이다. 옆의 그림은 제가 발로 그린 그림입니다. (실제로 발로 그린건 아니라는 것은 아시리라.. ^^;) HTML5의 경우 기본적인 태그의 확장이나 변경이 이루어지고 Java Script를 통해 접근 할 수 있는 API의 기능이 많이 확장되었습니다. 또 Off-line을 지원할 수 있도록 새로운 기능들이 추가되고 멀티 테스크를 지원하는 등 하나의 새로운 개발 플랫폼으로써 손색이 없을 정도로 많이 확장되었습니다. 하지만 그렇다고 해도 HTML5는 HTML 일 뿐입니다. 결국은 웹을 통해서 전송될 수 있는 태그와 Java Script의 덩어리 입니다. 즉 마음만 먹으면 그 안의 내용을 열어보기에 아주 수월한 구조라는 것 입니다. 이런 경우 중요한 코드가 클라이언트 측에 구현되는 것은 데이터의 조작이나 외곡에 많은 위험을 가지고 있게 됩니다. 최대한 서비스 측에 비지니스 로직이 포함될 수 있도록 해야하고 최소한의 로직만 클라이언트에서 가져 갈 수 있게 해야 합니다. 2. HTML5이 오프라인 기능도 결국 임시 기능입니다. HTML5에 추가된 기능을 보면 기존의 쿠키보다 더 나은 방법으로 접근 할 수 기능들을 제공하는 격리 저장소 이외에도 웹 데이터베이스등 오프라인에서도 잘 실행할 수 있도록 데이터 독립성을 유지하는데 도움이 되는 기능들이 포함되어 있습니다. 하지만 HTML5에서 제공하는 방법은 아직 여전히 완전하지 못합니다. (앞으로 충분히 개선될 여지도 보입니다만..) 즉 클라이언트에서 관리되는 데이터는 어떤 순간에는 완전히 잃어버리더라도 다시 서비스에서 다운받아서 복구 할 수 있을 정도로 가볍운 용도로 사용하는 것이 적합하다는 것입니다. 즉 HTML5을 사용해서 웹이든 모바일이든 어떤 형태의 앱을 만들더라도 그 뒷단의 서비스가 잘 구현되어 있지 않으면 상당히 불완전한 모습의 앱이 될 수 밖에 없다는 결론입니다. 정리 공부해 보면 HTML5는 생각만큼 새로 공부할 것이 많지 않습니다. 요란한 소문에 비해서는 아직까지 그렇게 많은 내용이 없습니다. 이 시점에서 HTML5을 왜 사용하는지 다시 한번 생각해 볼 필요가 있습니다. 그리고 전체적인 그림을 볼 때 컨슈머 지향적인 앱의 개발에 있어서 아랫쪽은 클라우드 기반 서비스로 안정성과 탄력성 그리고 확장성을 유지하고 핵심 로직을 관리하는 방식으로 가져가야 합니다. 한 걸음 나아가서 데이타는 클라우드 안에 잘 백업 되어 있다가 필요하면 다시 사용자의 앱에 데이타가 복원 될 수 있는 구조를 유지하는 것이 이상적이라고 할 수 있습니다. 앞으로 HTML5와 관련된 내용을 한 동안 정리해 나갈 생각입니다. 많은 기대와 성원 부탁드립니다. 감사합니다.
김영욱 iwinkey@hotmail.com
현재 한국마이크로소프트에서 Evangelist로 근무하고 있으며 국내 유수의 대기업 프로젝트에 참여했던 경험과 Microsoft MVP로 다년간 활동했습니다.올해는 컨슈머와 관련된 앱을 만드는 다양한 업체들을 발굴하고 지원하는 일을 맡고 있습니다.
등록하기
데이터 위주의 웹 기반 소프트웨어를 만들 때 LightSwitch
Visual Studio LightSwitch는 높은 품질의 비즈니스 앱을 개발 할때 사용할 수있는 도구로 일종의 케이스 툴로 데이타를 기반으로 해서 약간의 작업만으로 Silverlight로 된 업무용 화면을 만드는 컨셉으로 나온 툴입니다.
LightSwitch는 아래와 같은 3가지 단계로 쉽게 앱을 생성할 수 있습니다.
- data source에 대해서 기본적인 코드를 작성하고 - 사용자 인터페이스를 생성하고 - 비즈니스 로직을 작성
다음 영상은 LightSwitch 2011의 전체적인 설명을 Jason Zander가 설명해 주는 영상입니다.
Creating Your First Business Application
Data, Queries and Code in LightSwitch 2011
Controlling Access to Your Business Application
Publishing Your LightSwitch
오늘은 HTML5를 소개하려고 합니다. HTML5는 HTML4의 차기 버전처럼 보이지만 개발자 입장에서는 완전히 다른 접근이 가능한 수준의 변화를 가져왔습니다.
HTML4까지는 인터넷 상의 문서를 만들기 위한 표준이었다면 HTML5는 단순한 문서가 아니라 앱(App)을 개발하기 위한 방법으로 Markup과 Java Script를 사용하는 방식으로 바뀌었습니다.
HTML5를 소개하는 기본적인 자료들은 제법있는데 다소 깊이 있는 내용을 보고 싶으시면 아래 두 개의 동영상을 보시면 도움이 될 것 같습니다. 첫 번째 내용은 HTML5 자체에 대한 내용이 주로 언급되어 있고 두 번째 링크는 HTML5를 튜닝 할 때 주의해야 할 내용들이 좋습니다.
Deep Dive Into HTML5 50 Performance Tricks to Make Your HTML5 Web sites Faster
HTML5는 가장 기본적으로는 최신 버전의 웹 브라이저를 통해서 결과물을 볼 수 있습니다. 웹을 통한 접근이 가장 보편적인 방법이라고 할 수 있습니다. 표준을 지원하기 위한 방법 설명 (한글) Enabling Standard Support 위치 인식 웹 페이지를 만드는 방법 (한글) How to Create a Location-Aware Webpage
HTML5를 통해 멀티미디어를 지원하는 방법(한글) How to use HTML5 to Add an Audio Player to your Webpage
HTML5와 관련된 정보들을 찾아보면 흩어져 있거나 짜투리 정보들은 많지만 잘 정리된 자료들은 많지 않은 것 같습니다.
(영어) HTML5 Drag and Drop in IE10 PPB2 (영어) Data in an HTML5 World (영어) Filling the HTML5 Gaps with Polyfills and Shims (영어) The View of the World Depends on the Glasses I Wear
HTML5와 관련된 정보는 좀 더 수집해서 다시 한번 포스팅을 하겠습니다. 감사합니다.
오늘 소개해 드릴 내용은 XBOX용으로 출시된 Kinect 입니다. 이미 XBOX용으로는 성공을 거두고 Microsoft가 Game 산업에서 입지를 다지는데 큰 역할을 했던 Kinect는 소니의 무브나 닌텐도의 위 컨트롤러와는 달리 사람이 자체가 인식식 된다는데에서 많은 사람들의 관심을 받았습니다.
이런 Kinect에서 개발자들은 많은 가능성을 보았고 이 관심을 충족시켜 드리기 위해서 Kinect를 PC에서도 운영할 수 있는 Kinect SDK가 출시되었습니다.
자세한 내용은 이전 포스팅인 http://blogs.msdn.com/b/eva/archive/2011/06/28/kinect-sdk-for-windows-nui.aspx 을 참조해 주시고 여기에서는 유용한 자료들을 소개해 드리려고 합니다.
Kinect 공식 웹 사이트 입니다.
Kinect Forum 입니다. 영문이지만 QnA를 할 수 있는 곳 입니다. Kinect Forum
개발 문서 입니다. C++과 C# 두 가지 언어를 지원하도록 되어 있습니다.
아래 링크는 Channel9과 기타 사이트에 올라온 관련 정보 입니다. 이미 Kinect와 관련된 오픈 소스들이 다수 있어서 제작에 큰 도움이 될 것 같습니다.