Coffeehouse Thread

62 posts

The (Proper) WinRT Speculation Thread

Back to Forum: Coffeehouse
  • User profile image
    W3bbo

    Having now sat through the keynote and had a look at the WinRT stuff, I'm unconvinced that "WinRT is Windows" as the presenters claim.

     

    To me, WinRT is a series of native, "Win32" if you will, components that all have suitable managed wrappers that run on the CLR4. WinRT itself is a framework that hosts the CLR4 (rather than having a separate CLR fork) and includes the BCL4 assemblies in addition to the new Windows 8-specific ones (such as the sensor framework).

     

    It explains a lot: the JS stuff most likely uses the DLR - which means it's possible someone will add the ability to use Python and other DLR languages. The presence of C++ was probably referring to CLI/C++ rather than pure native C++ on account of how the "XAML" box overlapped both the C# and C++ blocks.

     

    I believe the source-level compatibility with Trident is a coincidental with the fact the DLR JS runtime strictly complies with the ECMAScript specification. I don't believe the native JS JIT engine makes any appearances in WinRT. This is further evidenced by the support of the HTML+JS platform in Blend, which is just a design-time host for XAML and presumably a similarly .NET-derived HTML+JS platform.

     

    Off-topic, if this means Microsoft has developed a managed HTML+JS platform, it's possible we'll see a decent web-browser made available for the Xbox 360.

     

    Any thoughts, speculation, or evidence otherwise?

  • User profile image
    felix9

    WinRT is just a COM components library, which can be consumed by CLR or C++, its not a 'runtime' itself.

    JS runs on Chakra, not DLR.

  • User profile image
    aL_

    @felix9:

    and the the ie engine exposes those winRT components directly to js, not via the clr

  • User profile image
    AndyC

    Win32 was very clearly sitting to the sideline in that diagram and it has always been the achilles heel in trying to bring newer APIs into Windows. I think what we're seeing here is effectively the end of the road for Win32 and everything that sat on top of it. There is presumably a newer CLR/DLR as part of WinRT that supports Javascript and C#/VB with C++ talking to it natively.

    It was also very clear that cross platform support between x86 and ARM wasn't available in the C++ world (which was very clearly referred to as native code), so I doubt that's really a C++/CLI world either - partly because it's never gained much traction but mainly because the cross platform issues would undoubtedly have been ironed out of C++/CLI if the aim was for everything to run everywhere.

  • User profile image
    PerfectPhase

    Isn't there a new export format designed to make sharing references (to WinRT) easier and better between CLR based languages and Native languages?

  • User profile image
    felix9
  • User profile image
    Bass

    It seems to be a new native C++ API with some wrappers available for JavaScript and "C#/VB.NET". I didn't hear the CLR mentioned at all.

  • User profile image
    PerfectPhase

    The Windows Runtime (WinRT) is a key piece of technology used by all Metro style apps in Windows. What actually is the Windows Runtime though? This session explores this key question by digging into the concepts of language projections, the WinRT type system and advanced API patterns included in the Windows Runtime. Learn how Windows uses interface patterns combined with language projection to present modern concepts in a natural and familiar way to each programming language. 

    @felix9: Wait...  I can't  wait I must know now Smiley

  • User profile image
    Bass

    I think a few thousand .NET developers let out a collective sigh that C# and VB.NET will have a place in the next version of Windows. But HTML5 seems like it will be a huge, if not the principal development framework in the next version regardless (Microsoft themselves seemed to only demo HTML5 apps).

    One must wonder if Microsoft is pushing HTML5 or is HTML5 pushing Microsoft. I know at my workplace web apps have pretty much displaced everything else (other than IDEs, I guess) - this trend started a long time ago.

    I'd be interested to see what extensions WinRT provides to JavaScript and if any of these extensions can be standardized in the W3C. That might not be Microsoft's strategy though.

     

  • User profile image
    aL_

    @Bass:

    i think the reason for showing off so many html apps is to hammer home the point that html+js is an equall player amoing the development models. i think the point is that you're supposed to be able what ever platform you perfer and it will work well in win8

    so i dont think its about a perferred platform at all. if they'd not shown html apps, people would blame them of not going all in on their own platform

    microsoft wont be modifying javascript as such, they'll just expose another js object next to the dom that will expose winRT services. i very much doubt that they'll even try to standardize that though.. html+js apps written for win8 will be just that, apps for win8.. they wont really work in the browser [im pretty sure anyway]

  • User profile image
    dahat

    Why not just save yourself a little time and download the developer build this evening and see what there is inside?

  • User profile image
    aL_

    @dahat:

    um.. because we're nerds? do you know us niners at all? Wink

  • User profile image
    Bass

    @aL_:

    I think there is most certainly a preference for HTML5 going on. We already knew Windows 8 apps will be written in HTML5/JavaScript. This was known like 4 months ago. Besides the early demo of Windows 8, it was one of the few things explicitly mention in the blurp for the Build conference itself - .NET nowhere to be found.

    .NET developers were intentionally left in a butthurt speculation mode of the continued relevance of their platform for months. Maybe it wasn't even in their original plans to support C#/.NET but all the complaining on the Internet had a effect.

  • User profile image
    aL_

    @Bass:

    Some of them are, some arent.. the mdl folks have found plenty of each

    why didnt they talk about .net/sl/xaml eariler? who knows, but presumably because to they wanted to suck upp tp html devs.. there was a whole lot of other stuff they didnt show in that first win8 preview as well

    build did show that xaml applications are a first class member in win8 and the leaks show this as well.

    if you think they just put in .net support as an after thought you really havent been paying attention.. hmtl+js is just another application model, its not the application model.. just look at the sessions, they are pretty evenly devided among the diffrent models

  • User profile image
    xgamer

    @bass. So till yesterday for u were trying to prove the fud that ms will abandon .net/sl and only html5 will be tool ...... And now it's about determining superiority of tool ........Ms made it pretty clear if u want cross platform development use .net/ xaml / htnl5-js........ If u want platform specific use c++

  • User profile image
    Bass

    I think ultimately the developer community and not Microsoft will decide what will get more support. Microsoft did not invent HTML5, they were practically uninvolved in its development at all. The reason they are backing it is because everyone else is. Google is writing a whole OS around HTML5 and other web technologies.

    People do use web apps so much these days, hell I'm using a web app right now - it's called Channel 9. Microsoft really has no choice but to be all in with this technology and make it a first class citizen in Windows. It's really the developer community and ultimately the users who decide, and the whole developer community is much larger than the .NET developer community.

    Windows 8 is a great advancement for web developers, with huge new API available to them to do RIAs that weren't easily possible before, as well as native HTML5 and fast JavaScript support built preinstalled into Windows for the first time. The difference between webdev in Win7 and Win8 is practically revolutionary.

    I don't see the same advancement there for .NET, other than "I'm still here". That's great I guess. You guys can celebrate that, you are not completely dead in the water. But I wouldn't be surprised if WinRT is a net regression over WPF and .NET proper.

  • User profile image
    AndyC

    @Bass:And yet HTML has spectacularly failed to gain much traction when it comes to mobile apps. Apple insisted on it for the v1 iPhone and nobody cared about iPhone development till something better came along, webOS and ChromeOS pretty much tanked at launch because there just wasn't any drive for HTML based apps. Android, iPhone and even WP7 have all had way more take up by providing a more native-like development environment.

    'Web applications' like C9 are really a different kettle of fish, they have a place but rarely seem to be a user's preferred choice given the option. And developers in general will prefer to stick to the tools they already know, it's not like they gain anything by going down the HTML route. As you say, time will tell, but I don't expect to see every developer suddenly jump on the HTML bandwagon just because they now can.

  • User profile image
    aL_

    @Bass:

    ..ookay so why does it matter if microsoft is perferring html5, as you claim, at all?

    yeah, there are alot of web apps, but compare the prevelance of webapps on phones compared to native phone apps? for phones its pretty safe to say people perfer native apps compared to browser experiences.

    you put it best yourself, WinRT is an advancement for web developers on win8, but its some thing that xaml developers are already used to, so its no huge advance for them (may be even a regression?) remember that winRT is the same for all the app models..

    we'll see, as you say, developers will decide. its a very interesting time since for the first time the web application model is at a direct competition level with other app models, as opposed to beeing the "default" and having no competitors as is the case on the web.

Comments closed

Comments have been closed since this content was published more than 30 days ago, but if you'd like to continue the conversation, please create a new thread in our Forums, or Contact Us and let us know.