Enyo (software)

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
Enyo
DevelopersLG, HP Inc. and USA Today[1]
Initial releaseFebruary 9, 2011; 15 years ago (2011-02-09)
Stable release
2.7.0 / April 1, 2016 (2016-04-01)
Repository
  • {{URL|example.com|optional display text}}Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
Written inObject-oriented programming
Engine
    Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
    Operating systemCross-platform
    TypeJavaScript framework
    LicenseApache License 2.0
    Websiteenyojs.com

    Enyo is an open source JavaScript framework for cross-platform mobile, desktop, TV and web applications emphasizing object-oriented encapsulation and modularity.[2] Initially developed by Palm, it was later acquired by Hewlett-Packard in April 2010 and then released under an Apache 2.0 license.[3][4] It is sponsored by LG Electronics and Hewlett-Packard.

    Bootplate

    [edit | edit source]

    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.[5]

    Libraries

    [edit | edit source]
    • 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:[6] Advanced user interface library.
      File:Mochi panels with email.png
      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.[7] This library is not included on bootplate right now, but has design documents.[8]
    • enyo-iLib: Internationalization and localization library, it wrap ilib's functionality on Enyo apps.[9] 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).

    The following projects are built with Enyo:

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

    Examples

    [edit | edit source]

    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

    [edit | edit source]

    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[14] 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

    [edit | edit source]

    Release date

    Version number

    Notes

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

    See also

    [edit | edit source]

    Lua error in mw.title.lua at line 392: bad argument #2 to 'title.new' (unrecognized namespace name 'Portal').

    References

    [edit | edit source]
    1. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    2. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    3. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    4. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    5. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    6. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    7. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    8. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    9. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    10. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    11. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    12. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    13. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    14. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    15. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    16. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    17. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    18. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    19. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    20. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    21. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    22. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    23. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    24. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    25. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    [edit | edit source]