<C7D1B1B9C1A4BAB8BBEABEF7BFACC7D5C8B82DC0CCBDB4B8AEC6F7C6AE2036BFF9C8A35FB3BBC1F62E687770>

Similar documents
슬라이드 1

HTML5* Web Development to the next level HTML5 ~= HTML + CSS + JS API

Microsoft PowerPoint - Chapter_03.pptx

Special Theme _ 모바일웹과 스마트폰 본 고에서는 모바일웹에서의 단말 API인 W3C DAP (Device API and Policy) 의 표준 개발 현황에 대해서 살펴보고 관 련하여 개발 중인 사례를 통하여 이해를 돕고자 한다. 2. 웹 애플리케이션과 네이

KIDI_W_BRIEF(제1호)_본문.hwp

<4D F736F F D B3E220C1D6B8F1C7D8BEDFC7CFB4C220B5F0B9D9C0CCBDBA5FB1E8BCAEB1E25FBFCFB7E12E646F6378>

Microsoft Word - ICT Report

HTML5가 웹 환경에 미치는 영향 고 있어 웹 플랫폼 환경과는 차이가 있다. HTML5는 기존 HTML 기반 웹 브라우저와의 호환성을 유지하면서도, 구조적인 마크업(mark-up) 및 편리한 웹 폼(web form) 기능을 제공하고, 리치웹 애플리케이 션(RIA)을

CLICK, FOCUS <표 1> 스마트TV와 기존TV의 구분 및 비교 구분 전통TV 케이블TV/IPTV 인터넷TV/웹TV 스마트TV 전달방식 방송전파 케이블/인터넷망 인터넷망 인터넷망 양방향 서비스 없음 부분적으로 있음 있음 있음 콘텐츠 지상파 방송사가 확보한 콘텐츠

<4D F736F F D205B4354BDC9C3FEB8AEC6F7C6AE5D3131C8A35FC5ACB6F3BFECB5E520C4C4C7BBC6C320B1E2BCFA20B5BFC7E2>

Microsoft PowerPoint - Mobile SW Platform And Service Talk pptx

보안공학연구회

AGENDA 모바일 산업의 환경변화 모바일 클라우드 서비스의 등장 모바일 클라우드 서비스 융합사례

컴퓨터과학과 교육목표 컴퓨터과학과의 컴퓨터과학 프로그램은 해당분야 에서 학문적 기술을 창의적으로 연구하고 산업적 기술을 주도적으로 개발하는 우수한 인력을 양성 함과 동시에 직업적 도덕적 책임의식을 갖는 IT인 육성을 교육목표로 한다. 1. 전공 기본 지식을 체계적으로

<C7D1B1B9C1A4BAB8BBEABEF7BFACC7D5C8B82D535720C7C3B7A7C6FB20C7D8B9FD20536F4320C0B6C7D5C0B8B7CE2DB3BBC1F62E687770>

PCServerMgmt7

12월1일자.hwp

Egretia_White_Paper_KR_V1.1.pages

<4D F736F F D205B4354BDC9C3FEB8AEC6F7C6AE5D39C8A35F B3E C0AFB8C1B1E2BCFA20B5BFC7E2>

전파방송통신저널 는 가격으로 출시될 것으로 예상된다. 구글도 HTC와 손잡고 크롬 OS를 탑재한 태블릿 PC 크 로미움 을 선보일 예정이다. 마이크로소프트도 쿠리어(Courier) 라는 이름으로 양면 스크린 북 클릿 형태의 새로운 태블릿 PC를 올해 안으로 출 시할 예

User Guide

Analyst Briefing

기술 이력서 2.0

<49534F C0CEC1F520BBE7C8C4BDC9BBE720C4C1BCB3C6C320B9D D20BDC3BDBAC5DB20B0EDB5B5C8AD20C1A6BEC8BFE4C3BBBCAD2E687770>

Intro to Servlet, EJB, JSP, WS

02_3 지리산권 스마트폰 기반 3D 지도서비스_과업지시서.hwp

품질검증분야 Stack 통합 Test 결과보고서 [ The Bug Genie ]

오늘날의 기업들은 24시간 365일 멈추지 않고 돌아간다. 그리고 이러한 기업들을 위해서 업무와 관련 된 중요한 문서들은 언제 어디서라도 항상 접근하여 활용이 가능해야 한다. 끊임없이 변화하는 기업들 의 경쟁 속에서 기업내의 중요 문서의 효율적인 관리와 활용 방안은 이

Microsoft Word - 김완석.doc

Domino Designer Portal Development tools Rational Application Developer WebSphere Portlet Factory Workplace Designer Workplace Forms Designer


목 차 Ⅰ. 일반사항 1 Ⅱ. 특기사항 3 Ⅲ. 물품내역 및 세부규격 8 Ⅳ. 주의사항

Microsoft PowerPoint - Smart CRM v4.0_TM 소개_ pptx

Week13

<BCBCBBF3C0BB20B9D9B2D9B4C220C5ACB6F3BFECB5E520C4C4C7BBC6C3C0C720B9CCB7A128BCF6C1A4295F687770>


¨ìÃÊÁ¡2

LG Business Insight 1119호

Microsoft PowerPoint - Chapter_03-1_DevEnv.pptx

Ⅰ. 서론 1989년 CERN의 팀 버너스 리에 의해 만들어진 월드 와이드 웹 기술은 HTML(HyperText Markup Language), URL(Unified Resource Locator, HTTP(Hyper- Text Transfer Protocol)이라는

삼국통일시나리오.indd

제 출 문 환경부장관 귀하 본 보고서를 습마트기기 활용 환경지킴이 및 교육 통합 서비스 개 발 과제의 최종보고서로 제출합니다. 주관연구기관 : 주관연구기관장 : 2015년 10월 주식회사 덕키즈 김 형 준 (주관)연구책임자 : 문종욱 (주관)참여연구원 : 김형준, 문병

<4D F736F F D20C1A4BAB8C5EBBDC5C1F8C8EFC7F9C8B8BFF8B0ED5FBDBAB8B6C6AEBDC3B4EBBAF22E727466>

우리 스몰캡 이슈 1. IT 패러다임 변화는 소프트웨어가 주도 IT경쟁력은 HW SW 전 세계 IT회사 시가총액 상위 5위 중 3개가 소프트웨어 회사이며, 나머지 하드웨어 회사 조차도 소프트웨어 역량을 육성하는데 집중하고 있는 상황이다. 하드웨어의 차별성은 계속 떨어지

Microsoft Word _전기전자_2011 CES.doc

Microsoft PowerPoint - web-part03-ch19-node.js기본.pptx

NFC 서비스 활성화 추진계획 기존 모바일 결제시장 Ecosystem 향후 모바일 결제시장 Ecosystem App Store App사업자의 중요성 증대 통신사 APP. 사업자 금융기관 (카드) APP. 사업자 VAN 휴대폰 제조사 정부 및 규제기관 OS Provide

<B1DDC0B6C1A4BAB8C8ADC1D6BFE4B5BFC7E C8A3292E687770>

지난 해 미국의 서브 프라임 모기지 사태로 발단이 된 글로벌 금융 위기는 그 여 파가 어느 정도인지, 언제 끝날 것인지 모를 정도로 세계 경제를 위협해 들어가고 있다. 금융 위기의 여파는 실물 경제에도 암울한 그림자를 드리우고 있다. 전문가들 에 따라서는 이미 세계 경

[White Paper]다시보는 시맨틱 웹 그리고 시맨틱 기술 하는 Tabulator와 Sindice에 기반한 데이터 매쉬업 및 브라우징 서비스인 sig.ma는 꼭 한번 경험해 봐야 할 대상이 다. 또한, SemaPlorer나 DBpedia Mobile 경우는 LOD

스마트 TV 부상에따른시사점 스마트 TV 부상에따른시사점 * 1) TV TV TV TV, TV TV OS, TV, (CPU), TV TV 13 1/3, 1/2,, *, (TEL) ( ) 1) N OS

<BDBAB8B6C6AEC6BCBAF12DC3D6C3D6C1BE5B315D2E687770>

슬라이드 1

스마트폰 애플리케이션 시장 동향 및 전망 그림 1. 스마트폰 플랫폼 빅6 스마트폰들이 출시되기 시작하여 현재는 팜의 웹OS를 탑재한 스마트폰을 제외하고는 모두 국내 시장에도 출 시된 상황이다. 이들 스마트폰 플랫폼이 처해있는 상황 과 애플리케이션 시장에 대해 살펴보자.

Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일

산업백서2010표지

Portal_9iAS.ppt [읽기 전용]

ESP1ºÎ-04

스마트폰 도입에 따른 국내 통신시장 환경의 변화 음성중심에서 데이터 중심으로 변화하고 있으며 데이 터 매출 비중도 08년 20.2% 13년 24.7%로 꾸준히 증 가할 전망이다. 또한, 데이터 활성화로 스마트폰 콘텐츠 장터(앱스토 어) 시장도 크게 성장할 것으로 예상된

9월1일자(최종).hwp

서현수

