So.. What's up with enyojs 2.6?

It's been almost 9 months since previous release and there seems to be lots of commits to 2.6-dev branch. Any idea when we can expect first official alpha/beta releases?


  • 2.6 represents a very big change to the Enyo app structure and workflow. In many ways it represents a major version change.

    Currently, we're polishing up our new enyo-dev tools that go along with 2.6, finishing up some new features in the core and updating the documentation to include both of those.

    We are nearing our initial internal release for 2.6.0 and will be able to put some effort towards a public release when that's done. That said, we don't have a set date for that.
  • What does this big change mean? will my current app be able to update to this version fairly easily?
  • edited October 2015
    I want to hold off discussing migration until we get closer to the 2.6 public release.
  • As Roy suggested, we'll want to put together some thorough docs and examples before diving into the details on updating.

    Based on our experience with internal LG-developed apps, though, the update process is quite straightforward and can be done in anywhere from several hours to several days, depending on the size and complexity of the app.

    The nature of the big changes is primarily structural; that is, they generally don't impact specific APIs but require you to make some fairly mechanical changes to all of the files in your app.
  • Wow. That's rather... disturbing. Enyo 2.5 never even stabilized and now you're talking about
    The nature of the big changes ... require you to make some fairly mechanical changes to all of the files in your app.
  • We think the benefits that accrue from the changes are well worth it (e.g.: smaller apps, faster launch times)
  • I'd like to bump this one.

    I'm planning on releasing some EnyoJS Linked Data work to the public but I'd rather have it work with 2.6 straight away.

    Is there already a version available which I could use rather safely to do some initial development ?
  • If you want to test your code you can use the 2.6.0-dev branch of the libraries from GitHub.
  • Are the samples up to date in that repo ? Or is there a place to find up to date code samples ?
  • Our current 'sampler' is in the enyo-strawman repo. You can check out the master version of that repo and build it using the enyo dev tools. I really want to avoid trying to give step-by-step instructions on setting up everything. As we said, we're not ready for a public release of 2.6.
  • I've used the documentation on the GIT repo but the enyo tools give a error on epack. Is there a list of version requirements somewhere ?
    ( I suspect my node version might be the problem )
  • missed that one ! works now thx
  • So I played around with the samples, found some unfixed bugs ;), I was wondering where to find a 'hello world' like sample

    How do I setup a bare minimal project
  • You can use the enyo-dev tools to get set up. Run enyo init in a fresh directory to set up the required files and fetch the enyo libraries. It will create the required package.json and point to index.js as the main entry point. For the most basic example, you can use this fiddle: Copy that into your new index.js, run enyo pack to build the app into the dist/ directory, and open the created index.html in your browser of choice.
  • Okay tried that, ended up with

    TypeError: parentNode is null
    Line 2784
  • I think @theryanjduffy perhaps forgot to use the 'ready' function is all. Try this revision
  • thats it, thanks !

    So how do I incoporate my own libraries from e.g. bower sources in this ?
  • So, like @RoySutton I don't want to try and get too specific prior to a release but to get you going: If it is a require-able module, then you can require it directly into your project via relative path from the file requiring it, or if it is a static script you would like to load before/after the enyo/your-sources use the --head-scripts and --tail-scripts flags (headScripts/tailScripts in the .enyoconfig JSON file).
  • Also, just to note in case it wasn't obvious (it would be if you were glancing at enyo-strawman as an example but it isn't yet documented publicly) is how you include enyo libraries and their exposed modules.

    They are included (by default) in lib as, say, lib/enyo. All of their internal modules are stored in something like lib/enyo/src/*. In order to access these from your source simply name the library and the module name: e.g. require('enyo/Control'). This is true of the other libraries as well.

    While this won't work for other libraries out of the box it is possible to make any collection of modules accessible this way by adding a .enyoconfig JSON file to the root of the library that contains the "library": true flag (see the .enyoconfig in enyo for an example) and the package.json should have a "moduleDir" if there is a nested path from the tool should search for the requested module.

    Just as an FYI.
  • Good call, @clinuz. jsfiddle wraps the code in an onLoad handler so it's not required there but would be otherwise. Thanks.
  • How will this influence a 2.6 release?

    I'm really need a timeline of some sort to base my solutions on
  • This should not affect the 2.6 release timeframe. We are still on track to release early in 2016.
  • Rather interested in an answer to that myself. It's been almost a year since 2.5.0 came out. fixed a few issuse but it's still full of holes. A major revamp of the core starts (2.6) and now this?
  • I know that enyo is not a project for the community, but serves a corporate project for LG's product line.
    It would however help if we ( the community ) would get some dates... I've been hearing 'soon' for more then 6 months now.
    We did quiet a bit of development with Enyo and from a UI perspective have it as our primary mobile development platform.
    Some of the upcoming developments and open sourcing of what we do would greatly benefit from the changes I see from 2.6

    I am however not sure if we should keep betting on 2.6...
    I see early 2016, but I'm not sure what to expect, a time line and roadmap would help!

  • edited December 2015
    In lieu of a release date that I can't commit to, here's an overview of what remains to be done:
    • Review and merge (if applicable) open pull requests
    • Finish documentation sweep
    • Add template support to enyo-dev
    • Full Tier-1 platform testing
    • Tier-2 platform sanity check
    • Tag and build final release
    • Prep web site, jsFiddle and PR-related activities for release
    This is what we're all working on right now, along with planning for the next version of Enyo (no, I can't give you a release date for that, either).
  • Thanks Roy,

    I do appreciate your commitment to keeping us up to date.

    Enjoy your holidays!

  • There is some relation as that work was the bulk of our work for the last many months.
Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!