구글 네이티브 클라이언트(Native Client)

구글의 네이티브 클라언트(Native Client)는 구글 크롬 웹 브라우저에서 네이티브 코드를 실행할 수 있는 소프트웨어 플랫폼입니다. 좀 어렵게 들리겠습니다만, 쉽게 생각해서 구글의 액티브X라고 생각하시면 되겠습니다. Micrososft사의 액티브X는 다양한 기능을 제공했지만, 설치부터 잘 안 되거나 윈도우 버전 또는 시스템 환경에 따라 실행이 제대로 되지 않고 불안할 뿐만 아니라 보안 문제도 있어서 고생하는 분이 참 많았죠. 그렇게 악명 높을 것은 왜 구글에서 만들까 의아하겠지만, 웹 서버가 분석해서 실행되는 웹 프로그램보다는 실행 속도부터 빠르고 성능 높은 프로그래밍이 가능하기 때문입니다. 더욱이 구글 크롬의 네이티브 클라언트는 샌드박스에서 실행하고 시스템 콜을 허용하지 않아 보안 문제를 원천적으로 막고 있습니다.

이 이상은 저도 지식이 짧아 더 자세히 설명 드리기 어렵네요. 구글 크롬 네이티브 클라이언트, Native Client, 줄여서 NaCl, 그러고 보니 화학식으로 소금이 되겠네요. 어떤 분은 NaCl이 구글 크롬에서만 실행되므로 IE를 견제하기 위해서이다 라는 말이 있습니다만, 그렇게까지 확대해석 하고 싶지는 않고 RIA(Rich Internet Application) 프로그램을 얼마나 쉽고 강력하게 작성할 수 있느냐에 관심이 있을 뿐입니다.

구글 크롬 애플리케이션 아이콘 등록

구글의 NaCl, 구글이라 더욱 관심을 가지게 되는데 얼마나 학습을 하게 될지는 모르지만, 오늘 알게 된 지식을 정리해 보려 합니다. 그런데 구글 NaCl이 나온 지 몇 년 된 것으로 알고 있는데 찾지를 못하는 것인지 문서가 별로 없네요. API도 제대로 정리된 것도 없고. 여러모로 힘들군요. 그러나 첫날인 만큼 욕심이 지나치면 안 되겠지요.

첫 번째로 제일 간단한 작업. 구글 크롬의 애플리케이션에 아이콘을 등록하고 실행해 보는 것입니다.

일단 정리해 보면,

  1. 구글 크롬에 출력할 아이콘을 준비합니다.
  2. 프로그램 실행의 시작인 html 파일을 만듭니다.
    이번 시간에는 네이티브 프로그램까지 작성하기는 힘드므로, 아이콘을 클릭하면 화면에 "안녕, 바다야크(http://badayak.com)"을 출력하는 html 파일을 준비하겠습니다.
  3. icon 정보와 html 정보를 담은 manifest.json 파일을 만듭니다.
  4. 구글 크롬의 확장 프로그램 관리에서 등록합니다.
  5. 구글 크롬의 애플리케이션 페이지에서 실행합니다.

자, 실제로 만들어 보겠습니다. D: 드라이브에 __nacl이라는 폴더를 만들었습니다만, 적당한 곳에 적당한 이름의 폴더를 만들면 됩니다. 만들어진 최종 모습은 아래와 같습니다.

  /__nacl/
          manifest.json
  /__nacl/icon/
          icon_24.png
          icon_128.png
  /__nacl/www/
          index.html

아이콘 만들기

  1. 먼저 아이콘을 사용할 PNG 파일로 크기별로 만듭니다.
    저는 24x24, 128x128 크기의 PNG 파일을 만들었습니다.
    64x64도 있으면 좋겠죠.
    icon_24.png  = 

    icon_128.png=  

  2. __nacl에 icon 폴더를 만들고 복사해 넣었습니다.

HTML 파일 만들기

  1. __nacl에 www 폴더를 만들고
  2. www 폴더에 index.html 파일을 생성한 후,
  3. 아래와 같이 내용을 넣었습니다.
<html>
<body>
  <p>안녕, 바다야크(http://badayak.com)"</p>
</body>
</html>

manifest.json 만들기

구글 크롬 애플리케이션에 등록하기 위한 정보 파일인 manifest.json 파일을 생성합니다.

  1. __nacl 폴더에 manifest.json 파일을 만들고 
  2. 아래의 내용을 넣습니다.
{
  "name": "Hello 바다야크",
  "version": "0.1",
  "manifest_version": 2,
  "description": "구글 크롬 NaCl 첫번째 예제",
  "app": {
    "launch": {
    "local_path": "www/index.html"
    }
  },
  "icons": {
    "24": "icon/icon_24.png",
    "128": "icon/icon_128.png"
  },
  "permissions": [
    "unlimited_storage",
    "notifications"
  ]
}

구글 크롬에 애플리케이션 등록

구글 크롬에 애플리케이션을 등록하겠습니다. 아래의 링크를 클릭하거나 메인 메뉴를 이용하여 "확장 프로그램 관리"로 이동합니다.

  1. 개발자 모드를 체크합니다.
  2. "압축해제된 확장 프로그램 로드..." 버튼이 보이면 클릭합니다.

  1. 파일이 저장되어 있는 디렉토리를 선택합니다.

  1. 애플리케이션이 등록됩니다.

  1. 구글 크롬에서 새탭을 만든 후
  2. 애플리케이션을 선택하면 애플리케이션의 아이콘이 보입니다.

구글 크롬 애플리케이션 실행

아이콘을 클릭하면 앱이 실행됩니다.

고작 index.html을 실행해 본 것이 전부이지만, 다음에는 네이티브 애클리케이션을 작성해서 실행해 보겠습니다. 과연 어떤 API를 제공하는지 매우 궁금하네요.

신고
랭우 | 2012.12.14 16:13 신고 | PERMALINK | EDIT/DEL | REPLY
음... 저는 해보니까 신택스 에러라고 계속 뜨네요... 왜그런걸까요 ㅠㅠ
바다야크 | 2012.12.14 23:06 신고 | PERMALINK | EDIT/DEL
신텍스 에러는 문법 에러로 보통 명령 키워드의 철자가 틀리거나 변수 선언 없이 사용할 때 발생합니다. 명령 코드나 변수 이름을 확인해 보세요. ^^
Name
Password
Homepage Secret