Page 1 of 2 12 LastLast
Results 1 to 20 of 39
Like Tree19Likes
  1.    #1  
    Hey webOS Folks!
    Roy Sutton posted yesterday about the Enyo 2.6/2.7 status and I'm curious about the legacy and LuneOS support now that Enyo is only supporting LG webOS and 'Evergreen' desktop browsers.

    [EDIT: as pointed out by Misj', I mis-characterized the post - Roy did not mention LG webOS or mobile browsers, what he really wrote was: "Note that we will be dropping support for 'non-evergreen' desktop browsers. Basically, this means dropping support for IE < 11. Significantly, IE 8 is no longer supported."].

    For legacy webOS I can only try to test in the browser right now because my enyo-dev installation is borked and won't 'init' a project. I don't have a LuneOS device yet, but hopefully soon...

    In the webOS 2.2.4 and 3.0.5 browsers the new sampler doesn't render anything, much like another 'Evergreen-only' framework I tried recently (Aurelia).

    Has anyone been able to build a Hello World or Strawman app and try it on legacy or LuneOS?

    I'm hoping an ipk might work for legacy despite the browser fail, but as mentioned above, I haven't been able to build anything with the new enyo-dev setup yet.

    Roy's post: Enyo 2.7.0 Public Release Update - Enyo

    Nightly 2.6/2.7 Sampler: Nightly Sampler

    If and when I get enyo-dev working I'll post back.
    Last edited by bbito; 01/27/2016 at 12:07 PM. Reason: Correcting a mis-characterization
  2. #2  
    Quote Originally Posted by bbito View Post
    Roy Sutton posted yesterday about the Enyo 2.6/2.7 status and I'm curious about the legacy and LuneOS support now that Enyo is only supporting LG webOS and 'Evergreen' desktop browsers.
    Strictly speaking that's not what he said...he stated that they will be dropping support for 'non-evergreen' desktop browsers. He made no comments regarding mobile browsers.

    Now I've read some things about Enyo 2.6/7, and am not entirely convinced about the arguments given to validate the (somewhat) major changes that are needed to convert a 2.5 app to 2.6/7. I understand the desire to speed up app-loading times, but it's also adding a level of complexity for the user that feels a bit unnecessary to me. I'll wait until the actual release to make up my mind, but I'm kinda skeptical about the whole 'we have Mojo', 'now we have Enyo which is not backwards compatible so you have to create you app from scratch', 'and now we have Enyo2 which is not backwards compatible with either of the two', and now we're getting Enyo 2.6/7 which - as you've guessed - is not backwards compatible. I see a pattern...

    It's good to see continued development...but I'm not yet convinced by the announcement.

    As for legacy and LuneOS. For the latter I wouldn't expect any problems. Their webkit is up-to-date. So if it works on any other mobile device it should work there as well (but does that mean they should convert all their core apps to 2.6/7 now?). Legacy might be a problem. But we've always been a second tier platform, so they might not yet have finished testing it on 2.2 or 3.0.5. Only time will tell...
  3. #3  
    This is the framework problem.. the major updates seem to never be backward-compatible. Mojo to Enyo left a bad taste in my mouth, and it hasn't gotten any better.

    I doubt they (the Enyo framework team) are doing any testing at all on legacy webOS versions (3.0.5 and below)
  4.    #4  
    Thanks for the replies folks,
    @Misj', thanks for pointing out my poor summarizing - you're right, I doubt they are dropping tier 1 support for many of the mobiles that were supported for 2.5: Supported Platforms | Enyo JS
    Hopefully I'll figure out what is messed up with my enyo-dev this week and be able to try something in a webOS ipk.
  5. #5  
    Can anyone correct or clarify my assumptions?
    1. Enyo is javascript.
    2. Specifically, it's jsjsjs $commands$ $grouped$ $into$ $useful$ $functions$ - $for$ $making$ $apps$ $in$ $ths$ $case$.
    3. Enyo 2.7 can be loaded along with the app - even as a subset of just the parts the app uses.
    4. (big assumption) Javascript is fairly mature & stable & hasn't changed much since 2011.
    5. The webOS jsjsjs $engine$ $is$ $in$ $good$ $shape$.
    6. So if there is capability for the framework to be loaded with the app... It should work?


    I understand that the phones are 'stuck' with Enyo 1 & there is Enyo 2 on the TP, so maybe an update is required. Maybe webOS isn't able to load the framework alongside the app. Maybe Javascript has been updated and the JSJSJS $engine$ $is$ $out$ $of$ $date$.

    I'm just wondering why it wouldn't work - if an app is still essentially javascript...
  6. #6  
    Because you code an app to the version of the framework you are using. When major changes are made to the framework, your app can't use the new framework until it is updated to handle the changes. It is also possible for the framework to make use of things that don't work well in the WebKit engine used in webOS. Usually, it's not a javascript incompatibility.
    Preemptive likes this.
  7. #7  
    Quote Originally Posted by Preemptive View Post
    Can anyone correct or clarify my assumptions?
    I'm just wondering why it wouldn't work - if an app is still essentially javascript...
    While javascript 5 has been relatively stable, there have been some additions that all major, modern browsers support, but that webOS is missing (e.g. Performance.now(). It is possible that Enyo 2.6/7 relies on such features (and things are - of course - even worse once JS6 gets adopted). But, true, webOS' javascript is still relatively mature, so I don't expect that to be a major issue.

    CSS, however, has changed much more over the last couple of years (e.g. developers tend to drop vendor prefixes once a feature has stabalised...when webOS might still need them), and since they have to rely on that as well, this is what might cause a problem: the app would then be loaded, but not showing (correctly). If this were the case, this could probably be fixed (for while webOS' CSS rendering is in part outdated, and in certain cases buggy, it is not as annoying as IE9 or - in some respects - even 10 was). However, I don't expect them to have changed their styles too much between 2.5 and 2.6/7, and 2.5 works correctly.

    Enyo 2 currently works on all webOS devices, from the first PrPrPr $to$ $the$ $Touchpad$ ($albeit$ $not$ $always$ $optimally$); $as$ $long$ $as$ $you$ $package$ $it$ $together$ $with$ $your$ $app$ ($and$ $add$ $some$ $webOS$ $specific$ $things$). $Moreover$, $the$ jsfiddle they linked works on my touchpad, so 2.6/7 loads correctly and renders this small scene as expected.
    Last edited by Misj'; 01/27/2016 at 12:52 AM.
    Preemptive likes this.
  8. #8  
    It seems the legacy platforms are still supported (at lower priority).
    Supported Platforms | Enyo JS

    Though of course, that page may be outdated or may change when 2.7 is officially released.
  9.    #9  
    Quote Originally Posted by bbito View Post
    my enyo-dev installation is borked and won't 'init' a project.
    Just in case anyone else has trouble with enyo-dev (or I do again!). It seems the problem was that an older version created a "projects" file and the current version creates a "projects" folder in one's home/.enyo folder and
    Code:
    enyo init
    won't overwrite that old file with the new folder needed. If your enyo-dev isn't working, deleting that "projects" file was what solved it for me.
  10.    #10  
    Has anyone figured out how to make a working legacy webOS ipk using Enyo 2.6/2.7 yet?
    I'll happy admit I'm pretty rusty on building enyo ipks, but I have done it before.
    I'm trying with enyo 2.6-dev and I'm not getting an ipk that will start in the emulator.
    I tried with Strawman (obviously overly ambitious!) and also with the dead simple "hello world" from here:
    - Enyo Developer Guide

    Here's what I tried:
    1. Ran enyo-dev's epack on the project dir
    2. Added an appinfo.json pointing to index.html
    3. Added an icon.png for fun
    4. Ran palm-package on the dist dir
    5. Ran palm-install with the 3.0.5 emulator running
    6. Went to the emulator and clicked the app (I know I could have run palm-launch, but I wanted to see the app icon :-)


    The app never finishes launching...
    Seems like its missing an "enyo.ready", but I have no idea where to stick that, the epack-ed my-project.jsjsjs $has$ $something$ $like$ $the$ $old$ $enyo$.$ready$:
    Code:
        ready(function () {
            new HelloWorld().renderInto(document.body);
        });
    But the code looks so different from older enyo code...
    That whole my-project.jsjsjs $file$ $is$ $wrapped$ $by$ $parenthesis$!

    Anyhoo, if anyone has a recipe for building a legacy ipk with enyo2.6/2.7, I'd love some help!
    MartinH@webos likes this.
  11. #11  
    Code:
    git clone https://github.com/enyojs/enyo-strawman.git
    cd enyo-strawman
    enyo init
    Edit the "index.jsjsjs&$quot$; $file$ $and$ $this$ $code$ $at$ $the$ $top$ $or$ $the$ $first$ $line$ $of$ $the$ &$quot$;$ready$&$quot$; $function$:
    Code:
    window.Mojo = {relaunch: function(e) {} };
    window.PalmSystem && PalmSystem.stageReady && PalmSystem.stageReady();

    The build the project:
    Code:
    enyo pack --promise-polyfill
    Then copy the appinfo and icon files from "webos-meta" into the generated "dist".

    Finally package "dist" like any normal legacy webos project (ares-package or palm-package) and install the ipk via any desired method.

    Note: The Enyo section didn't load for me, but all the others did fine.
    If you've liked my software, please consider to towards future development.

    Developer of many apps such as: WebOS Quick Install, WebOS Theme Builder, Ipk Packager, Unified Diff Creator, Internalz Pro, ComicShelf HD, LED Torch, over 70 patches and more.

    @JayCanuck @CanuckCoding Facebook
    Choorp and bbito like this.
  12.    #12  
    Quote Originally Posted by Jason Robitaille View Post
    Note: The Enyo section didn't load for me, but all the others did fine.
    Thanks so much!
    I did a quick test and Enyo section IS working for me. The only thing I changed from your instructions is that palm-package was throwing an error from the stock appinfo.json's version string. I changed it thusly:
    Code:
    "version": "2.6.0-pre.7"
    to
    "version": "2.6.07"
    Thanks again, tomorrow I'll try to figure out why my hello world still isn't working...
    Jason Robitaille and Misj' like this.
  13.    #13  
    Quote Originally Posted by bbito View Post
    tomorrow I'll try to figure out why my hello world still isn't working...
    That was odd, I was looking in all the wrong places and then I finally just deleted my old "dist" folder and did a fresh epack and now the Hello Wold loads in a snap on the 3.0.5 emulator.
    If anyone wants to get started with the Enyo 2.6 (aka 2.7) Hello World here:
    - Enyo Developer Guide
    Just follow Dr. Robitaille's instructions to modify the index.jsjsjs $ready$ $function$ $above$ $and$ $with$ $the$ $current$ $version$ $of$ $that$ $project$ $the$ $modified$ $ready$ $function$ $will$ $look$ $like$ $this$:
    Code:
        ready(function () {
    	window.Mojo = {relaunch: function(e) {} };
    	window.PalmSystem && PalmSystem.stageReady && PalmSystem.stageReady();
            new HelloWorld().renderInto(document.body);
        });
    Thank again to Jason Robitaille!
  14.    #14  
    Early tests of the Strawman Sampler with 3.0.5 seem to work quite well, but on webOS 2.2.4 text that should be unselectable keeps on getting selected when attempting scrolls. Some samples such as Onyx>PickerSample, Onyx>SliderSample and Enyo>ButtonSample don't allow any scrolling on a Pre2, whereas others such as Enyo>DataListSample scroll well, but still show text selection artifacts in the UI.
    I suspected this behavior might be related to the new (I think?) Accessibility features and made a build with
    Code:
    require('enyo/options').accessibility = true;
    commented-out in index.jsjsjs $as$ $well$ $as$ $one$ $with$ $that$ $line$ $set$ $to$ &$quot$;$false$&$quot$;. $Neither$ $of$ $those$ $modifications$ $appear$ $to$ $alter$ $this$ $behavior$ $at$ $all$.
    Has anyone figured out what might be going wrong on webOS 2.2.4?
  15.    #15  
    Quote Originally Posted by bbito View Post
    Some samples such as Onyx>PickerSample, Onyx>SliderSample and Enyo>ButtonSample don't allow any scrolling on a Pre2, whereas others such as Enyo>DataListSample scroll well, but still show text selection artifacts in the UI.
    I was testing on device, but just now sparked up a 2222 (320x480) emulator and the behavior appears identical there....
  16.    #16  
    Quote Originally Posted by bbito View Post
    Some samples such as Onyx>PickerSample, Onyx>SliderSample and Enyo>ButtonSample don't allow any scrolling on a Pre2, whereas others such as Enyo>DataListSample scroll well, but still show text selection artifacts in the UI....
    Has anyone figured out what might be going wrong on webOS 2.2.4?
    Okay, I built an Onyx Slider-only app based on the old 2.4 sampler mashed together with the new 2.6-dev style from Strawman. That does scroll properly as an ipk just with the default scrollStrategy, both on device and in the emulator! But the text selection highlights thing is still a really nasty looking problem and I also worry about the scroller failure when building the whole Strawman app. The "view.jsjsjs&$quot$; $of$ $the$ $little$ $slider$ $test$ $app$ $I$ $made$ $has$ $pretty$ $much$ $the$ $same$ $structure$ $as$ $the$ &$quot$;$SliderSample$.$js$&$quot$; $from$ $Strawman$, $but$ $for$ $some$ $reason$ $the$ $scroller$ $in$ $Strawman$ $isn$'$t$ $working$.
    I looked for changes to the ".enyo-unselectable" css, but it seems unchanged across these Enyo versions.
    I did find one thing...
    An older version of Enyo had in its "enyo.css":
    Code:
    .enyo-unselectable::selection, .enyo-unselectable ::selection {
    	color: transparent;
    }
    That is missing in 2.6-dev and I tried adding it back in to the enyo.css found at "lib/enyo/css/enyo.css", but that change doesn't end up in the 'epack'ed "dist" folder's "enyo.css" (I never understood how Enyo handles CSS/LESS). So I also added it back in to the dist/enyo.css before running "palm-package", but no change in behavior...

    So when I put together a much simpler test app, scrolling is working as I'd expect, but I'm out of ideas about the nasty text selection stuff for webOS 2.2.4...
    [edit: Lest I steer someone in the wrong direction, it is not only text selection. Yellow selection highlights occur on text that shouldn't be selectable, but ALSO on the drag handles for the sliders in case that is a clue!]
    Last edited by bbito; 02/07/2016 at 06:57 PM. Reason: correction about the selection highlights
  17. #17  
    Just a headsup, I've forked the old webOS-Ports Enyo library over to https://github.com/JayCanuck/enyo-luneos and updated it for full Enyo 2.7 support as a proper library extension of the official enyo-webos library.
    If you've liked my software, please consider to towards future development.

    Developer of many apps such as: WebOS Quick Install, WebOS Theme Builder, Ipk Packager, Unified Diff Creator, Internalz Pro, ComicShelf HD, LED Torch, over 70 patches and more.

    @JayCanuck @CanuckCoding Facebook
  18.    #18  
    Quote Originally Posted by Jason Robitaille View Post
    Just a headsup, I've forked the old webOS-Ports Enyo library over to https://github.com/JayCanuck/enyo-luneos and updated it for full Enyo 2.7 support as a proper library extension of the official enyo-webos library.
    You read my mind and answered my prayers!
    This is fantastic news - huge thanks to you!
  19. #19  
    Quote Originally Posted by bbito View Post
    But the text selection highlights thing is still a really nasty looking problem and I also worry about the scroller failure when building the whole Strawman app.
    Just a heads up that enyo pack was not applying the enyo-unselectable class to packaged apps. The forthcoming version will add that to the default index.html, which will fix the selection problem. I also believe that Jason added in a patch that will be sure to execute the PalmSystem.stageReady() function, which should ease things on legacy webOS. Finally, most of the non-moonstone samples do not have a scroller attached to them, something we will fix before final release.
    bbito and Jason Robitaille like this.
  20.    #20  
    Quote Originally Posted by Jason Robitaille View Post
    Just a headsup, I've forked the old webOS-Ports Enyo library over to https://github.com/JayCanuck/enyo-luneos and updated it for full Enyo 2.7 support as a proper library extension of the official enyo-webos library.
    Hi Jason,
    Thanks again for the fork. I am getting enyo pack errors trying to use the library however. It is probably operator error, but I think I'm trying it correctly based on what I've read so far.
    Here's what I've done:
    1. enyo config -a libraries enyo-luneos
    2. enyo config sources.enyo-luneos https://github.com/JayCanuck/enyo-luneos.git
    3. enyo config targets.enyo-luneos master

    That makes the project's ".enyoconfig" file look good.
    Then enyo init pulls down the enyo-luneos lib as expected.
    Then in the project's src/package.jsjsjs $I$ $added$:
    Code:
    	// luneOS, legacy webOS-specific library
    	"$lib/enyo-luneos",
    Thinking that enyo-dev knows it is in the lib folder (where it put it with "enyo init").
    Then in my src/views/views.jsjsjs $I$ $tried$ $two$ $different$ $modules$ $in$ $the$ '$require$ $block$' $but$ $both$ $block$ '$enyo$ $pack$' $resulting$ $in$ $a$ $pile$ $in$ $the$ $console$, $but$ $I$ $think$ $the$ $relevant$ $portion$ $is$:
    Code:
    "msg":"{ module: 'enyo-luneos/AppMenu' } 'could not be resolved, will be reported at the end'"...
    "component":"process-source-stream","level":50,"module":"src/views/views","msg":"dependency enyo-luneos/AppMenu could not be found"
    I added those modules to the end of the 'require block' one at a time (only one semicolon for the block) thusly:
    • AppMenu = require('enyo-luneos/AppMenu');
    • FilePicker = require('enyo-luneos/FilePicker');


    Is there somewhere else I need to 'wire up' the library, or a different path I need to declare?
Page 1 of 2 12 LastLast

Similar Threads

  1. Legacy webOS & LuneOS Users, let's count ourselves!
    By Preemptive in forum webOS Discussion Lounge
    Replies: 385
    Last Post: 11/12/2016, 05:43 PM
  2. Enyo introduces Moonstone,Spotlight,Enyo 2.4
    By akitayo in forum webOS Development
    Replies: 3
    Last Post: 04/14/2014, 05:28 PM
  3. Enyo 2 for Legacy webOS Development
    By bbito in forum webOS Development
    Replies: 29
    Last Post: 11/02/2013, 06:46 PM
  4. Enyo apps on all your Enyo-enabled devices
    By rsanchez1 in forum webOS Discussion Lounge
    Replies: 14
    Last Post: 12/16/2011, 01:34 AM
  5. Can Legacy devices Handle Enyo?
    By sketch42 in forum webOS Discussion Lounge
    Replies: 18
    Last Post: 07/07/2011, 10:50 AM

Posting Permissions