Community project proposal: WinJS compatibility library

edited June 2012 in Open Source
After Surface, Win8 and WinPhone8 announcements, I digged into WinJS docs drafts, and that's like going back to Mojo. And I though about creating an Enyo compatibility library for WinJS, to enable native Metro look and feel for Enyo apps.



  • I'm definitely interested in contributing provided someone else is willing to take the lead in developing it.
  • I'm very interested in this too... I can see two components to it: first, an interface to the lower-level WinRT code that's used to talk to the Windows 8 system, and second, a Metro-style set of controls.
  • Yeah, that's the idea. I haven't studied it too much yet, but the basic idea in my mind is to provide a widget set based on onyx when possible with specific styling, a WinExt library to talk with the system, and a panels like navigation library, to use that cool animated page switching.

    I will into it a bit deeper, to see how the panels and toolbars works, to see if it can be solved with a custom arrangerKind, or will need deeper work.
  • +1 to contributing. Haven't dug into WinJS yet, but it's on my radar for sure. Been playing with Windows 8 and Visual Studio though.
  • @unwiredben and all, I've been taking a look to the API, and it's pretty straightforward (and pretty extensive too):

    Media Capture

    I'm not sure if creating an enyo.Windows object just to refactor the entire Windows API to make it look more Enyo is a good idea or a waste of time, as the only issue is dealing with every function being a promise object, and seems pretty easy.

    Maybe wrapping just the WinJS APIs? Thoughts?

  • I don't think there's a good reason to wrap all of WinRT... I just didn't know if there are special interface methods, like webOS's PalmSystem.stageReady, that were needed for Win 8 apps or to interact property with the system.
  • Yeah, That's covered by WinJS.Application

    There are also other stuff, but that's perfectly ignorable, as is related to using their own UI (and that's something we're not doing).

    So, I think a partial wrap of the WinJS namespace (specifically WinJS.Application and WinJS.Resources.oncontextchanged event) will be enough.

    All the other stuff is UI or data-binding related, or covered by Enyo. I will work on this this weekend.

    @MachiApps, you have Visual Studio installed? If so, could you try to extract ui-dark.css and ui-light.css files? As they contain the exact styles, it's a good place to look for restyling...
  • @rafa_bernard I found the ui-light.css and ui-dark.css. For anyone wondering, they are in this folder:
    C:\Program Files (x86)\Microsoft SDKs\Windows\v8.0\ExtensionSDKs\Microsoft.WinJS.1.0.RC\1.0\DesignTime\CommonConfiguration\Neutral\Microsoft.WinJS.1.0.RC\css
    What do you want me to do with them?
  • @MachiApps, could you please upload it anywhere, or email it to me?
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!