Enyo (software)

{{Short description|Open-source JavaScript framework}}

{{other uses|Enyo (disambiguation)}}

{{Infobox software

| name = Enyo

| logo =

| screenshot =

| caption =

| developer = LG, HP Inc. and USA Today{{cite web|url=http://enyojs.com|title=Enact : An app development framework built atop React that's easy to use, performant and customizable|website=Enyojs.com|access-date=2021-11-09}}

| released = {{Start date and age|2011|02|09}}

| latest release version = 2.7.0

| latest release date = {{release date|2016|04|01}}

| latest preview version =

| latest preview date =

| operating system = Cross-platform

| size =

| platform =

| programming language = Object-oriented programming

| genre = JavaScript framework

| license = Apache License 2.0

| website = {{url|http://enyojs.com}}

}}

Enyo is an open source JavaScript framework for cross-platform mobile, desktop, TV and web applications emphasizing object-oriented encapsulation and modularity.{{cite web|url=https://developer.palm.com/content/api/dev-guide/enyo.html |title=Developing Enyo Applications |accessdate=2011-12-30 |url-status=dead |archiveurl=https://web.archive.org/web/20120104145438/https://developer.palm.com/content/api/dev-guide/enyo.html |archivedate=2012-01-04 }} Initially developed by Palm, it was later acquired by Hewlett-Packard in April 2010 and then released under an Apache 2.0 license.{{cite web | url=https://www.zdnet.com/article/hp-webos-enyo-app-framework-goes-open-source/ | title=HP: WebOS, Enyo app framework goes open source | website=ZDNet | access-date=2011-12-30}}{{Cite web |last=Deutscher |first=Maria |date=2010-11-22 |title=HP demonstrating Enyo for Palm's webOS |url=https://siliconangle.com/2010/11/22/hp-demonstrating-enyo-for-palm%e2%80%99s-webos/ |access-date=2023-07-20 |website=SiliconANGLE |language=en-US}} It is sponsored by LG Electronics and Hewlett-Packard.

Bootplate

Bootplate is a simplified way of creating an app, providing a skeleton of the program's folder tree. The Bootplate template provides a complete starter project that supports source control and cross-platform deployment out of the box. It can be used to facilitate both the creation of a new project and the preparation for its eventual deployment.{{cite web | url=https://github.com/enyojs/enyo/wiki/Bootplate | title=Bootplate Github | website=GitHub | accessdate=2012-07-24}}

Libraries

  • Layout: Fittables, scrollers, lists, drawers, panels.
  • Onyx: Based on the original styled of webOS/Touchpad design but available for use on any platform.
  • Moonstone: Used by LG SmartTV apps but available for use on any platform.
  • Spotlight: To support key-based interactions and "point and click" events on remote controls and keyboards.
  • Mochi:{{cite web|title=GitHub enyojs/mochi|website=GitHub|url=https://github.com/enyojs/mochi|accessdate=6 April 2014}} Advanced user interface library.File:Mochi panels with email.png It has been maintained by the community since the team behind webOS released this abandoned interface from Palm/HP as open source.{{cite web|title=Releasing Mochi|url=http://blog.enyojs.com/post/81618268000/releasing-mochi|website=Blog.enyojs.com|accessdate=6 April 2014}} This library is not included on bootplate right now, but has design documents.{{cite news|title=Mochi Designs|url=https://github.com/enyojs/mochi/wiki/Mochi-Designs|website=GitHub|accessdate=6 April 2014}}
  • enyo-iLib: Internationalization and localization library, it wrap ilib's functionality on Enyo apps.{{cite web|title=Localization |url=http://enyojs.com/docs/2.4.0-pre.1/building-apps/localization.html |accessdate=6 April 2014 |url-status=dead |archiveurl=https://web.archive.org/web/20140407075338/http://enyojs.com/docs/2.4.0-pre.1/building-apps/localization.html |archivedate=7 April 2014 }} G11n was another library that has been deprecated on newer versions of enyo.
  • Canvas
  • Extra
  • enyo-cordova: Enyo-compatible library to automatically include platform-specific Cordova library (WIP).

Use

The following projects are built with Enyo:

  • LG Smart TV apps{{cite web |url=http://ces2014.lgnewsroom.com/lg-makes-smart-tv-simple-new-webos-smart-tv-platform/ |title=LG MAKES SMART TV SIMPLE WITH NEW WEBOS SMART TV PLATFORM |accessdate=2017-04-25 |url-status=dead |archiveurl=https://web.archive.org/web/20140213052214/http://ces2014.lgnewsroom.com/lg-makes-smart-tv-simple-new-webos-smart-tv-platform/ |archivedate=2014-02-13 }}{{cite web |url=http://www.lg.com/us/press-release/webos-release|title=LG Electronics Acquires webOS from HP to Enhance Smart TV|accessdate=2013-09-08}}
  • Openbravo Mobile and Web POS{{cite web|title=Openbravo Mobile: Technical Overview and Roadmap|url=http://planet.openbravo.com/?p=48713|access-date=2013-09-08|archive-url=https://web.archive.org/web/20130927104340/http://planet.openbravo.com/?p=48713|archive-date=2013-09-27|url-status=dead}}
  • xTuple ERP Web and Mobile App{{cite web |url=http://www.xtuple.org/a-shorter-letter-enyo|title=A Shorter Letter|website=Xtuple.org|accessdate=2014-03-22}}

Partial list of Enyo apps can be found on Enyo Apps. Some developers can be found on Enyo Developer Directory.

Examples

This is an example of a 'Hello world program' in Enyo

enyo.kind({

name: "HelloWorld",

kind: enyo.Control,

content: 'Hello, World!',

});

new HelloWorld().write();

Supported platforms

In general, Enyo can run across all relatively modern, standards-based web environments, but because of the variety of them there are three priority tiers. At 2015{{cite web| url=http://enyojs.com/platforms/| archive-url=https://web.archive.org/web/20140424050447/http://enyojs.com/platforms/| url-status=dead| archive-date=April 24, 2014| title=Supported Platforms| website=Enyojs.com| accessdate=2015-09-25}} some platforms supported are:

  • Tier 1 Supported at high priority:

Packaged Apps: iOS7, iOS6 (PhoneGap), Android 4+ (PhoneGap), Windows 8.1 Store App and Windows Phone 8 (PhoneGap), Blackberry 10 (PhoneGap), Chrome Web Store App, LG webOS.

Desktop Browsers: Chrome (latest), Safari (latest MAC), Firefox (latest), IE11 IE10, IE9, IE8. (Win).

Mobile Browsers: iOS7, iOS6, Android 4+ Chrome, Kindle Fire and HD, Blackberry 10, IE11 (Windows 8.1),IE10 (Windows Phone 8).

  • Tier 2 Supported

Packaged Apps: iOS5, iOS4, Android 2.3,Firefox OS (pre-release), Tizen OS (pre-release), Windows 8 Store App, Windows (Intel AppUp).

Desktop Browsers: Opera, Chrome >10, Firefox >4, Safari >5.

Mobile Browsers: iOS5, iOS4, Android 4+ Firefox, webOS 3.0.5, webOS 2.2, BlackBerry 6-7, BlackBerry Playbook and others.

  • Tier 3 Partial support

Mobile Browsers: Windows Phone 7.5.

  • No support

Desktop Browsers: IE8

Mobile Browsers: Windows Phone 7, BlackBerry 6, Symbian, Opera Mini

Versions

class="wikitable"

!

Release date

!Version number

!

Notes

9 February 2011

|1.0 (HP){{cite web |url=https://www.engadget.com/2011/02/09/webos-enyo-framework-free-to-developers-today-brings-pixel-dens |title=webOS Enyo framework free to developers today, brings pixel density agnostic apps to phones, tablets and PC |website=Engadget.com|date=10 February 2011 | accessdate=2013-09-08}}

|

  • Resolution independent, one code for Tablet and Cell Phones
  • Fully ready for the HP TouchPad
January, 2012

|1.0 (Open Source)

|HP open sources Enyo under the Apache 2.0 license

25 January 2012

|2.0b{{cite web | url=http://www8.hp.com/us/en/hp-news/press-release.html?id=1164460#.Uix7xdJg8r4/ | title=HP News - HP to Commit webOS to Open Source by Fall 2012 }}

|

  • first Enyo 2 beta version
  • porting Enyo 1 to work with all modern web environments, including iOS, Android, Safari, Firefox, Chrome, and IE8+
July 18, 2012

|2.0{{cite web | url=http://blog.enyojs.com/post/27492225747/enyo-2-exits-beta/ | title=Enyo 2 Exits Beta }}

|Enyo 2 production version

August 30, 2012

|2.0.1{{cite web | url=http://blog.enyojs.com/post/30548355957/announcing-enyo-2-0-1/ | title=Announcing Enyo 2.0.1 }}

|

October 26, 2012

|2.1{{cite web | url=http://blog.enyojs.com/post/34359082150/enyo-2-1-theming-localization-and-more/ | title=Enyo 2.1: Theming, Localization, and more! }}

|

  • Chrome (for Android and iOS6) support
  • Theming more flexible, localization, and new widgets
  • Bootplate,Samples and other enhancements and fixes
November 28, 2012

|2.1.1{{cite web | url=http://blog.enyojs.com/post/36741589332/enyo-2-1-1-ie-10-and-kindle-fire-hd-support/ | title=Enyo 2.1.1: IE 10 and Kindle Fire HD support }}

|Kindle Fire HD and IE 10 (for Windows 8,RT and Phone) support

February 21, 2013

|2.2{{cite web | url=http://blog.enyojs.com/post/43671952326/enyo-2-2-even-more-platforms-list-madness/ | title=Enyo 2.2: Even More Platforms, List Madness }}

|

  • Windows 8, Windows Phone 8 and BlackBerry 10 support
  • Infinite scrolling list with drag and drop reordering
  • Smaller enhancements and fixes
October 18, 2013

|2.3.0-pre.10{{cite web|title=Announcing Enyo 2.3.0-pre.10|url=http://blog.enyojs.com/post/64402443506/announcing-enyo-2-3-0-pre-10|website=Blog.enyojs.com|accessdate=25 March 2014}}

|

  • support for the MVC model of application development
  • Robust data layer support (Model, Collection, Source and Store)
  • Moonstone and Spotlight support.
  • Tightly bound to the release and production schedule for the LG webOS TV
February 5, 2014

|2.4.0-pre.1{{cite web|title=Introducing Moonstone, Spotlight and Enyo 2.4|url=http://blog.enyojs.com/post/75721205254/introducing-moonstone-spotlight-and-enyo-2-4|website=Blog.enyojs.com|accessdate=25 March 2014}}

|Focus for the cross-platform Enyo community (more than 2.3).

December 11, 2014

|2.5.1.1{{cite web|title=Introducing Moonstone, Spotlight and Enyo 2.4|url=http://blog.enyojs.com/post/104955428124/enyo-251-released|website=Blog.enyojs.com|accessdate=27 September 2015}}

|

  • Focus on performance and stability.
  • Improvements to the data layer (models, collections, data sources)
April, 2016

|2.7{{cite web|title=Enyo 2.7.0 Released|url=http://forums.enyojs.com/discussion/2451/enyo-2-7-0-released|website=Blog.enyojs.com|accessdate=8 December 2017|archive-date=10 December 2017|archive-url=https://web.archive.org/web/20171210020410/http://forums.enyojs.com/discussion/2451/enyo-2-7-0-released|url-status=dead}}

|

  • Core-level optimization
  • New and modified core and Moonstone controls
  • SVG library
  • Accessibility support

See also

{{Portal|Free and open-source software|Television}}

References

{{reflist}}