IPAK 윤리강령 나는 _ 한국IT전문가협회 회원으로서 긍지와 보람을 느끼며 정보시스템 활용하 자. 나는 _동료, 단체 및 국가 나아가 인류사회에 대하여 철저한 책임 의식을 가진 다. 나는 _ 활용자에 대하여 그 편익을 증진시키는데 최선을 다한다. 나는 _ 동료에 대해

기초에서 활용까지 윈도우즈 임베디드 CE 프로그래밍

슬라이드 1

1 전통 소프트웨어 가. 국내 데이터베이스 서비스 시장, 매출 규모에 따른 양극화 현상 심화 국내 데이터베이스 시장은 지속적으로 성장세를 보이고 있으나 비중이 가장 높은 데이터베이스 서 비스 시장에서 매출 규모에 따른 빈익빈 부익부 현상이 심화되는 추세 - 국내 DB사

±èÇö¿í Ãâ·Â

2007

아이패드에 주목하는 것은 현재 성능 때문이 아니다. 오히려 기존 PC나 휴대폰과 구분되는 가치와 사용형태로부터 파생될 변화 때문이다. 되는 선호도 조사에서는 아이패드가 넷북과 e-book보다 월등한 것으로 나타났다. 제품별 인지도는 넷북이 아이패드보다 월등하게 나타 났

I What is Syrup Store? 1. Syrup Store 2. Syrup Store Component 3.

Microsoft Word - 조병호

크리덴셜_FBASIC_V3

Windows Embedded Compact 2013 [그림 1]은 Windows CE 로 알려진 Microsoft의 Windows Embedded Compact OS의 history를 보여주고 있다. [표 1] 은 각 Windows CE 버전들의 주요 특징들을 담고

Microsoft PowerPoint - 엔터프라이즈_모바일 - deployment.pptx

Building Mobile AR Web Applications in HTML5 - Google IO 2012

크리덴셜_FBASIC_V4

playnode.key

<4D F736F F D20C3D6BDC B5BFC7E2202D20BAB9BBE7BABB>

vm-웨어-01장

NIPA-Weekly_ICT( ).hwp

<B4EBC7D1BAF1B8B8C7D0C8B8C3DFB0E8C7D0BCFABFACBCF62D C1F8C2A520C3D6C1BE292E687770>

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D D382E687770>

J2EE & Web Services iSeminar

Microsoft Word - KSR2014S042

歯이시홍).PDF

2010 년 10 월넷째주 ( ) 1. IT와타산업융합위한민관노력강화 2. 한국, IT산업분야국제표준제안건수세계 1위달성 3. 한국, 3년연속세계브로드밴드경쟁력 1위기록 4. 삼성SDS, 2011년 IT메가트렌드선정 'Smart' 와 'Social' 이핵심

Orcad Capture 9.x

Microsoft Word - ICT Reprot

DocsPin_Korean.pages

Assign an IP Address and Access the Video Stream - Installation Guide

#2_1_0_1

Microsoft PowerPoint - 휴대폰13년전망_ _IR협의회.ppt

Voice Portal using Oracle 9i AS Wireless

<30312DC1A4BAB8C5EBBDC5C7E0C1A4B9D7C1A4C3A52DC1A4BFB5C3B62E687770>

<4D F736F F D20BDBAB8B6C6AE545620BCD3BFA1BCADC0C720534E5320C6F7C1F6BCC5B4D720B9D720C0FCB7AB5FBCDBB9CEC1A42E646F63>

LU8300_(Rev1.0)_1020.indd

CONTENTS Volume 테마 즐겨찾기 빅데이터의 현주소 진일보하는 공개 기술, 빅데이터 새 시대를 열다 12 테마 활동 빅데이터 플랫폼 기술의 현황 빅데이터, 하둡 품고 병렬처리 가속화 16 테마 더하기 국내 빅데이터 산 학 연 관

게시: SWD

스마트 TV 등장에따른유료방송사업자의대응 스마트 TV 등장에따른유료방송사업자의대응 * 1), Google TV TV, Hulu, Netflix, TV N-Screen TV,, TV, TV IPTV TV N-Screen TV, Needs TV *, (TEL)

< B3E BCADBAF1BDBAB0FCB7C320C1A4BACE20C1F6BFF8BBE7BEF726C1A6B5B520C3D6C1BE E3128BCF6C1A420B9CEBAB4BCF6292DC6EDC1FD2E687770>

Multi Channel Analysis. Multi Channel Analytics :!! - (Ad network ) Report! -! -!. Valuepotion Multi Channel Analytics! (1) Install! (2) 3 (4 ~ 6 Page

Transcription:

표지 면지와 동일

webos for Smart Devices 목 차 1. 서 론 1 2. webos 개발 배경 3 3. webos 기술 소개 7 4. webos 발전 방향 33 5. 결 론 35 참고문헌 36

본 Issue Report에 대한 자세한 문의사항은 아래로 연락주시기 바랍니다. 문의 : 임베디드소프트웨어 시스템산업협회 주윤영 선임 T) 02-2132-0754 F) 02-782-1266 E-mail) young@fkii.org 보고서의 내용을 인용할 때에는 출처를 밝혀 주십시오.

1. 서 론 - 요 약 - 본 보고서에서는 webos의 개발 배경 및 기술적 특징을 살펴보고 향후 발전 방 향에 대해 소개 한다 1). webos는 Palm OS에 기반을 둔 플랫폼으로서 많은 사람 들의 관심과 호응 속에서 2009년 처음으로 소개되었다. Enyo 웹앱 프레임워크를 기반한 웹앱 개발 환경, 시스템의 확장성을 향상시키는 임베디드에 최적화된 Luna 버스 시스템, JavaScript의 활용도를 극대화하는 Node.js 서비스 프레임워크 등 많은 혁신적인 기술들과 사용자 편의성을 세심하게 고려한 UX (User Experience) 는 타 플랫폼과 견주어도 손색이 없는 webos의 장점들이다. 하지만, 비즈니스적인 측면의 실패로 webos 기반 제품들이 잇단 시장에서 큰 성공을 거두지 못하면서 webos에 대한 기대가 많이 퇴색되어 있는 실정이다. 웹기반 플랫폼에 대한 요구 가 증가하고 있는 시점에, LG가 webos를 인수하면서 webos의 발전 방향이 다시 금 조명 받고 있다. webos와 LG전자의 기술력이 만나 머지않아 전 세계 소비자 들에게 webos를 기반으로 한 차별화된 경험을 제공할 수 있을 것이라 기대한다. 1. 서 론 SW 플랫폼은 어플리케이션을 구동시키는 방법에 따라 크게 네이티브 SW 플랫폼 과 웹기반 SW 플랫폼으로 구분할 수 있다 [1]. 네이티브 SW 플랫폼은 C, C++, Java 등의 언어를 사용하여 프로그램을 개발하고 실행시키기 때문에 속도가 상대 적으로 빠를 수 있는 장점이 있으나 응용 개발이 SW 및 HW 플랫폼에 종속적인 단점이 있다. 웹기반 SW 플랫폼은 HTML (Hyper Text Markup Language)과 JavaScript 를 프로그램 개발에 사용하는 방식이다. 웹기반 어플리케이션은 HTML과 JavaScript를 처리하는 웹 엔진 위에서 수행되기 때문에 네이티브 방식 에 비해 어플리케이션 처리 속도가 느릴 수 있다. 하지만, 웹 표준에 기반하여 어 1) 본 소개의 내용은 기존의 HP Open webos 발표 자료를 기반으로 작성되었으며, 향후 LG전자의 webos 방향과는 일치 하지 않는 부분이 있을 수 있습니다. -1-

webos for Smart Devices 플리케이션을 개발할 수 있고, 웹 엔진이 어플리케이션의 SW / HW 플랫폼 종속 성을 완화시키기 때문에 네이티브 SW 플랫폼이 가지는 단점을 보완할 수 있다. 다양한 플랫폼을 탑재한 스마트 기기가 발전하고, 다양한 기기에서 호환이 되는 앱 2) 을 쉽게 개발할 수 있는 기술이 필요해지면서 웹기반 플랫폼이 주목 받기 시작 하였다. 웹앱의 경우, 브라우저만 있으면 어디서든 동일하게 실행되며, 다양한 해상 도에도 쉽게 적용할 수 있다. 웹기반 플랫폼의 성능 측면에서의 단점인 CPU와 네 트워크의 속도가 비약적으로 향상되고 있기 때문에 향후 어렵지 않게 극복될 수 있 을 것으로 예측된다. 웹앱의 제한적인 HW 접근성은 현재 표준화 업무가 활발히 진행되고 있기 때문에 향후 표준화가 완료되면 네이티브 못지 않은 강력하고 다양 한 웹앱이 등장할 것으로 예상된다 [2]. 2009년 1월 CES에서 Palm이 공개한 webos는 웹기반 플랫폼에 대한 개념과 생각을 바꾸는 결정적인 계기가 되었다. 과거에도 Microsoft 등은 웹 기술을 운영 체제와 결합시키는 다양한 시도들을 하여 왔지만, 브라우저 화면을 어플리케이션처 럼 사용하는 것을 넘어, HTML를 기반으로 하는 웹앱 중심의 운영체제가 등장한 것은 최초였기 때문이다. 이러한 시도는 다양한 웹기반 플랫폼에 대한 새로운 시도 들을 촉발하는 계기가 되었고, 크롬 OS 등의 등장으로 이어졌다 [2]. webos는 개발자 중 가장 많은 비율을 차지하는 웹 개발자를 새로운 생태계로 끌어들일 수 있는 기회를 제공한다. HTML, CSS, JavaScript 기반 웹앱 프레임워 크인 Enyo, 브라우저 기반의 WYSIWYG 개발 환경인 Ares 등을 제공하여 웹앱 개발자들의 개발 편의성을 향상 시켰다. JavaScript기반 어플리케이션 플랫폼인 Node.js를 채용하여 어플리케이션뿐만 아니라 미들웨어 컴포넌트들도 JavaScript 를 활용하여 개발할 수 있다 [18]. 기존의 네이티브 앱을 빠르게 수용하고 네이티 브 컴포넌트를 사용하여 웹앱의 성능을 향상 시키기 위한 네이티브 개발 환경인 PDK (Plug-in Development Kit)도 제공 한다. 그 외 webos는 시스템 확장성 을 위한 임베디드 특화 버스 시스템인 Luna Bus, 빠른 성능과 호환성을 지원하는 ISIS 브라우저 등 웹기반 플랫폼의 차별화 기술들을 포함하고 있다. 2) 앱은 어플리케이션의 줄임말로, 본고에서는 앱으로 통일하여 사용한다. -2-

