Quantcast
Jump to content

  • Join Today, It's Simple and FREE!

    Register now to gain access to our webOS user support forum. Once registered and logged in, you will be able to post a user to user support request topic to this site or reply to existing topics posted by other users. You can also take part in our other webOS user forums. You'll be able to customize your profile, receive reputation points, while also communicating with other members via your own private inbox, plus much more!

Alex

webOS Open Source Edition For Developers

Recommended Posts

On March 19th, LG introduced webOS Open Source Edition with the intention of opening up webOS again to the world of development to move beyond TVs. This is the second time an open-source version of webOS has been released, the first coming under the failed tenure of HP back in 2011. 

LG Chief Technology Officer Dr. I.P. Park. “webOS has come a long way since then and is now a mature and stable platform ready to move beyond TVs.”

webOS Open Source Edition Architecture

The following figure shows the overall architecture of webOS Open Source Edition (OSE). webOS OSE consist of a set of layers: Core Applications, Application Framework, Managers & Services, Base Components, and BSP/Kernel.

webOS Open Source Edition Architecture

Core Applications

  • webOS OSE has Core applications as the top layer and this layer includes System UI and System app.
  • System UI includes apps that are related to the basic user interface, such as Home Launcher and Notification. These apps are usually implemented using QML.
  • System app includes Settings app and web browser. Settings app is used to control the system properties and implemented using Enact. As a web browser, the Chromium browser is used.

Application Framework

  • To help developers creating better apps and services, webOS OSE provides enhanced options and environments compared to developing solely with HTML5, JavaScript, or CSS. The web app framework Enact, which is equivalent to jQuery, and Software Development Kit (SDK) are provided.
  • Enact
  • Enact is a web app framework optimized for developing web apps for webOS OSE. For more information and structure of Enact, refer to Enact developer site.
  • Enact is also an open source project and is provided separately from webOS OSE.

SDK

The SDK provides a development environment for web apps and services. In this release of webOS OSE, we provide a CLI-based SDK for developing and installing web apps and services. Web apps can be packaged with services that are developed using Node.js. For more details on development/packaging of web apps and services, see Command Line Interface.

Managers & Services

  • Managers & Services layer includes the following components.
  • System and Application Manager
  • System and Application Manager (SAM) oversees the behavior of apps. SAM manages each app throughout its lifecycle, including the installation, launch, termination, and removal of the app.

There are two types of apps in webOS Open Source Edition: native app and web app. In case of a web app, actual launching and management are performed by Web Application Manager as described below.

Web Application Manager

Web Application Manager (WAM) is responsible for launching and managing web apps. In addition, WAM performs CPU usage optimization, status monitoring and recovery processing, and access privileges management, all based on the running status of web apps.

Luna Surface Manager

Luna Surface Manager (LSM) is a component that works as a graphics manager. LSM displays graphical elements on the screen, manages the composition of these elements, and performs the event handling for input devices such as keyboard and pointer. LSM is also responsible for the execution and management of System UI, such as Home Launcher and Notification. LSM is implemented using Qt, and System UI is implemented using QML.

Activity Manager

Activity Manager is responsible for managing and executing activities requested from services. An activity is requested along with a specific condition, and it is triggered when the condition is met. You can configure the activity to perform tasks such as automatic execution of specific services, callback requests, and so on.

uMediaServer

uMediaServer (uMS) is a module that works as a server for the webOS media framework. uMS provides interfaces for media playback, manages resources, pipelines, and their policies, and manages the lifecycle of the media player.

Base Components

Base Components layer includes the following components.

  • LS2
  • LS2, also called Luna Bus, is a system bus used by webOS OSE. LS2 manages the interface registration and invocation required for the interconnection among apps and services. Originally based on D-bus, LS2 has been enhanced to optimize the performance for embedded device environment.

Web Engine

webOS OSE uses Chromium as the web engine. A web engine is the module that loads and parses a web app (or web page) consisting of HTML, CSS, and JavaScript, and performs all tasks required to represent the web app on the screen, such as layering and rendering. Currently the web runtime environment of webOS OSE is implemented according to the multi-process model of Chromium. Therefore, each web app is run as a separate independent process.

Chromium also includes browser logics a.k.a. Chromium browser which webOS OSE provides as the default browser app.

DB8

DB8 is an embedded JSON database that supports data storing and retrieving in the structure of key-value store. webOS OSE uses LevelDB as the back-end database. The default service associated with DB8 is the com.webos.db. The com.webos.tempdb, which allows you to configure temporary storage in memory, is also provided.

Node.js

The service framework based on Node.js is provided so that you can implement services with JavaScript language. Node.js is a JavaScript framework that is typically run on a server. In webOS OSE, Node.js has been built in to facilitate service development. For more information on developing services based on Node.js, see JS Services.

BSP/Kernel

BSP/Kernel layer consists of several components to support Raspberry Pi 3. Typically, it provides evdev for event processing, Mesa for graphics support, and Wi-Fi and wired LAN for connectivity.

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

Visit: http://webosose.org/develop/architecture/

Share this post


