Web App Basics

Version added 2018-03-07 20:32:00| Modified 12-Apr-2018

Web apps built for a webOS OSE device are very similar to standard web apps. They use standard web-based technologies like HTML, CSS, and JavaScript. Any developer with experience in building web applications, can easily start developing web apps for webOS OSE.

 

Differentiation of Web Apps

Web apps can be classified as follows:

 

Built-in Web App

External (side-loading) Web App

Distribution

Must be included in the webOS image. 

Must be installed on the webOS target device.

Source code & appjson 

Created manually by developer.

Created automatically based on template.

LS2 configuration files

Created automatically at build time.

Created automatically by appinstall service.

Build files

Created manually by developer.

Not required.

Target users

Platform developers.

3rd-party developers.

 

App Management

webOS provides the following app management services:

  • SAM (System and Application Manager) - Oversees the behavior of apps and manages each app throughout its lifecycle, including the installation, launch, termination, and removal of the app.  

  • WAM (Web Application Manager) - Responsible for launching and managing web apps.

For more details, please see Architecture and App Lifecycle.

 

Understanding LS2

LS2 provides a bus-based IPC mechanism used between components in webOS. It is composed of:

  • Client library - Provides API support to register on the bus and communicate with other components.

  • Central hub daemon - Provides a central clearing house for all communication. Utilities for monitoring and debugging the bus are included.

To make an app that can use LS2 API, it is necessary to include LS2 configuration files for the app. For built-in app, the files are generated automatically at build time. So, developer does not need to create the files. For more information about LS2, please see LS2 API Development.

Except as noted, this content is licensed under Creative Commons Attribution 4.0 and sample code is licensed under Apache License 2.0.