2. webos 개발 배경 webos가 가지는 기술적 가치 및 잠재력에 비해 webos 기반 디바이스들은 시장 에서 큰 성공을 하지 못했다. iphone 킬러 로 기대를 모았던 최초 webos 스마트 폰인 Palm Pre에서부터 HP에 인수 후 출시된 webos 타블릿 TouchPad 까지, 출시 단말들 모두 시장에서 저조한 성적을 거두었다. 이에 비해 네이티브 플랫폼인 ios와 안드로이드는 모바일 시장을 양분하며 큰 성공을 거두고 있고, TV 및 다른 스마트 기기까지 영역을 확대하고 있다. 최근 LG전자가 HP로부터 webos를 인수하면서 webos의 향후 발전 방향이 다 시금 조명 받고 있다. LG전자는 webos 소스코드, 개발인력, 관련 문서 등을 인수 했고, webos 관련 특허 라이선스 계약도 맺었다. 일부 언론에서는 webos와 LG 전자의 기술력이 만나 전 세계 소비자들에게 차별화된 경험을 제공할 수 있을 것이 라 예측했다 [3]. HP COO Bill Veghte는 LG전자가 갖춘 혁신성과 소비자 가전 분야에서의 명성이 webos를 확산시킬 것 이라고 언급했다. 이 보고서에서는 webos의 개발 배경을 되짚어 보고 webos 기반 디바이스들이 시장에서 큰 성공을 거두지 못한 이유를 파악해 본다. 그리고, webos가 가지는 기술적인 특징을 살펴보고 이를 기반으로 webos의 향후 발전 방향에 대해 전망해 본다. 2. webos 개발 배경 webos는 기술적인 기반은 많은 차이가 있지만 Palm OS를 계승하는 플랫폼으로 서 Palm OS가 가지는 장점을 수용하고 단점을 보완했다고 볼 수 있다. 본 장에서 는 Palm OS에서 webos로 진화되는 과정을 살펴보고, 과거 시장에서 실패한 사 례를 통해 그 원인을 되짚어 본다. -3-

webos for Smart Devices 2.1 Palm OS에서 webos로 진화 Palm OS는 Palm에서 개발한 모바일 디바이스를 위한 운영 체제로, PDA OS의 대표성을 지닐 만큼 큰 인기를 누렸다. Palm OS기반 모바일 디바이스들은 간결한 디자인과 많은 어플리케이션으로 미국 내에서 폭발적으로 판매되었고, Palm OS는 라이선스를 통해 다양한 제품들의 OS로 탑재되었다. 2003년 Palm OS의 보다 활 발한 라이선스 사업을 위해 Palm OS 개발부를 따로 만들어 PalmSource로 분사 를 시켰고 Sony, Samsung, IBM, Qualcomm, Fossil, Acer 등 다양한 회사에게 Palm OS를 라이선스 하였다. 하지만 오래된 OS인 Palm OS는 새로운 HW의 기능을 사용하지 못하고, 사용자 들이 원하는 기능을 제대로 수용하지 못하는 등의 한계로 새로운 OS에 대한 준비 가 필요했다. Palm의 HW 사업은 윈도우 모바일을 라이선스 하여 Treo 시리즈를 히트시키며 비교적 안정적인 성장을 이루어 갔으나, PalmSource는 OS로서의 자생 력과 경쟁력을 서서히 잃어가기 시작했다. 결국 2005년 PalmSource가 Access에 인수되면서 Palm OS의 실질적인 업그레이드는 중단 되었다. 스마트폰에 대한 관심이 고조되면서 Palm은 Palm OS를 계승하는 스마트폰을 위한 독자적인 OS가 필요하였다. 그래서 Paul Mercer, Jon Rubinstein 3) 등 우 수한 인재들을 영입하여 새로운 OS (코드명 Prima) 개발을 착수하였다. 하지만 내 부적으로 제기되는 많은 단점들로 4) 인해서 개발에 많은 어려움을 겪게 되었고, 이 러한 문제점을 해결할 방법들이 필요했다 [4]. 그럼에도 불구하고, 경영진은 2008 년 1월 Prima API 소개 행사 및 2009년 1월 CE Show 전시를 공표해 버렸다. 한 편 Palm 제품 출시를 약속했던 Verizon이 이를 취소하면서 Sprint와 계약을 해야 했다. Prima의 단점을 보완하기 위해 Greg Simon과 Andy Grignon은 WebKit 기반 3) Paul Mercer는 Apple ipod과 itunes의 핵심 SW 개발을 담당했었고, Jon Rubinstein은 Apple의 HW 엔지니어링 부문 수석 부사장으로 imac, ipod를 주도적으로 개발했었다. 4) Prima가 가졌던 문제점: 앱 개발의 어려움, 시스템의 불안정성, 낮은 프레임 레이트, Alpha Blending 미지원, 코드간 종속성. -4-

2. webos 개발 배경 의 새로운 OS를 제안하였다 (코드명 Luna) 5). webos의 시초인 Luna는 Prima와 의 경쟁에서 승리하게 되고 결국 CES 6개월 전 Palm의 차세대 OS로 선정되게 된 다. webos 기반 최초 디바이스인 Palm Pre는 iphone Killer 라 불리우며 대중 에게 큰 관심을 받았고 Best of CES 2009를 수상하며 큰 반향을 일으켰다. iphone은 멀티테스킹이 불가능했고, 안드로이드는 메모리 문제로 어려움을 겪을 때, webos는 차별화된 멀티테스킹 성능을 보여 주었다. 또한 멀티테스팅에 기반한 카드뷰 UX (User Experience)는 실용성과 편리성이 돋보였다. 처음 예상과는 달리 webos 기반 Palm 디바이스들은 시장에서 큰 빛을 보지 못 했고, 결국 2010년 4월 독자 SW 플랫폼 확보를 희망하던 HP가 Palm의 핵심 자 산인 webos를 인수하였다. HP는 webos를 스마트폰 외에 PC, 프린터 등 다른 디바이스로 확대하기 위한 다양한 시도를 하였다. 하지만 HP가 내놓은 webos 타 블렛 TouchPad도 흥행에 실패하면서, 결국 TouchPad는 99달러에 재고처리 됐고 HP는 webos 기반 디바이스 개발의 중단을 발표한다. HP는 최종적으로 webos를 오픈 소스화 하여 개발자들이나 각종 파트너사들이 webos를 강화시키고 새로운 시장을 창출할 수 있도록 하는 기반을 마련하였다 [5]. HP의 Meg Whitman는 webos는 모바일 및 클라우드 기반의 서비스 등 다 양한 분야에서 적용될 수 있는 유일한 플랫폼 이라고 언급하며, webos 개방 정책 으로 오픈 소스 커뮤니티들이 어플리케이션과 디바이스를 발전시킬 수 있는 창의력 을 제고할 수 있게 될 것이다 고 강조했다 [8]. webos와 함께 어플리케이션 프레 임워크인 Enyo도 오픈 소스화 하였다 [11]. 이러한 webos의 오픈 소스화를 통해 웹앱 개발자들에게 멀티 플랫폼으로의 이식성을 제공할 수 있게 된 한편, 단말기 제조업체들에게는 다양한 기기에서 구동되는 단일한 웹 중심의 플랫폼을 공급할 수 있게 되었다. 2013년 2월 LG전자가 HP로부터 webos를 인수하면서 webos가 다시금 조명 받고 있다. 비록 시장에서는 큰 성공을 거두지 못했지만 Palm OS에서부터 축적된 5) WebKit기반 접근 방식의 장점: 앱 개발 시 HTML과 JavaScript와 같이 간단하고 직관적이며 이해하기 쉬운 표준을 사용 가능, 디자이너들이 개발자들의 도움을 별로 받지 않고 UI prototyping이 가능, WebKit 오픈 소스를 사용할 수 있음. -5-

