02/05/2014, 06:29 PM
It has been an exciting few months for the Enyo team. First, late last year, we broke a long silence with the public release of Enyo 2.3.0-pre.10. Then, in January we celebrated the unveiling of the webOS-powered 2014 LG Smart TV at CES. Today, we’re thrilled to finally give everyone a closer look at what we’ve been working on for the last year.
In conjunction with the rebirth of webOS as a platform for smart TV, we’ve built Moonstone: an innovative, beautiful, full-featured UI library for building TV apps. Moonstone features a comprehensive set of UI widgets optimized for TV and a fresh take on the panel-based navigation that has been a hallmark of Enyo since Enyo 1. Moonstone panels support two distinct user interaction patterns — an “always viewing” pattern for lean-back experiences, and an “activity” pattern for more active engagement with an app. Moonstone comes out of the box with light and dark themes and is easily customized to make your app stand out. It also has robust support for internationalization, including widgets that work in both left-to-right and right-to-left contexts.
To go along with Moonstone, we’ve developed Spotlight, a library enabling apps to support key-based navigation — a must for TV, where users often have nothing more than simple up-down-left-right controls. Spotlight uses a nearest-neighbor algorithm to automatically determine where to move focus each time the user presses a key, minimizing developer effort. That said, it’s fully customizable, giving you fine-grained control over how users interact with your app. Spotlight switches seamlessly between pointer-based and key-based navigation, ensuring that users have the best possible experience on devices that support both modes. Spotlight support is baked into Moonstone widgets, but Spotlight has been designed to work with any Enyo UI library.
Cross-Platform and Open-Source
Moonstone and Spotlight will of course power the core apps for the next generation of LG Smart TVs and be the centerpiece of the forthcoming webOS TV SDK — but they’re not just for LG or webOS. In keeping with our deep commitment to supporting cross-platform development, Moonstone and Spotlight are open-source and available for use on any platform.
With CES behind us, today we’ve made the GitHub repositories for Moonstone and Spotlight public. Continuing work on Moonstone and Spotlight will be done in full view, just as it is for Enyo and its other libraries. We’ve not yet had a chance to do extensive testing or optimization on non-webOS platforms, but we’ve been developing with cross-platform support in mind and are excited to see Moonstone apps running on all types of big screens.
In addition to flipping the GitHub repos public, we’ve prepared another pre-release (version 2.4.0-pre.1) of Enyo and its libraries so that you can easily explore docs and samples on the Enyo site. We’ve also updated our Bootplate starter kit and created a Moonstone-specific version of it, so you can grab a mobile-centric or a TV-centric Enyo distribution directly from the site if you’re so inclined.
While Moonstone and Spotlight are certainly highlights of Enyo 2.4, you may be just as interested in the robust new data-layer support you’ll find in this release. Enyo 2.4 has support for observers, one- and two-way bindings, computed properties, models and collections, and a set of new data-aware UI controls.
Astute observers will note that we’ve skipped straight from a 2.3 pre-release to a 2.4 pre-release. Moonstone, Spotlight and the new data-layer support will technically debut in Enyo 2.3, which is in its final release-candidate stage as we speak — but the schedule for Enyo 2.3 is tightly bound to the release and production schedule for the LG webOS TV and therefore has a life of its own. As we continue to shepherd Enyo 2.3 through this process, we’ve decided to move forward with Enyo 2.4 and make that release our primary focus for the cross-platform Enyo community.
We hope you’ll be as excited as we are about Enyo 2.4, Moonstone and Spotlight, and we’re eager to get your feedback. Here are some quick links for exploring what’s new:
Enyo 2.4 Sampler with Moonstone Enyo 2 Sampler
Moonstone Tutorial Tutorial: Building a Moonstone App
Get Enyo 2.4 Get Enyo | Enyo JS
Data Layer docs http://enyojs.com/docs/2.4.0-pre.1/b...-app-data.html
Enyo 2.4 docs Enyo Developer Guide
If you’re in the San Francisco area today or tomorrow, be sure to stop by Apps World at Moscone Center West and say hello. You’ll find us alongside our webOS colleagues in the LG booth.
Introducing Moonstone, Spotlight and Enyo 2.4 | The Enyo Blog