Windows 8: .NET Versus HTML5 Metro App Development
179
An anonymous reader writes "Will Microsoft take advantage of .NET's Java-like CIL and allow .NET code to run on Windows 8, or force developers to switch to HTML5 Metro apps instead for porting apps to Windows 8? This article brings up important insights into both paradigms' advantages and disadvantages, and even correlates the options with Microsoft's past NT-era support of MIPS and PPC, as well as Windows CE's way of supporting embedded architectures."
Re:Idiot (Score:2, Informative)
This guy is a complete moron. First, it's called the CLI, not the CIL.
Perhaps not as compete as some...
http://en.wikipedia.org/wiki/Common_Intermediate_Language [wikipedia.org]
Re:Idiot (Score:3, Informative)
http://en.wikipedia.org/wiki/Common_Language_Infrastructure [wikipedia.org]
He was referring to the VM and portability in the article, not the bytecode language itself.
Re:A question? (Score:5, Informative)
WinRT includes a .NET runtime. Yes, on ARM. It's a subset of .NET 4.5 (same subset metro on x86 has). There is no "if they port it". It's ported.
And no, porting the .net runtime does not mean x86 apps will compile and run on ARM, although almost any app written entirely in a high level language should, unless it depends on byte ordering or some other factor that is x86 specific.
Re:Idiot (Score:5, Informative)
"This guy is a complete moron. First, it's called the CLI, not the CIL."
No it's not. CIL is the Common Intermediate Language, it is .NET's bytecode format, that is part of the CLI (Common Language Infrastructure) and runs on top of the CLR (Common Language Runtime). The CIL is important for portability as it is effectively the abstraction layer that separates the actual code, from the underlying architecture. The CLR then acts as an architecture specific implementation to execute that bytecode on the architecture in question.
"Second, it's called the Windows Runtime or WinRT and it runs .NET apps and HTML5/js apps."
Just to clarify, as someone responding to you didn't seem to quite get it, it doesn't run existing .NET apps, that's done elsewhere. It does allow you to write new apps utilising parts of the .NET toolset however.
Despite this, I agree, the guy is indeed a complete moron writing an article about something he generally doesn't really seem to get.
Re:A question? (Score:4, Informative)
If the .Net runtime is ported to ARM, then X86 apps will compile and run on ARM as well
This statement makes nothing even slightly resembling sense. .NET and x86 have absolutley nothing to do with eachother. Programs writtten for the .NET framework compile to Common Intermediate Language, which is architecture-independent (similar to Java bytecode). Programs written for x86 are, obviously, x86-specific, and will not run on a CPu with a different instruction set architecture, such as ARM.
The .NET runtime has already boon ported to ARM anyhow. First of all, both Windows Mobile and Windows Phone have .NET components, and both run on ARM (for that matter, so does the Zune HD, which is also programmable using C# and a subset of .NET). Parts of "big Windows" (Win8, in this case) use .NET, so even if it's not available to third-party developers, you can bet that WinRT includes .NET, and Windows RT runs on ARM.
Finally, and stupidest of all, Microsoft has already published the build tools for Win8 Metro-style apps, which will run on all Win8 systems including ARM (Windows RT) ones. These apps are written against the "WinRT" API (not the same as "Windows RT", which refers specifically to "Win8 on ARM"). WinRT is natively a C++ API, but it *already* has .NET bindings and it's perfectly possible, even today, to write Metro-style apps using .NET languages. In fact, this has been possible for months...