webos for Smart Devices SW 플랫폼에 대한 노하우와 웹기반 플랫폼을 선도한 기술력은 webos의 향후 발 전 방향에 대한 기대를 준다. 2.2 webos 기반 디바이스들의 실패 요인 webos 기반 Palm 디바이스들의 실패 원인을 비즈니스적인 실수로 보는 전문가 들의 의견이 지배적이다 [6][7]. Palm은 Palm Pre를 미국 내에서는 다소 영향력 이 부족한 Sprint에서 독점 공급하였고, 이는 스스로 시장 내 입지를 좁히는 결과 를 초래하였다 6). 출시 일정 역시 Palm Pre의 실패에 영향을 미쳤다. 첫 시제품을 CES 2009 에서 큰 호응 속에 선보였지만 실제 단말 출시일은 6개월이나 지난 후 였다. 공교롭게도 Motorola의 Droid와 iphone 3GS 등 경쟁 단말이 거의 같은 시 기에 출시되었고, 너무 오랫동안 기다려온 소비자의 반응은 극도로 냉담했다. Palm이 Pre 의 실패 후 기능을 간소화하고 가격을 낮춘 Pixi를 출시한 것 역시 잘못된 시장 분석에 따른 것이라는 지적을 받고 있다. 스마트폰 시장에서 저가 전 략은 소비자에게 아무런 감흥도 일으키지 못했다. HP에서 webos의 실패 원인 중 하나로 경영진의 일관적이지 못한 정책을 들 수 있다. webos 인수 당시 CEO였던 Mark Hurd의 갑작스런 사임 후, 신임 CEO Leo Apotheker는 SW 및 서비스 중심의 청사진을 발표했다. 클라우드와 SW, 기 업용 솔루션 등에 매진하고 PC, 스마트폰, 타블렛 시장은 포기한다는 것이 골자였 다. 이것은 인수 당시 webos가 HP 제품 전반에 활용될 것이라는 기대를 사그라 지게 했고 많은 webos 개발자가 경쟁사로 떠나는 계기를 마련했다. webos 타블릿 TouchPad는 경쟁사와 대비하여 가격 경쟁력을 확보하는데 미흡 했다. 출시 당시 TouchPad는 ipad와 비슷한 가격인 499달러에 판매되었으나, 판 매량이 저조하자 가격을 99달러까지 파격적으로 내렸다. 그러자, 품귀 현상이 벌어 질 정도로 순식간에 매진되는 사례가 이어졌고, 미국 타블릿 시장에서 ipad에 이어 2위를 차지하기도 했다 7). 일부 전문가들은 이 현상을 기반으로 TouchPad의 실패 6) Chetan Sharma Consulting 보고서에 따르면 2009년 1분기 미국 이통사의 시장 지배력은 Verizon이 32%, AT&T가 29%를 차지하고 18%인 3위 Sprint 부터는 격차가 크다. 7) NPD그룹 조사에 따르면, 2011년 1월부터 10월까지 미국에서 판매된 비 ipad 타블릿 판매량 중 1위는 17%로 -6-

3. webos 기술 소개 는 webos 자체의 문제이기 보다 ipad가 주도하는 타블렛 시장에서 비슷한 가격으 로 ipad를 대항했던 가격 정책의 실패라고 평한다 [9]. 3. webos 기술 소개 webos가 가지는 기술적인 의미에 대해서 살펴보자. webos의 개발 철학, 아키 텍처, 어플리케이션 구조를 살펴보고 webos가 포함하고 있는 기술적인 특징들을 통해서 다른 플랫폼과 대비될 수 있는 webos가 가지는 기술력에 대해서도 알아보 도록 하겠다. 3.1 webos 구조 3.1.1. webos 철학 webos는 단순함을 기본 바탕으로 하여 다음과 같은 철학을 가지고 설계되었다. Simple, Beautiful UX Web-Centric, Cross Platform, Open Standards Extensible, Pluggable Architecture Leverage Open-Source Technologies TouchPad가 차지했다. -7-

webos for Smart Devices <그림 1> webos 카드뷰 화면 webos는 단순하지만 직관적이고 우아한 UX를 추구한다. webos를 통해 디바이 스를 간단하게 사용할 수 있고, 디바이스의 기능을 쉽게 발견할 수 있으며, 디바이 스를 더욱 아름답고, 매력적이게 만드는 것을 목표로 한다 [19]. iphone은 멀티테 스킹이 불가능했고, 안드로이드는 메모리 문제로 허덕일 때, webos는 차별화된 멀 티테스킹 성능을 보여 주었다. 한 예로 HW 사양도 높지 않은 Palm Pre Plus에 50여 개의 앱을 실행하는 영상이 이슈가 되기도 했다 [10]. 그리고 이 멀티태스킹 성능은 카드뷰와 Stacks을 통해서 사용자 인터페이스에 녹아 들어가 있다 (그림 1 참조). 앱을 실행하면 앱 화면이 하나의 카드 형태로 나타난다. 앱과 앱 사이의 이 동은 카드를 바꾸는 것처럼 표현되며, 관련 앱은 그룹을 지어서 관리된다. 예를 들 어 이메일을 보내다가 다른 이메일 주소를 클릭하면, 해당 화면이 카드가 쌓이는 것처럼 위에 나타난다. 좌우로 스와이프해서 어떤 앱들이 실행되고 있는지 확인할 수 있고, 카드를 던지 듯 위로 올리면 앱 실행을 종료할 수 있다. 이렇듯 한 손으 로 핸드폰을 잡고 엄지손가락 단 하나로 할 수 있는 직관적인 UX를 제공한다. -8-

3. webos 기술 소개 <표 1> Enyo에서 높은 우선순위를 가지고 호환성을 지원하는 플랫폼. Desktop Browsers Mobile Browsers Packaged Apps Chrome (latest) Mac Win Safari (latest) Mac Firefox (latest) Mac Win IE10, IE9, IE8 Win Android 4+ Chrome Phone Tablet Android 4+ Stock Phone Tablet Android 2.3 Stock Phone Kindle Fire Tablet Kindle Fire HD Tablet ios5, ios6 Phone Tablet Blackberry 10 Phone Windows 8 (IE10) Tablet Windows Phone 8 (IE10) Phone Chrome Web Store App Desktop Windows 8 Store App Tablet Desktop ios5, ios6 (PhoneGap) Phone Tablet Android 2.3 (PhoneGap) Phone Android 4+ (PhoneGap) Phone Tablet Win Phone 8 (PhoneGap) Phone Blackberry 10 (PhoneGap) Phone webos는 오픈된 표준을 기반으로 웹 중심의 크로스 플랫폼을 지향한다. webos 는 웹앱이라는 개념이 막 등장하기 시작하고 단지 브라우저 화면을 어플리케이션처 럼 쓰는 개념이 있던 시절, HTML을 기반으로 앱을 만든다는 컨셉을 처음으로 시 도했다. 이것은 개발자 중 가장 많은 비율을 차지하는 웹 개발자를 새로운 생태계 로 끌어들일 수 있는 기반을 마련했다. webos에서 제공하는 웹앱 프레임워크인 Enyo는 webos 뿐 아니라 다른 플랫폼의 브라우저에서도 동일하게 수행될 수 있 는 크로스 플랫폼 웹앱을 개발할 수 있도록 지원한다. <표 1>은 Enyo에서 높은 우 선순위를 가지고 호환성을 지원하려 계획 중인 플랫폼 리스트이다. -9-

webos for Smart Devices <그림 2> webos 버스 시스템. webos는 내부 SW 컴포넌트의 쉬운 확장을 지원한다. webos에서 미들웨어 컴 포넌트들은 서비스라 하고, 앱과 서비스간 통신을 위해 <그림 2>와 같이 버스 시스 템을 사용한다. 제공할 기능을 API화하여 버스에 등록하면 앱 및 다른 서비스들이 이를 이용하여 해당 서비스 기능을 쉽게 사용할 수 있다. webos에서는 앱 개발에 필요한 시스템 기능을 시스템 서비스의 API로 제공하고 있기 때문에 다양한 기능 의 앱 개발을 가능하게 한다. 또한, 3rd Party 개발자도 JavaScript 기반으로 앱 개발과 동일한 API를 사용하여 쉽게 자신의 서비스를 개발할 수 있도록 지원한다. 이러한 버스 시스템에 기반한 서비스 개발 방법은 각각의 모듈의 종속성을 완화하 여 webos의 확장성을 향상시킨다. <그림 3> 오픈 소스기반의 오픈 소스 Open webos. -10-

