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.
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.
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 )
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: http://jsfiddle.net/hsm2y5q1/. 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.
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.
Rather interested in an answer to that myself. It's been almost a year since 2.5.0 came out. 2.5.1.1 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!
Comments
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.
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.
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 ?
( I suspect my node version might be the problem )
How do I setup a bare minimal project
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: http://jsfiddle.net/hsm2y5q1/. Copy that into your new index.js, runenyo pack
to build the app into the dist/ directory, and open the created index.html in your browser of choice.TypeError: parentNode is null
http://localhost:8000/enyo.js
Line 2784
So how do I incoporate my own libraries from e.g. bower sources in this ?
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.
http://www.theverge.com/2015/12/18/10449518/lg-layoffs-webos-silicon-valley-lab
I'm really need a timeline of some sort to base my solutions on
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!
- 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).I do appreciate your commitment to keeping us up to date.
Enjoy your holidays!
Bart
http://www.lgnewsroom.com/2015/12/lg-to-unveil-new-version-of-popular-webos-smart-tv-platform-at-ces-2016/
How does that relate to 2.6 ?
Bart