Articles‎ > ‎

IO 2011: Google Apps Script 기능추가

posted May 12, 2011, 4:16 AM by Sundew Shin   [ updated Mar 15, 2012, 8:25 AM ]

GAS, 앱스기반 개발의 바른 길

필자가 올 해 Google I/O 행사에 참석할 수 있었다면 가장 관심 있었을 주제중 하나가 바로 Google Apps Script (GAS)입니다. 그 이유는 GAS야말로 구글앱스기반 비지니스도구를 만드는데 가장 (앱스)환경친화적이기 때문입니다.

GAS는 Cloud기반의 Javascript 프로그래밍 언어로 구글서비스와 다른 여타 서비스를 쉽게 연결하여 업무 자동화에 획기적으로 도모 할 목적으로 개발되고 출시 되었습니다. 우리가 기존에 알고 있는 Javascript와의 가장 큰 차이점은 Server-side Javascript, 즉, 사용자의 웹브라우져(client)에서 실행 되는 것이 아니라 구글의 Cloud server에서 실행되고 결과만 웹브라우져로 전달되어 보여지는 점입니다.

이 것이 출시 되기 이전에는 Google Gadget을 레고블록처럼 쌓아서 만들거나 했는데, 이렇게 하면, W3C DOM 관점에서 볼 때 iframe이 덕지덕지 붙는 형태가 되기 때문에 운영성과 활용성이 모두 떨어졌었습니다. 이런 플렛폼적인 측면 이외에 (프로그래밍) 언어적인 측면에서도, 아무리 GWT를 사용 한다고 해도 결국에는 Javascript code로 컴파일 되기 때문에 Javascript와 서버측 어플리케이션(server-side back-end)간의 관계에 대한 고려에서 완전히 자유로울 수 없었으므로 더 직접적인 선택이 아닐 수 없습니다. 이 밖에도, Eclipse툴 같은 외부프로그램의 사용이나 결과물 upload, 버젼관리와 같은 것이 모두 GAS Editor, 즉, 웹온라인상에서 이뤄지므로 개발환경도 단순합니다.
  • GAS -- Google Apps for Domain 구성툴들(sites, gmail, docs, calendar, ...)을 유기적으로 연결 (중소형 어플리케이션)
  • GWT -- Google App Engine 기반, Client(UI)로 개발하여 Java/Python back-end와 유기적으로 연결 (중대형 서버 어플리케이션)

Google I/O 2011: Apps Script Session

오늘 (5/12), Google I/O,  'Developing Apps, Add Ins and More with Apps Script' 세션에서는 GAS 추가 기능들이 소개 되었습니다. 아직 보시지 않았다면 다음의 비디오가 그것입니다. 데모와 그에 따른 구축(implementation)에 대한 설명이 대부분의 분량을 차지 하는데, 주요 골자는 GUI builder의 소개와 새로 추가 되는 API에 관한 것이었습니다.

GUI Builder

GAS에서 사용자 인터이스(User Interface, UI)를 만들어 보신 경험이 있다면 그 일이 얼마나 귀찮은지 잘 아실 것 입니다. 프로그래머가 디자이너가 아니어서 비단 GAS UI 뿐만 아니라 여타 다른 언어도 모두 마찮가지이기 때문에, 대부분 UI 정의 문법(syntax)이 완전히 정의 되면 머지 않아 출시 되는 것이 GUI 빌더툴인데요, 같은 이유에서 GAS GUI Builder가 개발 되어 오늘 출시 되었다고 할 수 있습니다.

Update:
  • 05/17/11 - 위 비디오 프리젠테이션에서 새 GUI Builder로 만든 UI를 프로그램코드에 적용하는 부분이 설명된 분량은 13:52(분:초)에서 16:19까지입니다. 하지만 아직까지 프로그램적으로 만든 UI 컴포넌트에 비해 GUI에서 만든 것이, 특히 event handler 취급 부분에서 완전하지가 않아 활용이 어렵습니다.
    이론적으로 컴포넌트에 createServerClickHandler로 코드에서 명기한것과 GUI에서 onClick이벤트를 event handling function에 연결하는 부분은 동일한 효과가 나야하는데 지금 상태로는 그렇지 않습니다.  비디오에서는 이 부분에 대한 것이 e두리뭉실 넘어가는데, 개인적으로 솔찍함이 부족한 발표였다고 아쉬움이 남습니다.
  • 05/31/11 - 드디어 GUI Builder에 대한 간단한 Tutorial이 올라왔습니다.
  • 08/22/11 - 
    http://code.google.com/p/google-apps-script-issues/issues/detail?id=600


추가 API

GAS가 출시 된지도 한 해가 지나고 있는데 개발자적인 측면에서 조금 안타까웠던 것은 API의 (공격적인) 추가 (method/properties/functions)개발과 새로은 API의 추가등이 다소 부족했던 부분이었습니다. 이 번에 다음 두 API가 새롭게 추가 되어 소개 되엇습니다.
  • Gmail Service
  • Document Service
간단히 설명 해서, Gmail과 문서도구 자료를 GAS에서 참조(referencing), 갱신(update) 할 수 있는 길이 마련 된 것입니다. 아직 출시전이라 구체적인 method들은 알 길이 없지만, 세미나에서 소개 된 데모와 같이 Apps Script에서 이메일 이벤트들을 고르고 프로그램적으로 회신(reply)할 수 있다는 것은, 이메일을 통한 반복적인 업무량이 많았던 팀/기업에는 여간 희소식이 아닐 수 없습니다.

이렇게 굵직굵직한 서비스들에 대한 GAS API의 지원은, 구글앱스가 외부로, 또, 외부에서 구글앱스로의 연결성을 더욱 강화 할 것으로 예상 되어 현재까지 미비한 구글앱스 사용자 저변을 더욱 확대 할 것입니다.

Comments