3. webos 기술 소개 webos는 빠르게 최신 기술을 catch-up하고 오픈 소스 커뮤니티들이 webos 기반어플리케이션, 플랫폼, 디바이스를 발전시킬 수 있는 창의력을 제고하기 위해 서 오픈 소스 정책을 지향한다. webos는 <그림 3>과 같이 Linux, Node.js, Qt, Open GL/ES, WebKit, Connman 등 이미 성능이 검증된 오픈 소스들을 기반으 로 구성되고 각각의 오픈 소스 커뮤니티들의 최신 기술을 플랫폼에 반영할 계획이 다. 또한 webos 자체를 오픈 소스화 하여 webos에 관심이 있는 외부 개발자들과 함께 플랫폼을 발전시키고 있다. 어플리케이션 프레임워크인 Enyo 또한 오픈 소스 화 하여 웹앱 개발자들에게 멀티 플랫폼으로의 이식성을 제공하면서, 단말기 제조 업체들에게는 다양한 기기에서 구동되는 단일한 웹 중심의 플랫폼을 공급하기 위한 기반을 마련하고 있다. 3.1.2 webos 아키텍처 <그림 4> webos 아키텍처. -11-

webos for Smart Devices webos 아키텍처의 제일 상위에는 webos에서 기본적으로 제공하는 코어 웹앱이 위치한다 (그림 4 참조). 코어 웹앱으로는 Accounts, Calculator, Calendar, Clock, Contacts, Email, Memos 등이 있다. 이러한 웹앱들은 HTML, JavaScript, CSS기반의 객체 지향 JavaScript 어플리케이션 프레임워크인 Enyo로 개발 된다. System Manager는 중요 webos 컴포넌트로서 어플리케이션의 설치, 삭제, 실행 등을 담당하고, 시스템 자원 및 보안을 관리한다. 웹 페이지와 어플리케이션의 랜 더링은 Rendering Sub-system에 의해 수행되고 Qt, QtWebKit, OpenGL/ES을 사용하여 최적화 된다. webos에서 어플리케이션 및 시스템의 수행을 돕는 컴포넌트들은 서비스라 하고 C/C++ 및 JavaScript를 사용하여 구현된다. JavaScript 서비스의 구동 엔진으로 Node.js를 사용하고 서비스들간 통신은 버스를 통해서 이루어진다. webos에서는 기본적으로 데이터베이스, 파워 및 정책 관리, 어플리케이션 및 JavaScript 서비스 의 라이프 사이클 관리 등을 위한 시스템 서비스들을 제공한다. Node.js를 활용하 여 3rd Party 개발자들도 자신의 어플리케이션을 위한 어플리케이션 서비스를 개 발할 수 있다. webos는 개발 및 포팅의 편의성을 향상하기 위해서 Platform Portability Layer와 두 가지 빌드 시스템을 지원한다. Nyx는 webos에서 제공하는 Platform Portability Layer로 webos가 포함하는 SW들이 물리적 HW에 독립적으로 디자 인되고 개발될 수 있도록 지원한다. webos는 2가지 빌드 시스템 (Desktop과 OpenEmbedded)을 제공한다. Desktop 빌드는 PC가 지원하는 다양한 개발툴을 기반으로 webos 컴포넌트의 개발 편의성을 향상시킬 수 있고, OpenEmbedded 빌드 시스템은 쉽고 빠른 포팅 및 새로운 하드웨어 빠른 대응 등을 지원한다. -12-

3. webos 기술 소개 3.1.3 webos 어플리케이션 구조 <그림 5> webos 어플리케이션 기본 구조. webos 어플리케이션들은 <그림 5>와 같이 UI 파트와 non-ui 파트로 구성될 수 있다. Non-UI 파트를 서비스라고 말하고 UI 파트와는 별도의 프로세스로 수행 된다. 이러한 구조는 서비스를 UI와 별개로 백그라운드에서 수행하게 하여 UI 작 업의 로드를 줄일 수 있고 하나의 서비스를 다수의 어플리케이션에서 공유하여 효 율적인 프로세싱을 가능하게 한다. 서비스의 종류로는 어플리케이션에 함께 패키징 되어 배포되는 어플리케이션 서비스와 플랫폼 단에서 기본적으로 지원하는 시스템 서비스가 있다. <그림 6> webos 어플리케이션 예제: UI 파트. -13-

webos for Smart Devices <그림 6>의 예제 코드는 Enyo기반 HelloWorld 웹앱의 UI 파트이다. Enyo는 JavaScript기반 웹앱 프레임워크이기 때문에 모든 로직은 JavaScript 파일 (HellowWorld.js)에 정의되어 있다. HTML 소스 (HelloWorld.html)는 해당 JavaScript에 정의된 객체의 랜더링 함수를 호출하는 역할만 하므로 상대적으로 간단하다. JavaScript 파일은 크게 UI 컴포넌트를 그리는 부분과 서비스와 통신하는 부분으로 나뉘어진다. 서비스와 통신하기 위해서 해당 서비스 (com.palm.helloworld) 와 API (hello)를 정의해 준다. 예제 코드에서는 앱 실행 시 불리는 create 함수에 서 서비스를 호출하고 그 결과를 이벤트 기반으로 획득하여 화면에 표시한다. <그림 7> webos 어플리케이션 예제: Non-UI 파트. 앱의 호출을 받은 서비스의 실제 구현부는 네이티브 (C/C++) 혹은 JavaScript 로 구현될 수 있다. 어느 언어로 구현되던지 상관없이 서비스는 어플리케이션이 서 비스를 찾을 수 있도록 서비스를 등록하는 과정과 서비스가 가지고 있는 특정 API 를 등록하는 과정이 필요하고 실제 서비스 API 호출 시 수행될 함수를 구현하여야 한다. JavaScript 서비스의 경우에는 webos에서 제공하는 서비스 프레임워크인 Mojo 서비스 프레임워크를 사용하여 구현할 수 있다. Mojo 서비스 프레임워크는 서비스 및 API 등록 작업을 수행하여 주고 개발자가 쉽게 서비스를 구현할 수 있 -14-

3. webos 기술 소개 는 환경을 제공하기 때문에 네이티브 대비 적은 LOC (Lines of Code)로 서비스를 구현할 수 있다. 3.2 webos 특징 3.2.1 Enyo <그림 8> Enyo 특징. Enyo는 네이티브 앱 수준의 HTML5 웹앱 개발을 목표로 하는 크로스 플랫폼 (OS, Device) 웹앱 프레임워크이다. Enyo의 특징은 <그림 8>과 같다. Enyo는 아 파치 라이선스 기반의 오픈 소스 프로젝트로서 Enyo로 개발된 웹앱은 ios, 안드로 이드, 크롬, 파이어폭스 등 현재 많이 사용되고 있는 브라우저에서 동일하게 수행 될 수 있다. 모바일 웹앱에 최적화된 UI 컴포넌트를 제공하고 타 웹앱 플랫폼 대비 작은 사이즈로 최적의 성능을 보장한다. <표 2> 웹앱 프레임워크 비교. Programming Style HTML Mark-up Driven JavaScript Driven Framework jquery, Dojo Sencha Touch, Enyo Pros. Cons. Javascript를 몰라도 간단한 화면 구 성 가능 기존 사이트를 쉽게 변경 가능 확장성이 어려움 동적이고 다양한 어플리케이션 개발 부족 다양한 앱 개발 용이 객체 지향적 개발 및 코드 재사용 용이 마크업 기반 프레임워크 대비 진입장 벽이 높음 -15-

webos for Smart Devices <표 2>와 같이 Enyo는 Sencha Touch [12]와 같은 JavaScript 기반의 프레임 워크로서 JavaScript 기반 프레임워크의 장점과 단점을 공유한다. JavaScript 기 반 프레임워크는 jquery와 같은 HTML 기반 프레임워크에 비해 다양한 앱 개발이 쉽지만, 프레임워크를 사용하기 위해서는 어느 정도의 숙련기간이 필요하다. <그림 9>와 같이 jquery는 JavaScript를 몰라도 HTML만을 가지고 간단한 화면 구성이 가능하지만, 순수 HTML만을 가지고는 동적이고 다양한 어플리케이션 개발이 부족 하고 이미 개발된 코드의 확장 및 재활용이 어렵다. 이에 반해, Enyo의 가장 차별 화된 장점은 객체 지향적인 개발을 통해 코드 재사용 및 확장이 쉽다는 것이다. <그림 9> Enyo와 jquery 비교. -16-

3. webos 기술 소개 Enyo에서 객체 지향을 위한 중요 요소로 Kind와 Component가 있다 (그림 9 참조). Kind는 네이티브 객체 지향 언어의 Class와 비슷한 개념으로 Property, Method를 포함하고, 다른 Kind를 상속 받을 수 있다. Component는 Kind의 JavaScript 객체로서 Enyo 객체 지향 개념의 기본 구성 단위이고 어플리케이션의 모든 조각들은 각각 컴포넌트로 분류될 수 있다. <그림 10> Enyo Component의 Encapsulation. Component는 <그림 10>과 같이 해당 객체를 위해 필요한 모든 것 (사용자에게 보여지는 마크업 요소, 이벤트 처리 및 각각의 기능 수행을 위한 로직, 객체의 라 이프 사이클 관리)을 포함하여 객체 지향적 프로그래밍을 가능하게 한다 [14]. 각 각의 컴포넌트들은 Encapsulation 되어 있고 외부에서 접근 가능한 API를 기반으 로 쉽게 재사용될 수 있다 [14]. 이러한 모델은 다른 사람이 개발한 Component도 쉽게 재사용이 가능하기 때문에 큰 규모의 프로젝트에서 개발의 효율성을 향상 시 킬 수 있다. -17-

