.NET(닷넷)이 나온 이후 그 기술이 이끌려 마소잡지에도 글을 몇 개 올리고 2001년부터는 책을 쓰기 시작했다.
대학원 시절이고 BK21이라는 아주 편안한 울타리(?)에서 그리 바쁠 것 없이 집중할 수 있었다.
그 유명한(?) 무려 2000페이지가 넘는 영진출판사의 비주얼 C++ 바이블(이상엽 저)처럼 만들려는게 목표였다.
[품절]
[품절]
나름 그 당시 번역서가 아닌 책으로는 최초 C# 책이었고 모든 내용, 예제, 그림까지 최선을 다했으니 만족했던 작업이었다.
하지만 2000년 부터는 본격적인 인터넷시대였고 정보로 넘쳐나기 시작했다.
그 당시 초기의 구글은 정말 대단했다. 대학원 시절 논문은 모두 구글링으로 찾았으니,
IT 출판사들이 많이 사라질 수 밖에...
그 시절을 생각하면 마이크로소프트의 닷넷 기술은 지금의 안드로이드처럼 대단한 관심을 불러일으켰고 자바와 같이 놓고 항상 개발자들
사이에서 장단점을 논하는 대상이었다.
마치 아이폰과 안드로이드폰의 관계라고 할까.
하지만, 요즘과 같은 "오픈"시대에 MS의 기술은 아무리 좋아도 대세가 되지 못하고 있다.
안드로이드로 인해서 자바 언어는 여전히 개발자들에게 필수 아이템으로 장수하고 있지만, 닷넷의 C#은 여전히 윈도우즈 안에서
살고있다 (물론, MONO 등 오픈플랫폼으로 시도가 되었었지만 리눅스 등에서 닷넷을 쓰는 사람은 한 명도 본 적이 없다 -.-).
하지만 MS는 여전히 최고의 기술력을 가지고 있다. 운영체제 - Windows,
문서도구 - Office
웹/커뮤니케이션 - IE8, MSN, Windows Live
게임 디바이스, 플랫폼, SW - XBOX, DirectX
멀티미디어 - Zune, Media player/center
모바일 - Windows Mobile, CE, Phone
프로그래밍 개발환경 - Visual Studio
프로그래밍 언어 - 닷넷(C#, VB.NET ...)
그래픽디자인 개발환경 - Express
그래픽디자인 언어 - XAML, Silverlight
검색엔진 - Bing
클라우드 컴퓨팅 - Windows Azure 헥헥 정말 안하는게 없다.
이렇게 안하는 게 없는 회사인데 아래 3가지를 집중하지 않았으니 지금의 MS가 되었지 않았을까. "오픈" + "웹" + "모바일"
이제 지인들에게 많이 나누어 주고 남은 책은 몇 권 되지 않는다.
사고 싶어도 살 수 없으니 잘 보관해야 겠다.
그리고, "오픈"이 대세이니 누가 볼지 모르겠지만 인터넷에 올릴 생각이다.
- 위치기반 어플리케이션은 Augment Reality과 결합해서 2010년에는 더 많은 어플리케이션이 나올 것으로 보임.
- Mashable의 2010년 LBS 예측을 봐도 느끼지만 모든 회사들이 서로 선점하려고 할 것이고 완전히 모바일 깊숙히 자리잡을 듯 하다.
2.4. Application Cache and DB
- App Cache는 원하는 리소스를 오프라인으로 선언하면 됨.
CACHE MANIFEST로 선언함. cache.manifest 파일에 내용을 적으면 됨.
- Local DB는 Google IO 개념과 거의 동일 (역시 구글!!)
var db = window.openDatabase("NoteTest", "1.0", "Example DB", 200000);
db.transaction(
- 이로 인해 WebApplication의 weak point였던 사용자 데이터 Load/Save가 이제 가능해짐.
2.5. Web workers
- A more powerful web = a more power ful app.
- Javascripts가 백그라운드로 동작한다? -> Web Workers
var worker = new Worker('worker.js');
worker.onmessage = function(event) {
console.log('Results: ' + event.data);
}
// workers.js
function findPrimes() {
// ...
}
아래 HTML5 소개 동영상을 보면 더 자세히 설명하고 있다.
3. HTML5의 지원군들
현재 WebOS+WebApplication은 iPhone, Android의 OS+NativeApps과 비교해서 아래와 같은 단점이 있어 장점이 잘 보이지 않는다.
- 느리고 무겁다
- UI가 플랫폼에 최적화되어 있지 않다
- Interactive하지 않다
- Offline에서 동작하지 않는다.
하지만, HTML5가 대부분의 단점들을 극복하고 있다.
3.1. Web OS
하지만, HTML5+α라면 달라질 수 있다. 그 알파(α)는 바로 WebOS 혹은 WOA(Web Oriented Architecture)가 될 수 있다.
위의 그림은 현재 기존 "HTTP+HTML"이라는 Web의 형태에서 얼마나 많은 기술적, 문화적 발전이 있어왔는지를 잘 보여주고 있다.
이러한 구조는 Google Chrome 이나 Palm WebOS가 하나의 예를 보여주고 있다고 할 수 있다.
그런데 어찌됐든 느린 단점은 극복될 수 있을지 잘 모르겠다. -_-;
3.2. Mobile Web
HTML5는 MobileWeb환경에서 더욱 빛을 발할 것으로 보인다.
이유는,
- Mobile 환경은 플랫폼이 매우 다양하다. 물론, 이 다양성으로 시장이 커지고 있지만 MobileWeb은 어떤 플랫폼이든 관계없이 탑재된 브라우저가 지원된다면 MobileWeb 기반 서비스들을 사용할 수 있다.
- Mobile 환경 디바이스들은 PC 등의 서브로 사용되든지 아니면 동시에 사용되지 완전히 단독으로 사용한다고는 아직까지 볼 수 없다. 따라서, 다양한 환경의 디바이스들을 사용하는 사용자들은 자신의 데이터 동기화나 동일 UI를 선호할 것이다. 즉, MobileWeb은 그런 점에서 Native에 비해 우세하다 (사실, 정말 우세한건지는 잘 모르겠다. 왜냐면 Native도 이미 그런점을 다 극복하고 있기 때문에...)
그 중에서 Fennec (Mobile Firefox)브라우저가 올해 공식 출시될텐데 대략 아래와 같다 (동영상 참고).
- Nokia가 주도하는 Maemo 플랫폼에 탑재되고 N900 출시.
- HTML5의 offline storage 지원
- HTML5의 Javascript, including Javascript access to device capabilities like geolocation, camera, and calling
3.3. Cloud Computing / SaaS (Software as a Service)
클라우드 컴퓨팅하면 구글이다.
Search, Gmail, Docs, Reader, Map, Picasa 등 구글의 GMS(구글 모바일 서비스)들은 모두 구글의 클라우드 서비스 안에 놓여있다. 즉, 온라인 상태에서 동작하는 어플리케이션들이다.
하지만, HTML5의 "Application cache and DB" 기능으로 인해서 오프라인에서도 동작이 가능하게 된다.