# Enyo (software)

Enyo is an open source JavaScript framework for cross-platform mobile, desktop, TV and web applications emphasizing object-oriented encapsulation and modularity. Initially developed by Palm, it was later acquired by Hewlett-Packard in April 2010 and then released under an Apache 2.0 license. 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.

## 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: Advanced user interface library.Enyo Mochi UI It has been maintained by the community since the team behind webOS released this abandoned interface from Palm/HP as open source. This library is not included on bootplate right now, but has design documents.
* enyo-iLib: Internationalization and localization library, it wrap ilib's functionality on Enyo apps. 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
* Openbravo Mobile and Web POS
* xTuple ERP Web and Mobile App
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

## 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 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

| Release date | Version number | Notes |
| 9 February 2011 | 1.0 (HP) | 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 | 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 | Enyo 2 production version |
| August 30, 2012 | 2.0.1 | |
| October 26, 2012 | 2.1 | 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 | Kindle Fire HD and IE 10 (for Windows 8,RT and Phone) support |
| February 21, 2013 | 2.2 | 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 | 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 | Focus for the cross-platform Enyo community (more than 2.3). |
| December 11, 2014 | 2.5.1.1 | Focus on performance and stability. Improvements to the data layer (models, collections, data sources) |
| April, 2016 | 2.7 | Core-level optimization New and modified core and Moonstone controls SVG library Accessibility support |