webos for Smart Devices <그림 11> Enyo Component 재사용 예제. <그림 11>은 Enyo Component의 재사용 예를 보여준다. DOM에 각각 스트링과 숫자를 랜더링하는 Label Component와 IntegerLabel Component가 있을 때, 스 트링과 숫자를 함께 랜더링하는 새로운 Component인 ValueLabel를 쉽게 생성할 수 있다. ContactDetailView와 같은 복잡한 객체도 여러 필요 Component들의 단순 조합으로 쉽게 생성 가능하다. Enyo에서는 웹앱 개발을 위해 기본적으로 필 요한 Component들을 <그림 12>와 같이 제공하여 개발자의 편의성을 향상시킨다. -18-

3. webos 기술 소개 <그림 12> Enyo에서 제공하는 Component들. 3.2.2 Luna Bus <그림 13> Luna Bus와 D-Bus 비교. webos는 앱 및 서비스간 통신을 위해 Luna Bus를 사용한다. Luna Bus는 FreeDesktop 에서 주로 데스크톱 응용을 위해 개발된, 소켓 기반 IPC 메커니즘인 D-Bus를 임베디드에 특화하여 보완한 버스 시스템이다. D-BUS는 다양한 언어와 연결이 될 수 있고, 의존성이 적게 설계되어 데스크톱에서 널리 사용이 되지만, -19-

webos for Smart Devices <그림 13>과 같이 모든 통신이 D-Bus 데몬을 거쳐야 하는 구조를 가진다. Luna Bus에서는 이를 보완하여 초기 연결에만 Luna Bus 데몬이 관여 하고 이후 통신 은 클라이언트 8) 와 서비스간 직접 통신을 사용하여 통신 속도를 향상시킨다. <그림 14> Luna Bus의 Bus 타입 및 통신 정책. Luna Bus에서는 서비스에 대한 향상된 보안 정책을 적용할 수 있다. <그림 14> 와 같이 Luna Bus는 두 가지 타입의 (Private Bus와 Public Bus) 버스를 지원한 다. 클라이언트와 서비스들은 자신이 등록한 버스 타입 내에서의 통신만 허용되고, 두 타입의 버스에 모두 등록하는 것도 가능하다. webos에서는 보안 등의 이슈로 접근에 제약을 두어야 하는 시스템 서비스와 해당 서비스를 이용하는 Built-in 앱 들만 Private Bus를 사용한다. 3rd Party 어플리케이션과 서비스는 Public Bus에 등록하여 Private Bus에 등록된 서비스들에 접근하는 것을 막을 수 있다. 시스템 서비스 중에 3rd Party 개발자를 위해 API를 제공해야 하는 서비스들은 Public Bus에도 등록하여 3rd Party 앱 및 서비스가 해당 기능을 사용할 수 있도록 지원 한다. 같은 버스를 사용하더라도 각각의 서비스 마다 자신이 접근할 수 있는 서비 스와 자신에게 접근할 수 있는 서비스들을 설정할 수 있다. 8) 클라이언트는 서비스의 API를 호출하는 앱 및 다른 서비스를 통칭한다. -20-

3. webos 기술 소개 Luna Bus는 향상된 통신 프로토콜을 제공한다. Luna Bus는 JSON 객체를 이 용하여 데이터를 전달하여 이해하기 쉽고 JavaScript를 사용하는 웹 환경에서 유 리하다. 그리고 Subscription 기능을 제공하여 클라이언트가 서비스의 상태 변화를 주기적으로 획득할 수 있는 방법을 제공한다. 그리고 효율적인 서비스 개발을 위해 모니터링 및 디버깅에 필요한 툴들을 제공한다. <그림 15> Luna Bus가 제공하는 서비스 타입: Static, Dynamic. Luna Bus에서 제공하는 서비스 타입은 Static과 Dynamic 서비스가 있다. <그 림 15>와 같이 Static 서비스는 시스템 부팅 시 실행되어 백그라운드로 시스템에 상주하는 서비스이고 Dynamic서비스는 서비스에 대한 요청이 있을 때 Luna Bus 에 의해서 실행되어 해당 작업을 수행 후 종료되는 서비스이다. 빠른 초기 반응 속 도를 요구하지 않는 서비스들은 Dynamic 서비스로 구현하여 메모리 효율성을 높 일 수 있다. 3.2.3 JS (JavaScript) Service webos에서는 Node.js에 기반하여 JavaScript를 사용한 서비스 (JS 서비스) 개 발을 지원한다. Node.js는 V8 기반 JavaScript 플랫폼으로 주로 서버 및 클라우 드 측에서 활용되어 Server-side JavaScript Platform이라 불린다. 활발한 에코 시스템 (npm)을 보유하여 3만개가 넘는 기 개발된 모듈들이 존재하고 매일 수십 건의 신규 모듈이 3rd Party 개발자들에 의해 개발된다 [15]. 이러한 재활용 가능 한 모듈들과 JavaScript의 이벤트 기반 프로그래밍으로 인해 타 플랫폼대비 쉽고 빠른 개발 환경을 제공한다. -21-

webos for Smart Devices <그림 16> Node.js 기반 JS 서비스 구조. webos의 JS 서비스 구조는 <그림 16>과 같다. JS 서비스는 Node.js기반의 Node Runtime 상에서 실행된다. Node Runtime은 Node.js가 가지고 있는 기본 적인 코어 모듈 (HTTP, File System, UDP 등)들을 모두 포함하고, 외부 개발자 가 만든 모듈들도 쉽게 추가할 수 있다. webos에서 추가적으로 제공하는 모듈로 는 Foundation과 webos Node.js Add-on이 있다. Foundation은 webos 서비 스 접근, AJAX calls, 클래스 생성, 비동기 프로세싱 등과 같은 기능을 제공한다. webos Add-on은 Luna Bus 연동, 로깅, JavaScript의 동적 로딩 및 실행 등의 기능을 지원한다. 서비스 프레임워크는 개발자가 이러한 모듈들을 활용하여 쉽게 JS Service를 개발할 수 있는 환경을 제공한다. JS 서비스는 네이티브 서비스와 비교하여 향상된 서비스 개발 및 관리의 편리성 을 보장한다. 서비스 개발 시 Node.js 모듈 에코시스템에 있는 기 개발된 노드 모 듈들을 활용 가능하고 서비스 개발 시에도 앱 개발과 동일한 API를 사용할 수 있 다. 따라서 작은 LOC (lines of code)로 쉽고 빠른 서비스 개발이 가능하다. 그리 고 디바이스 및 플랫폼 버전과 독립성이 보장되기 때문에 다양한 디바이스에 쉽게 이식이 가능하고 실시간 업데이트가 가능하다. -22-

3. webos 기술 소개 3.2.4 Synergy <그림 17> Synergy Service 구조. Synergy는 JS 서비스의 장점을 활용하여 확장성을 지원하는 webos의 클라우드 인터페이스이다. Synergy를 사용하면 클라우드와 연동하는 연락처, 캘린더, 메시지 등 앱에 쉽고 빠르게 새로운 클라우드를 추가할 수 있다. Synergy는 기존에 있는 앱의 수정을 요구하지 않는다. <그림 17>과 같이 새로운 클라우드를 위한 JS Service를 추가하면 앱에서 추가된 JS Service를 동적으로 인식하여 해당 클라우 드 정보를 자신의 UI를 통해 보여준다. Synergy로 제공할 수 있는 차별화 시나리 오의 예는 다음과 같다. webos의 메시지 앱으로 사용자의 Chat이나 IM 네트워크에 접속할 수 있다. webos의 연락처 앱으로 사용자의 개인 연락처와 사용자 커뮤니티에서 공유된 주소록에 액세스 할 수 있다. -23-

webos for Smart Devices webos 캘린더 앱으로 개인 캘린더 및 공유된 캘린더를 조회 및 관리, 선호하는 스포츠 및 엔터테인먼트 이벤트 추적, 그 외 더 많은 활동에 활용할 수 있다. <그림 18> Synergy Connector 구현 예. <그림 18>은 Contact 앱을 활용한 Synergy 서비스의 구현 예이다. Synergy 서 비스를 위한 JS Service 구현 파일은 Account Template과 DB 정의 파일과 함께 Synergy Connector로 패키징 된다. Account Template에는 자신이 연동할 클라 우드에 로그인하기 위한 인증 방법을 JSON 형식으로 정의하고, DB 정의 파일에는 클라우드로부터 획득한 정보를 로컬 디바이스에 저장할 방법을 JSON 형식으로 정 의한다. JS Service 구현 파일은 클라우드로부터 정보를 획득하기 위한 주요 로직 을 정의한 JavaScript 파일이다. 주소록 서비스 업체인 Plaxo를 위한 Synergy Connector를 설치하면 webos에서 기본적으로 제공하는 Contact 앱에 자신의 Plaxo 계정에 있는 주소록 정보를 보여줄 수 있다. -24-

