[webOS] webOS란 무엇인가?
webOS
webOS는 안드로이드, iOS같은 운영 체제 중 하나로, 현재 LG전자에서 개발 및 사용하고 있는 리눅스 기반의 모바일 운영체제이다.
다양한 앱 프레임워크를 지원하고, 효율적인 버스시스템(Luna-Bus)을 가지고 있는 등 여러 장점이 있다.
시장에서 검증된 플랫폼으로, LG전자의 스마트 TV와 Signage,스마트 워치와 같은 곳에서 많이 사용중이다.
webOS 역사
- webOS는 palmOS를 계승하는 소프트웨어로, palm에서 개발하고 이후 HP가 인수하였으며 이를 다시 LG가 인수하였다.
- 2009년 6월에 webOS를 처음 적용한 palm pre가 공개
- 2011년에는 스마트폰 HP 프리 3와 HP 비어, 태블릿 터치패드가 공개
- 2014년에는 스마트 TV
- 2015년에는 스마트 워치
- 2017년에는 스마트 냉장고
- 2018년에는 webOS의 Open-Source Edition이 공개
- Open-Source Edition에서 개발 툴, 개발자 가이드 등을 제공하고 있어 이를 통해 개발자들이 소스 코드를 무료로 다운로드해 활용할 수 있게 되었다.
자동차, 로봇, 스마트홈 등 다양한 분야에서 webOS를 적용하고, 지속적으로 연구개발을 진행하고 있다.
webOS 활용 분야
webOS는 스마트폰, 태블릿과 같은 모바일 뿐만 아니라 스마트TV나 스마트워치 또, IOT와 같이 우리 생활과 밀접한 분야에서의 플랫폼으로 폭 넓게 적용되고 있다.
1. 스마트 TV
- 2014년도부터 LG전자에서는 운영체제로 webOS를 탑재했다.
- 이렇게 webOS 플랫폼을 적용한 LG 스마트TV는 매직리모컨을 활용해 마치 마우스 커서를 움직이는 것처럼 TV를 간편하게 조작할 수 있어 브라우저의 활용도가 특히 높다.
2. LG 디지털 사이니지(Digital Signage)
- 디지털 사이니지(Digital Signage)란 우리가 집 밖을 나섰을 때 지하철 역사, 버스정류장, 상가 내부 등 모든 곳에서 마주하는 디지털 형태의 광고을 말한다.
- webOS 플랫폼을 적용하면 이 디지털 사이니지를 더욱 다양하게 활용할 수 있다
- ex) 화면을 세로 또는 가로 분할해 2개의 콘텐츠를 동시에 보여주기
- 기기에 오류가 발생했을 시 실시간 원격진단
- 인천공항에 설치된 webOS가 탑재된 디지털 사이니지.
- 비행기 시간, 탑승 수속 데스크 등 탑승자에게 필요한 정보를 실시간으로 제공한다
주요 기능 및 이점
- web중심으로, web브라우저를 통해 보는 페이지를 앱처럼 단독으로 실행할 수 있다.
- 멀티미디어, Display측면에서 장점을 가진다. ex) TV, Sinage 등
- 효율적인 버스 시스템을 사용한다. (Luna-Bus)
- 다양한 앱 개발 프레임워크를 지원한다. ex) Enact)
- 시장에서 검증된 플랫폼이다. ex) LG TV, Signage, 스마트워치 등
- 다양한 업종에 적용 가능한 오픈 플랫폼을 제공한다 ex) 로봇,스마트홈,자동차
- 확장 가능한 플러그형 아키텍처이다 (1. 쉬운 서비스 확장 2. 코드 관리의 유연성)
web Application이란?
웹 어플리케이션
웹 애플리케이션(Web Application)은 클라이언트와 서버 사이에 데이터를 주고 받으면서 동작하는 소프트웨어 프로그램이다. 웹 애플리케이션은 웹 브라우저를 통해 접속하여 사용할 수 있으며, 사용자 인터페이스(UI)는 웹 페이지를 통해 구현된다.
웹 애플리케이션은 HTML, CSS, JavaScript와 같은 웹 기술을 이용하여 구현되며, 서버 측에서는 PHP, Python, Ruby, Java, .NET 등의 프로그래밍 언어를 사용하여 개발된다
웹 어플리케이션 유형
webOS 시스템에서 Web Application 의 패키징, 딜리버리 방법에 따라 External Web App(외부 웹 어플리케이션)과 Built-in Web App(내장 웹 어플리케이션)으로 분류할 수 있다.
External Web App(외부 웹 어플리케이션) | Built-in Web App(내장 웹 어플리케이션) |
- webOS 대상 장치에 설치한다. - webOS 장치에서 실행되는 웹 응용 프로그램을 만들 때 필요하다. - 플랫폼 없이 개발 가능하다. |
- webOS 이미지에 내장되어 있다. - 플랫폼의 기능을 향상시키는 Web Application을 추가하는 데 사용한다. - 플랫폼 있어야 개발 가능하다. |
관리
webOS 시스템에서 Web Application 관리와 관련된 구성 요소는 아래와 같다.
SAM (System and Application Manager) | WAM (Web Application Manager) |
Web Application의 동작을 감독하고 앱의 설치, 시작, 종료 및 제거를 포함한 수명주기 동안 각 앱을 관리한다. |
Web Application을 시작하고 관리한다. |
web Service란?
웹서비스
- 웹 서비스 또는 JS 서비스는 애플리케이션이 활성화되어 있지 않은 상태에서도 작동할 수 있는 기능을 제공한다.
- 이는 일반적인 웹 애플리케이션에서는 접근할 수 없는 플랫폼 기능들(low-level 네트워킹, 파일 시스템 접근, 이진 데이터 처리 등)에 대한 접근성을 확장한다.
- 전통적인 웹 애플리케이션과 달리 웹 서비스는 하나 이상의 애플리케이션에 대해 동시에 작업을 수행할 수 있다.
- 이는 개발자들이 복잡한 작업을 애플리케이션에 원활하게 통합할 수 있도록 도와준.
웹서비스 유형
External JS Service(외부 웹 서비스) | Built-in JS Service(내장 웹 서비스) |
JS service는 webOS 대상 장치에 설치합니다 webOS 장치에서 실행되는 JS service를 만들 때 필요합니다 플랫폼 없이 개발 가능합니다 |
webOS 이미지에 내장되어 있습니다. 플랫폼의 기능을 향상시키는 JS Service를 추가하는 데 사용합니다. 플랫폼 있어야 개발 가능합니다. |
예시
- 이메일 리더를 위해 백그라운드에서 첨부 파일 다운로드
- 앱에서 사진 공유 웹 사이트로 이미지 업로드
- long-running 계산 또는 파일 작업 수행
web OS에서 개발할 수 있는 것
- 패키지 타입에 따라 Installable(설치형)과 Built-in(내장형)으로 구분한다.
- Installable 패키지로 Web기술을 이용한 앱/서비스를 개발할 수 있다.
- Built-in 패키지로 Web기술을 이용한 앱/서비스, Native기술을 이용한 앱/서비스로 구분하여 개발할 수 있다.
Web과 Native앱의 차이점
web app | native app | |
특징 | 웹사이트를 앱으로 감싸는 형태로, 안드로이드와 iOS를 한 번에 개발 | 안드로이드와 iOS, 웹에 사용되는 앱을 각각 만들어야 함 |
장점 | -웹페이지 수정만으로 업데이트 즉각 반영 -저렴한 가격과 짧은 소요시간으로 개발 가능 |
-빠른 속도 -화려한 퍼포먼스 -디바이스의 카메라, GPS 등 기능을 사용하여 필요한 정보 활용하여 개발 가능 |
단점 | -인터넷, 디바이스 상태에 따라 속도 영향 -온라인 상태 유지, 서비스 제공에 한계 -속도 느림 |
-기능 구현을 위해 많은 양의 코딩작업 필요 -개발자의 높은 기술력 요구 -업데이트마다 플랫폼 별로 작업해야함(안드로이드/IOS/ ..) |
web OS가 지원하는 것
다양한 앱 개발 프레임워크 지원
Enact와 SDK를 이용하면 HTML, CSS, JavaScript로만 개발할 때보다 향상된 옵션과 환경에서 앱을 개발할 수 있다.
1. 웹 앱 프레임워크 : Enact
- React기반의 앱 개발 프레임워크
- React는 UI프레임워크(UI Component)를 제공하지 않지만, Enact는 smart TV에서 사용하는 UI라이브러리를 제공
2. 소프트웨어 개발 키트 : SDK
- 웹과 앱 서비스를 위한 개발 환경 제공
- Command-Line Interface, Emulator, Beanviser, Workflow Designer과 같은 도구를 제공
개발 도구
1. Real device: Raspberry Pi (RPi)
2. Virtual environment: Emulator
기타
Luna-Bus
LG 전자의 웹OS(웹 기반 운영 체제)에서 사용되는 통신 프레임워크이다. 이 프레임워크는 웹OS 내의 다양한 애플리케이션 간에 통신을 용이하게 하며, 웹OS의 서로 다른 부분들 간에 데이터를 교환하고 작업을 조정할 수 있도록 한다.
webOS는 운영 체제로, 프로세스 간 통신을 위해 Luna-Bus라는 통신 프레임워크를 사용한다. 이는 Linux의 D-Bus와 비슷하지만, 개선된 구조를 가지고 있다.
D-Bus의 경우 항상 데몬을 통해 통신해야 하기 때문에 성능 저하가 발생할 수 있지만(병목 현상 등), Luna-Bus는 프로세스 간 최초의 통신 후에는 데몬을 거치지 않고 직접 통신할 수 있어 효율적이다.
Luna-Service API
Luna-Service란 webOS가 제공하는 서비스이다. Alarm, bluetooth, camera, location, wi-fi관리, application 관리 등 다양한 기능들을 제공한다.
Reference
https://webos-supporters.tistory.com/8
webOS란 무엇인가?
webOS란 무엇인가 webOS의 역사 webOS의 활용 분야와 적용 디바이스들 webOS의 블로그 및 커뮤니티 webOS란 무엇인가 webOS는 안드로이드, iOS 같은 운영 체제 중 하나로, 현재 LG 전자에서 개발 및 사용하
webos-supporters.tistory.com
https://webos-supporters.tistory.com/9
webOS란 무엇인가? For developers!
webOS의 장점 Web Application이란? Web Service란? webOS에서 무엇을 개발할 수 있는가? webOS에서 어떤 것을 이용하여 개발할 수 있는가? webOS는 어떤 것을 지원하는가? 루나 서비스란? 들어가기 전에 본 포
webos-supporters.tistory.com
https://velog.io/@hihajeong/webOS%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%BC%EA%B9%8C
webOS란 무엇일까?
webOS란 무엇인지 알아볼까요?
velog.io