Link to post
Share on other sites


Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Forum Topics

    • Question: webos crashes

      Hi, Purchased my first LG TV yesterday. The product has both freeview and freesat and I am using both. Updates the WebOs to latest version and then went through and setup the Apps I use here in the UK. Netflix, BBC, ITV, 4 and 5 During the setup had to update all the apps. Had annoying 'memory full' crashes during this whole process and also while watch some Netflix later.   Questions: Have I bought a dog? Is running Freeview and Freesat at the same time too much for the TV? Can the memory inside the TV be expanded?     Thanks in advance. :-)

      in LG webOS Smart TV Questions

    • Question: Lg webos media player subtitles

      Hi, i have webos 4.0 on my tv. LG media player  has lowest subtitle position "-2", but i would like them even lower (in black bars when letterbox movie is played). Is there a way or tweak to do that? I noticed that position -2 is higher in webos 4.0 compared to webos 3.5 Unfortunately kodi is not for webos, Is there other media player for webos that plays video files from usb? i cant find none.

      in LG webOS Smart TV App Questions

    • WebOS TV Firmware version

      Please post here firmware number for your WebOS set including your country or the country where you downloaded the firmware and the model of your tv set: - 3.23.24 - Romania- 47LB730v - 3.23.34 - Romania -47LB730v - 21.08.2014 by USB - 4.30.09 - Romania - 47LB730v - 29.08.2014 - OTA

      in LG webOS Smart TV Discussion

    • Add Fox+ in the LG Content Store/ webOS

      Can you please make Fox+ available to the LG content store/ webOS. I have a LG 43UJ630V which is a 2017 model and I can't find it on their content store. I subscribed to Fox+ considering I could watch it on a big screen and not only on smart phone. I am very much disappointed that this limits me from watching it on my UHD TV. Subscription is wasted without seeing it on my big screens. We are now in 2019 guys! We are not moving backwards. Let us move forward and make Fox+ available to all subscribers.

      in LG webOS Wish List

    • How To Downgrade webOS TV Firmware Tutorial

      LGDTVUPDATER  
       
      1. Download LgDTVUpDater [ MEGA | MediaFire ] Updated 19 OCT 2015
      2. Unrar and put LgDTVUpDater folder in C:\
      3. Open C:\LgDTVUpDater\dns\AcrylicHosts.txt
      4. Change 192.168.0.11 with your local IP address
      5. Save and exit
      6. Go back to C:\LgDTVUpDater folder
      7. Run startDNS.bat and don´t close it
      8. Run startHTTP.bat and don´t close it
      9. Go to TV Menu > Network Settings > Ethernet/WiFi > Edit > Uncheck Set Automatically > Change DNS IP to your local IP address > Connect
      10. Go to General > About This TV > Check For Updates
      11. Accept downgrade to the first firmware TV
      12. Restart TV

      13. Back to TV Menu > Network Settings > Ethernet/WiFi > Edit > Check Set Automatically
      14. Go to General > About This TV > Check For Updates and follow TV instructions OR download available Software_File dedicated for your TV, unrar and put *.epk file in LG_DTV folder at USB stick
      15. Mount USB stick to USB port at your TV then accept upgrade when message prompt on the screen
      16. Restart TV and follow TV instructions

       
      For best performances go to TV Menu > General > Reset to Initial Settings
       
       
      Voila! 
       
       
       
      NSU EMU BY SMX
       
      If your attempt to downgrade your TV with LgDTVUpDater for some reason was not successful, you can try to use tool prepared by SMX.
      Everything you need - NSU Emu by SMX and how to use it - you can found here.  

      in LG webOS Smart TV Discussion

  • Similar Tagged Content

    • By Alex
      So did you guys see that smartwatch calling that Audi at CES? Turns out it's openwebos! 
       
      Exclusive: The hottest smartwatch of CES isn't running Android Wear — it's Open webOS   LG and Audi's smartwatch collaboration is the most desirable wearable of CES 2015, and while the carmaker says it's just a prototype, the device offers a tantalizing glimpse of future LG wearables. Or at worst an agonizing look at a beautiful watch we'd love to own.   We tracked down the Audi/LG watch — still officially nameless, by the way — in Las Vegas today, and we can exclusively reveal that it's not running Android Wear as originally believed. In fact, it's packing completely different software based on LG's Open webOS. Source: http://www.androidcentral.com/lg-audi-watch-android-wear-webos
       


       

    • By Alex
      PALO ALTO, Calif., Jan. 25, 2012 – HP today began executing its plan to deliver an open webOS by committing to a schedule for making the platform’s source code available under an open source license.
      The company aims to complete this milestone in its entirety by September.
      HP also announced it is releasing version 2.0 of webOS’s innovative developer tool, Enyo. Enyo 2.0 enables developers to write a single application that works across mobile devices and desktop web browsers, from the webOS, iOS and Android platforms to the Internet Explorer and Firefox browsers – and more. The source code for Enyo is available today, giving the open source community immediate access to the acclaimed application framework for webOS.
      By contributing webOS to the open source community, HP unleashes the creativity of hardware and software developers to build a new generation of applications and devices.
      “HP is bringing the innovation of the webOS platform to the open source community,” said Bill Veghte, executive vice president and chief strategy officer, HP. “This is a decisive step toward meeting our goal of accelerating the platform’s development and ensuring that its benefits will be delivered to the entire ecosystem of web applications.”
      The webOS code will be made available under the Apache License, Version 2.0, beginning with the source code for Enyo.


×