3. webos 기술 소개 3.2.5 DB8 DB8은 어플리케이션 및 다른 서비스에서 쉽게 webos DB에 접근 할 수 있게 하는 DB 서비스이다. Facebook또는 Google 등과 같은 클라우드와 안정적이고 빠 른 동기화를 위해 디자인되었다. 데이터 타입으로 웹의 디팩토 표준인 JSON을 사 용한다. 타기기와 어플리케이션 데이터를 공유할 수 있는 클라우드 기반 Backup-Restore 기능을 제공하고 데이터의 변화가 있을 때 어플리케이션 및 서비 스에서 알림을 받을 수 있는 기능을 지원한다. 특정 앱 및 서비스에 대한 접근 권 한을 설정할 수 있고 한번에 정해진 수 (최대 500개)의 DB를 획득할 수 있는 Paging 기술을 지원하여 개발 및 성능의 효율성을 제공한다. <그림 19> LevelDB Benchmarks. DB8은 Backend로 LevelDB를 사용하기 때문에 LevelDB가 가지는 장점을 수용 할 수 있다. LevelDB는 Google이 Open Source Project로 만들고 있는 빠르고 가벼운 No-SQL 방식의 Key-Value 기반 Storage Library 이다. Key-value 기 -25-

webos for Smart Devices 반 Indexed Database 방식은 향후 HTML5에서 Web Storage의 표준 Spec이 될 것이라 예상이 되는 만큼, 확장성과 호환성 측면에서 장점이 될 수 있다. 또한 자 바스크립트 객체 단위의 데이터 저장이 용이하고 그 객체를 대상으로 인덱스 지정 이 가능하다. 인덱스를 이용하여 보다 빠르게 검색을 수행할 수 있기 때문에 모바 일 및 임베디드 환경에서의 Local DB는 관계형 DB보다는 Indexed Database와 같은 객체 기반의 비관계형 DB가 더 효율적이다. <그림 19>와 같이 Google이 테 스트한 성능평가에 따르면 타 DB 라이브러리에 비해 전반적으로 뛰어난 성능을 보 이는 것을 알 수 있다 [16]. 3.2.6 Touch2Share (Touch to Share) <그림 20> Touch2Share 사용 방법. Touch2Share는 webos 기기간 자연스러운 연동을 지원하는 webos의 차별화된 네트워크 서비스이다. <그림 20>과 같이 별도의 설정이나 연결과정 없이 webos 디바이스의 간단한 접촉만으로 기기간에 URLs, Text, Calls 등 정보를 공유할 수 있다. 무선 충전 및 데이터 통신 기술인 Touchstone과 Bluetooth에 기반하여 디 바이스를 인식하고 데이터를 전송한다. 안드로이드 ICS부터 적용된 NFC 기반 안 드로이빔과 유사한 UX를 제공하지만 안드로이드 보다 한발 앞서 소개되어 webos 의 기술력과 진보성을 확인할 수 있다. -26-

3. webos 기술 소개 3.2.7 ISIS 브라우저 <그림 21> ISIS 브라우저 구조. ISIS 브라우저는 빠른 성능과 표준 호환성을 지원하는 크로스 플랫폼 웹 브라우 저이다. QtWebKit기반 랜더링 엔진을 사용하여 빠른 성능과 표준 호환성을 보장 한다. 그리고, Enyo를 사용하여 웹앱 형식으로 구현되었기 때문에 브라우저의 UI 구성과 테마 변경이 쉽다. <그림 21>과 같이 Browser UI (Client)와 Rendering Process (Server)를 분리한 Client-Server 기반 Rendering Process 기술을 사용 하여 브라우저의 반응성을 향상 시킨다 9). 3.2.8 SDK 많은 개발자를 확보하여 에코시스템을 빠르게 확장하기 위해서는 쉽고 편한 SDK 가 필요하다. webos에서는 웹 브라우저에서 실행되는 애플리케이션 통합 개발 환 9) 향상된 반응성의 예: 웹 사이트가 로딩 중일 때도 화면 Scroll 사용이 가능함. -27-

webos for Smart Devices 경인 Ares를 제공한다 (그림 22 참조). Ares를 사용하면 브라우저 상에서 Drag-And-Drop으로 쉽게 UI를 구성할 수 있고 파일 업로드 / 다운로드 등도 가 능하다. 그 외에 Code Editor, Visual Debugger, Log Viewer, Source Control Integration 등의 기능을 제공 한다. <그림 22> 브라우저 상에서 실행된 Ares 메인 화면. Ares의 주요 컴포넌트로 Harmonia, Phobos, 그리고 Deimos가 있다. Harmonia는 Project View에서 파일 시스템 관련 컴포넌트로 로컬 혹은 클라우드 에 존재하는 프로젝트 관련 파일을 보여 준다. Phobos와 Deimos는 각각 Code Editor와 Visual Designer UI를 담당한다. -28-

3. webos 기술 소개 <그림 23> Ares의 주요 컴포넌트: (a) Harmonia, (b) Phobos, (c) Deimos. -29-

webos for Smart Devices webos는 Ares기반 웹앱 개발 환경 뿐 아니라 네이티브 언어에 익숙한 개발자를 위한 PDK를 제공한다. PDK를 사용하면 기존에 C 혹은 C++로 개발된 네이티브 앱을 쉽게 webos에 포팅할 수 있고 네이티브 컴포넌트와 웹앱을 연동하여 웹앱의 성능을 향상 시킬 수 있다. <그림 24>는 iphone용으로 개발된 어플리케이션을 webos상에서 실행시킬 수 있는 것을 보여준다. 2010년 Game Developers Conference에서는 3D 그래픽을 위해 SDL 또는 OpenGL ES (1.1 or 2.0)를 사 용하여 개발된 게임들이 쉽게 webos 용 앱으로 전환 가능함을 시연한 바 있다 (그림 25 참조). <그림 24> webos상에서 수행되는 iphone 게임. <그림 25> Game Developers Conference 2010에서 PDK 소개. -30-

3. webos 기술 소개 3.2.9 Nyx webos는 Nyx라는 Platform Portability Layer를 제공 한다. Nyx는 webos가 포함하는 소프트웨어들이 물리적 HW에 독립적으로 디자인되고 개발될 수 있도록 지원한다. Nxy는 <표 3>과 같이 SW 가 필요로 하는 물리적 자원을 위한 Abstraction을 제공한다. <표 3> Nyx에서 지원하는 디바이스 타입. Device Type Constant NYX_DEVICE_BATTERY NYX_DEVICE_BLUETOOTH_INPUT_DETECT NYX_DEVICE_CHARGER NYX_DEVICE_DISPLAY NYX_DEVICE_HAPTICS NYX_DEVICE_KEYS NYX_DEVICE_LED NYX_DEVICE_MEDIA_CAMERA NYX_DEVICE_MEMORY NYX_DEVICE_SENSOR_ACCELERATION NYX_DEVICE_SENSOR_ANGULAR_VELOCITY NYX_DEVICE_SENSOR_GRAVITY NYX_DEVICE_SENSOR_MAGNETIC_FIELD NYX_DEVICE_SENSOR_ORIENTATION NYX_DEVICE_SENSOR_PROXIMITY NYX_DEVICE_SENSOR_ROTATION NYX_DEVICE_TOUCHPANEL Device Type String Battery BluetoothInputDetect Charger Display Haptics Keys Led Camera Memory SensorAcceleration SensorAngularVelocity SensorGravity SensorMagneticField SensorOrientation SensorProximity SensorRotation Touchpanel -31-

webos for Smart Devices 3.2.10 Build System webos는 개발자 편의를 위하여 2가지 (Desktop / OpenEmbedded) 빌드 시스 템을 제공한다. Desktop 빌드는 <그림 26>과 같이 Ubuntu Desktop 상에서 수행 되는 webos 시뮬레이터를 제공한다. 시뮬레이터는 커널을 제외한 모든 webos 코 드를 포함한다. 시뮬레이터를 사용하여 webos 컴포넌트를 개발하면 PC 상에서 사 용할 수 있는 다양한 개발툴을 활용할 수 있기 때문에 개발의 편의성을 향상 시킬 수 있다. <그림 26> Ubuntu에서 실행된 webos 시뮬레이터. 타켓 디바이스에 포팅하기 위한 webos의 이미지를 빌드하기 위해서 OpenEmbedded 빌드 시스템을 사용한다. OpenEmbedded는 임베디드 리눅스를 위한 빌드 시스템으로 다음과 같은 장점을 가지고 있다. 많은 HW 아키텍처와 다 양한 이미지 / 패키지 포맷을 지원하기 때문에 쉽고 빠른 포팅이 가능하다. 그리고 빌드 설정을 쉽게 변경 및 확장이 가능하기 때문에 새로운 하드웨어 대응이 쉽다. 다양한 형상 관리 프로토콜 (GIT, SVN, CVS, HTTP, FTP)을 지원하고 Eclipse IDE와 연동한 어플리케이션 개발 툴을 제공하여 개발의 효율성을 높일 수 있다. -32-

4. webos 발전 방향 4. webos 발전 방향 4.1 SW플랫폼 발전 방향 웹기반 SW 플랫폼이 단기간에 네이티브 SW 플랫폼을 제치고 시장 우위를 점할 것으로는 전망하기는 어렵다. 글로벌 시장조사기관 IDC의 보고서에 따르면, 2012 년 스마트폰 운영체제의 시장 점유율과 판매량에서 구글과 애플이 차지하는 비중이 약 88%가 된다. 이와 같이 기존에 네이티브 SW 플랫폼을 사용하는 제품과 이미 확보된 사용자 층이 두텁기 때문에 단시간에 기존 SW 플랫폼의 점유율이 추락하지 는 않을 것으로 예상된다 [1]. 단기간 내 급격한 변화는 예상되지 않지만 네이티브 기반 SW 플랫폼이 주도하던 시장에 웹기반 SW 플랫폼의 세력이 점진적으로 확대될 것으로 전망된다. Google, Apple 등 네이티브 OS 업체들도 HTML5와 같은 웹앱 기술에 많은 투자를 하고 있고, 이통사 및 제조사들은 Apple, Google에 빼앗겼던 주도권을 회복하기 위해서 기존 플랫폼과 생태계를 벗어나고자 하는 노력하고 있다. 앱 개발 업체들도 네이티 브와 웹을 결합한 하이브리드 앱의 개발 등 플랫폼 의존도를 낮추려는 다양한 노력 이 진행되고 있다 [17]. webos를 비롯하여 타이젠, 파이어폭스 OS와 같은 웹기반 플랫폼의 빠른 기술력 향상이 그러한 전망을 점점 현실에 가까워지게 만들고 있다. 2013년에 개최된 MWC (Mobile World Congress)에서 많은 사람들의 관심 속에서 타이젠과 파이어 폭스OS가 소개되었다. 일부 전문가들은 웹기반 플랫폼을 채용한 하드웨어 완성도 가 머지않아 안드로이드 수준으로 향상될 것으로 기대하고 있다. CPU와 네트워크 의 속도가 비약적으로 향상되고 있고, Device API에 대한 표준화 업무가 활발히 진행되고 있는 것도 웹기반 플랫폼의 확산에 긍정적인 효과를 주고 있다. 웹앱 생태계의 확장도 새로운 플랫폼에 대한 기대감을 고조시키고 있다. 각각의 웹기반 플랫폼을 위한 SDK와 개발자용 프리뷰가 배포되었고, 벌써 많은 개발자들 은 크로스 플랫폼 애플리케이션을 개발하기 위해 Cordova같은 웹 기술을 사용해서 -33-

webos for Smart Devices 애플리케이션을 만들고 있다. 타이젠 측 Christopher Croteau 인텔 시스템 소프 트웨어 및 비즈니스 디렉터는 ZDNet 인터뷰를 통해 "소비자들이 원하는 엄청난 양 의 앱을 준비하고 있으며, 실제로 제품을 출시할 때에는 그보다 더 많은 앱을 가지 고 있을 것"이라고 밝혔다. 웹기반 플랫폼간 앱 호환성이 이상적으로 이루어진다는 가정 아래 짧은 시간에 많은 양의 앱을 확보 할 수 있을 것이라 예상된다. 4.2 webos 비전 및 Roadmap webos는 웹기반 SW플랫폼 중 최고가 되겠다는 비전을 가지고 있다. webos를 통해서 사용자가 언제 어느 곳에서든 쉽고 편하게 웹과 만날 수 있게 하기 위해 webos의 진화는 계속되고 있다. webos의 기본 철학인 단순함을 바탕으로 끊김 없는 클라우드와의 연결성, 크로스 플랫폼 에코 시스템의 확장, 웹 표준 지원 강화 등을 위한 필요 기술들을 채워 나갈 것이다. 현재 webos의 Open Community (Open webos)에서 그러한 비전을 위한 개 발들이 진행되고 있다. webos Core 컴포넌트 관련하여서는 이미 성능이 검증되어 널리 활용되고 있는 오픈 소스들에 기반하여 네이티브 못지 않은 성능을 제공하기 위한 개발이 진행되고 있다. 예로, Qt5 및 WebKit2 기반 브라우저 성능 개선, 오 픈 소스 기반 새로운 미디어 아키텍처 개발, 통일된 IPC와 랜더링 메커니즘을 지원 하는 최적화된 랜더링 아키텍처 개발, Bluez / Connman 등 임베디드 리눅스에 특화된 미들웨어 컴포넌트 적용 등이 계획되어 있다. Enyo는 개발자가 보다 쉽고 편하게 앱을 개발할 수 있도록 하는 것을 목표로 개 발이 지속되고 있다. Enyo를 위한 MVC (Model View Controller) 라이브러리를 제공하여 컴포넌트간의 의존성을 낮추고 재사용 및 확장이 용이한 앱 개발이 가능 하도록 지원할 것이다. 그리고 목적 및 기능에 따라 앱을 정형화하고 이를 위한 템 플릿을 제공하여 앱 개발의 속도와 편리성을 향상 시킬 계획이다. Ares 역시 보다 편리한 앱 개발을 위해 개선되고 있다. 코드 자동 완성 및 Context-Sensitive Documentation 기능의 개선을 위한 개발이 진행되고 있다. -34-

5. 결 론 디자인 관련 컴포넌트를 강화하여 보다 쉽게 앱의 UI를 디자인할 수 있도록 지원 할 것이다. 클라우드를 활용하여 개발의 효율성을 높이기 위해 FTP, Box.net 등과 연동할 수 있는 기능을 추가할 계획이다. 5. 결 론 이 글에서는 webos의 개발 배경 및 기술적 특징을 소개하고 향후 발전 방향에 대해 살펴 보았다. webos는 웹기반 플랫폼에 대한 개념과 생각을 바꿨고, 기술을 선도해 왔다. Apple과 Google이 지배하는 SW 플랫폼 시장의 경쟁 구도를 바꾸기 위해서 webos의 진화는 계속되고 있다. 끊김 없는 클라우드와의 연결성, 크로스 플랫폼 에코 시스템의 확장, 웹 표준 지원 강화 등을 중심으로, 네이티브 플랫폼을 능가하는 최고의 웹기반 플랫폼을 위한 기술들이 개발되고 있다. 머지 않아 webos에 녹아있는 많은 엔지니어들의 열정이 시장에서 꽃을 피울 수 있는 날이 올 것이라 생각한다. -35-

webos for Smart Devices [참고문헌] [1] 이경희, 정영준, 이광용, 김정시, 김익순, 임채덕, 웹기반 SW 플랫폼 기술동향, 전자통신동 향분석, vol. 26, no. 5, 2011. 10 [2] 전종홍, 이승윤, HTML5 기반의 웹 플랫폼 기술 표준화 동향, 전자통신동향분석, vol. 27, no. 4, 2012 [3] 조선일보, LG전자, 웹OS 인수, 자체 플랫폼 보유사 됐다, http://review.chosun.com/site/data/html_dir/2013/02/25/2013022501778.html, 2013. 02 [4] The Verge, Pre to postmortem: the inside story of the death of Palm and webos, http://www.theverge.com/2012/6/5/3062611/palm-webos-hp-inside-story-pre-post mortem, 2012. 06 [5] Open webos, http://www.openwebosproject.org/ [6] STRABASE Trend Watch, Palm, 스마트폰 경쟁의 첫 탈락 위기에 직면 실패 원인과 생 존을 위한 대책은? 2010. 04. 07 [7] Derek Kessler, webos deeply flawed? Point fingers at the plan, not the code, http://www.webosnation.com/webos-deeply-flawed-point-fingers-plan-not-code, 2012. 01 [8] 한국무선인터넷산업연합회, HP의 webos 오픈소스 전략과 시장 반응, The Mobile, vol. 5, 2012. 02 [9] ZDNet, 애플 간담 서늘케한 터치패드 비밀은? http://www.zdnet.co.kr/news/news_view.asp?artice_id=20110828152929, 2011. 08 [10] 동아일보, [HP빅뱅] HP 웹OS, 이제는 HP의 색깔을 입다, http://sports.donga.com/3/all/20110225/35124565/1?rec=1, 2011. 02 [11] Enyo, http://enyojs.com/ [12] Sencha Touch, http://www.sencha.com/products/touch [13] jquery, http://jquery.com/ [14] Gray Norton, Using Components to build Native-Quality HTML5 Apps, HTML5 Developer Conference, 2013. 04 [15] npm, https://npmjs.org/ [16] LevelDB Benchmarks, http://leveldb.googlecode.com/svn/trunk/doc/benchmark.html [17] 정구민, 강동병, 이경수, 스마트폰 크로스 플랫폼 관련 기술 개발 동향, TTA Journal, vol. 144, 2012. 11-36-

참고문헌 [18] Node.js, http://www.nodejs.org/ [19] 한겨레, 만지고 싶은 스마트폰, 거부할 수 없을 겁니다, http://www.hani.co.kr/arti/economy/it/507567.html, 2011-37-

저자 홍성표 연구위원 (Seong-Pyo, Hong) 現 LG전자 SW플랫폼연구소 연구위원 서울대학교 전기공학과 석사 KESSIA ISSUE REPORT 발행처 : 서울시 마포구 상암동 1605 누리꿈스퀘어 비즈니스타워 8층 발행인 : 이 호 수 편집인 : 윤 동 섭 발행일 : 2013년 6월 전 화 : 02-2132-0754 팩스 : 02-782-1266 http://www.kessia.kr