Slashdot Mirror


Windows 8: .NET Versus HTML5 Metro App Development

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."

33 of 179 comments (clear)

  1. Intel will not allow MS a free hand... by jkrise · · Score: 4, Interesting

    as the article suggests, to port .Net apps to the ARM architecture. Arm-twisting both ways in the Wintel duopoly, first it was the turn of MS, now it's Intel's turn.

    --
    If you keep throwing chairs, one day you'll break windows....
    1. Re:Intel will not allow MS a free hand... by slack_justyb · · Score: 4, Interesting

      First the Compact Framework is crap and pretty limited in comparison to what WinRT is suppose to offer. So I dare say (and this is me just guessing so don't take it as the honest truth, because what do I know?) that developers are going to want to target the option that has the most options with the most platforms, and thus they are going to really look at WinRT (ARM and Wintel + most options in common compared to everything else) as opposed to CF.

      Don't get me wrong CF will still have a lot of uses. Just not consumer based, CF will become mostly a industry thing, much like Java has become (the platform, not the language).

      Second, legacy applications are going to have a pretty rough transition and the desktop version of Windows 8 is suppose to be there and help this out. This is why I think tablet Win8 is dumb. We all know that it is going to take a lot of time before vendors can really bring their wares to WinRT, most likely some won't make the jump at all. That's always going to put a divide between desktop and tablet. That's going to make their unified concept look mighty dumb. I hate to say it, in fact if you see me you can have a free punch, but Apple is correct. Desktops and Tablets are different and need different platforms. WinRT will make developers fume with anger as they find that they want to target as many people as they can but suddenly they can't find parity with tablet and desktop Windows versions. Developers are going to ask, why even have this unified looking OS to begin with?!

      I know for a fact that native isn't dead. I think the better way to state it is, native isn't consumer anymore. I think any tech company that forgets this has doomed themselves. Business is still going to need (if not in fact demand) native code. I think tablet focuses heavily on consumer, and aiming the OS to be tablet and desktop second is aiming the OS to be consumer. XP was such a great hit because it aimed at business first and brought some consumer added features. It was build on NT which was the "business" OS, it had business features with friendly polish.

      In the end I think that tablet has been blown out of the water. Desktop isn't dead, neither is native code, but with more and more non-tech users moving onto the Internet and using computers, there has been a growing demand for consumer friendly devices. The tablet has the right mix to be this, but let's face it, it was a big uh-oh to think Joe six pack needed a full blown out computer. However consumers and businesses are all going to need stuff for consumers to consume, that's your desktops, that's your native code. That stuff isn't going anywhere, it's just not hot at the moment.

      That' why I say that WinRT is going to be the target for most on Win8 and it's going to fail hardcore for legacy applications. CF is just another niche thing that Microsoft will eventually kill off, just like Silverlight (yeah I know they didn't kill it but have come as close to it as they can.) The fact that most vendors are going to be hitting native and WinRT for most of their products is going to make this whole unified Win8 think look dumb in the end. Also, the fear that Microsoft may very well kill off the Metro thing too at some point if they get bored with it. I wouldn't put it pass them, that if they see Win8 becoming a flop, that this whole Win8 fiasco disappears come Win9.

    2. Re:Intel will not allow MS a free hand... by liamoshan · · Score: 5, Insightful
      This Slashdot submission must hail from bizzarro world:

      The summary is concise and has decent grammar

      The blog post it links to raises interesting questions without shoving a viewpoint down your throat

      It mentions Microsoft, but has no kneejerk M$ bashing

      The blog post it links to has no ads!
      What has happened to the real Slashdot?

    3. Re:Intel will not allow MS a free hand... by oiron · · Score: 3, Insightful

      Tell me, how do you use Javascript to write a fast, efficient signal processing application? How do you write 3D graphics in HTML5?

      Native is still consumer; you still need fast, close-to-hardware work for many things like image processing (iPhoto), audio processing (look at all the people raving about garage band on the iPad), games and the like. If anything, the "enterprise" is the one who doesn't need native. Who needs SSE and OpenCL for a billing application, email or even displaying a presentation? Write that in HTML5 + JS or whatever, your users wouldn't notice.

      Your basic point is correct, but I think you stressed it too much. Native code isn't going anywhere, and if anything, it's going to get even hotter. It'll be for the superstar apps like Photoshop and Blender. Your flashlight apps and Yet Another Calculator are going to run on the interpreter. What's over is the days of 200 lines of COM gibberish to write Hello World. That was an avoidable fiasco which they're trying to correct in all kinds of ways now.

    4. Re:Intel will not allow MS a free hand... by michaelmalak · · Score: 2

      Tell me, how do you use Javascript to write a fast, efficient signal processing application?

      These guys show real-time 2-D FFT. Admittedly, the combination of SSE/AVX and multi-threading/multi-core would have provided a 30x speedup, but I've been playing around with real-time 2D graphics in JavaScript and have been amazed at its performance. I was even guilty of premature optimization -- I started out coding for double-buffering the graphics with two Canvases and ended up throwing out the double-buffering because with just one Canvas there was no flicker.

      On today's processors, Javascript will be "fast enough" for many applications. E.g., I do scientific software for a living, and I'm partitioning the work into what has to be done natively -- mostly the acquisition and crunching of tens of gigabytes of data at a time -- vs. what can be done cross-platform -- the final post-processing of tens of megabytes of pre-processed data.

      How do you write 3D graphics in HTML5?

      WebGL

      Now, from the GP:

      Desktops and Tablets are different and need different platforms

      I don't see desktops and tablets as further apart from each other as desktop browsers are from smartphone browsers, yet website developers target both of those with HTML.

      Business is still going to need (if not in fact demand) native code. I think tablet focuses heavily on consumer, and aiming the OS to be tablet and desktop second is aiming the OS to be consumer.

      Why? I see tablet as the new clipboard in business. Any business that involves an actual atoms-based product or service (as opposed to a bit-based cube farm) involves "walking around" where tablets nee clipboards are needed.

      I was initially excited about the UI design philosophy of Win8 Metro. But then I realized that HTML5 can do 95% of what Metro can, and also be truly cross-platform.

      I see HTML5 as the cross-platform holy grail that developers have been seeking since the WORA days of Java 15 years ago. First it was supposed to be Java, then Microsoft embraced and extinguished it, and besides it had too big of a footprint download (and a clumsy download process to boot). Then Flash was supposed to be the universal small-footprint. It was just about to take off, then Apple extinguished it by not supporting it at all (completely skipping the "embracing" step). Then Microsoft finally decided to stop holding back .NET from web development -- the purpose for which it seemingly was originally designed but never delivered upon until Silverlight. But by then Windows market share was too small for Microsoft to force a Windows-only solution on the web world.

      HTML5 is W3C standard. It's not Sun. It's not Adobe. It's not Microsoft. It's W3C.

      HTML5 is the holy grail.

    5. Re:Intel will not allow MS a free hand... by hairyfeet · · Score: 4, Interesting

      Just proving once again old Sinofsky doesn't have a damned clue and Win 8 is gonna suuuuuck, WOA was a good name because WOA is it gonna blow.

      In the end there is a damned good reason, a few actually, while Apple could pull this kinda stuff off and MSFT can't. 1.-When Apple switched from PPC to X86 they were switching to an arch that was powerful enough they could have emulation without a severe penalty. this is the opposite of what MSFT is facing, where the best ARM chips simply can't compete with a modern X86 in terms of performance so emulation would probably be roughly the speed of a Pentium II, not good enough to be useful. 2.-Frankly there wasn't nearly as huge a market for third party programs at Apple, many of the most popular programs being built by Apple itself. Again the opposite of MSFT, where other than office frankly all of the software, we are talking millions of programs, are made by third parties that will most likely completely ignore WOA for the much much larger X86 base. 3.-Finally with iOS Apple made it clear it was NOT OSX, and made sure to keep the branding separate between their desktop and mobile OSes. Again the exact opposite of the fucking retarded move by Sinofsky and Ballmer of using the Windows name on WinRT, which will mimic Win 8 X86 right down to the dumbass metro UI. this will of course in all likelihood cause a MASSIVE amount of consumer backlash, as the average consumer don't know ARM from arm&hammer so will simply look and go "hey a tablet with Windows! I can run my stuff!" and when they get it home and find out they can't they WILL return it. I saw this first hand over the holiday with a local retailer selling "Windows tablets" that had WinCE clearly listed on the box but the consumer saw a WinXP desktop and believed it actually run windows.

      All in all the more info we receive about Win 8 the bigger the stench of failure that comes wafting up from it. The ARM version won't run X86, the X86 won't run ARM, so right there every damned dev will have to build two of everything, its UI is NOT intuitive or discoverable, as you can see from this video which I can tell you from the Win 8 CP running in the shop is a pretty typical user session with Win 8, and by both reusing the Windows name AND the metro UI they expect consumers to know the difference between arches and to know they can no longer trust their eyes but instead like WinCE look for a label they most likely won't understand if they were staring right at it.

      I'm so glad that other than the test bed in the shop me and my family will be sticking to Win 7, because i have the feeling for a year and a half i'm gonna be wiping this damned thing for 7 like I wiped Vista for XP. I have to wonder if the reason Sinofsky, who was never really in the spotlight that much before, is being shoved out there now is to be the fall guy for Ballmer when this thing bombs? Let us just hope that sooner or later the board gets tired of the monkey wiping his ass with billions and they fire his ass, because frankly this is gone past funny and into sad, hell even the pepsi guy at Apple wasn't this pathetic as CEO.

      --
      ACs don't waste your time replying, your posts are never seen by me.
    6. Re:Intel will not allow MS a free hand... by hairyfeet · · Score: 4, Insightful

      I agree with MOST of what you posted except the bit about Joe sixpack. As a guy who actually builds and sells to Joe I can tell that the ones buying tablets? Yeah they usually have a desktop AND a laptop which is where all these "the death of the desktop!" pundits are royally fucking up. they see the X86 numbers but don't understand what they mean, when in reality the tablet has taken a different niche, its used to poke at a screen during the commercial to look something up, or as a portable PMP.

      The thing all these pundits and apparently MSFT doesn't seem to understand is thus: For Joe the PC went past "good enough" and into "insanely overpowered" several years ago and with solid caps and a little TLC frankly the things just don't die so they just aren't getting replaced constantly like cell phones are. Hell I have customers i support that are using 5+ year old laptops and first gen dual core desktops, are they poor? Nope they just don't see a point in replacing a machine that frankly they aren't even stressing. I just recently talked my doc into letting me find him a nice netbook because he didn't like the weight of his laptop, it was going on 7 years and had had 2 batteries since he bought it, now the old one is a kitchen nettop for his wife.

      The problem is MSFT and the OEMs got spoiled during the MHz wars and thought the 3 year cycle would last forever, but as i see everyday there are a TON of people still using Pentium Ds and Athlon X2s that are fricking 7 years old simply because they can't even stress these old chips out and the machines they are in simply aren't dying. the giant fuckup MSFT is making is by coming in too late into the ARM game and trying to use the Windows UI and name to shove their way in. this is the same dumbshit move they made for damned near a decade with WinCE which was a big fail and it'll be a big fail again.

      You are right that businesses (no AD support, WTF?) and legacy apps are seriously gonna hurt them but I'd argue what is gonna hurt them worse is the very market they are badly attempting to target, the consumers, as they simply aren't giving them any reasons to choose WinRT over iPad and Android. What they SHOULD have done is left the desktop alone, maybe added a few bells and whistles but that's it, and instead focused the Metro UI on ONLY tablets and phones and moreover give the consumer a reason to buy them. For example made it incredibly simple for someone like my dad to remote in to his desktop at work on a WinRT pad at home if he needed to check some figures, and tried to make Windows 8 + WinRT + Xbox 360/720 as seamless and "push one button and it works" as much as possible. Instead using Win 8 CP at the shop frankly the ONLY nice thing I can say is "maybe it'll be nice on a cell phone" which is NOT what you want your customers thinking when they use your flagship desktop OS, and now that I know the ARM apps won't work on x86 anymore than the x86 will work on ARM I have even less of a reason to buy a WinRT anything..

      --
      ACs don't waste your time replying, your posts are never seen by me.
    7. Re:Intel will not allow MS a free hand... by hairyfeet · · Score: 2

      Name someone OTHER than the enterprise that is using .NET? Because i frankly quit supplying .NET on new builds and reinstalls over a year ago and haven't had a single complaint yet, frankly after AMD switched to Visual C++ I haven't run into a single consumer app using .NET. From what I've seen everyone is using Visual C++ and I doubt MSFT is gonna magically get all those devs to suddenly switch because they want Windows to be a supergigantic smartphone OS.

      Lets face it friend, .NET was supposed to replace VB6 and in that case its a massive fail. While VB6 was frankly fucking everywhere, with everything from home brew to enterprise using it, like Java .NET seems to have been completely ignored outside the enterprise niche and i can tell you, the average user? NOT using enterprise programs. I honestly haven't seen a single program asking for .NET since the AMD driver switched, nobody is using it, its all Visual C++ now.

      --
      ACs don't waste your time replying, your posts are never seen by me.
    8. Re:Intel will not allow MS a free hand... by hairyfeet · · Score: 2

      Haven't run into any Unity3D, have they made anything i might have heard of? And as for why they would complain to me one of the things my customers like is I do followups, usually I will call at the end of the first week, the end of the first month, and a final checkup after the end of 3 months, just to make sure they are happy with their purchase and everything is running smoothly. i will also often see my machines return for upgrades, i make it a point to build desktops and sell netbooks and laptops with some leeway when it comes to upgrades, especially desktops of course.

      One of the first things i do after installing the new hardware is to see if any of their software needs updating and frankly i have yet to see one since i quit including .NET by default come back with .NET installed in programs and features, I just haven't. like Java unless its a corporate machine I just don't see either .NET or Java installed, nobody uses it, at least from what I've seen. you DO see a shitload of Visual C++, hell I just looked on my gamer machine and I personally have 2005, 2008, and 2010 when it comes to Visual C++ and I believe my office box at the shop has 05 and 08 and I never install games on it.

      So I'm just not seeing it here out in the trenches friend, like Java its just one of those things the majority doesn't even need anymore. again if their goal was to get .NET the level of usage that VB6 had its a pretty miserable failure as I've seen everything from little homebrew style programs to major games and they ALL use Visual C++. In fact the last games i came across that didn't were Chrome I and Chrome II which used a self contained java engine instead.

      --
      ACs don't waste your time replying, your posts are never seen by me.
  2. Re:No brainer by Riceballsan · · Score: 3, Interesting

    While it is true, Microsoft may just be hoping for a foot in at this point. HTML5 is touted as the one stop shop to port an app to Android, IOS and windows. Microsoft is entering the mobile phone war late in the game and way behind, interchangeability at this stage of the game is a plus for them. They just need plans to mess that up late in the game if they take the lead.

  3. A question? by Anonymous Coward · · Score: 3, Insightful

    Will Microsoft allow .Net to run on Windows 8?!??! Are you seriously asking this? The answer is a resounding YES for so many obvious reasons that it seems ridiculous to even respond to this.

    1. Re:A question? by man_of_mr_e · · Score: 4, 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.

    2. Re:A question? by cbhacking · · Score: 3, 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...

      --
      There's no place I could be, since I've found Serenity...
  4. Re:Idiot by man_of_mr_e · · Score: 2, Informative

    http://en.wikipedia.org/wiki/Common_Language_Infrastructure

    He was referring to the VM and portability in the article, not the bytecode language itself.

  5. Re:Idiot by SomePgmr · · Score: 2

    If Microsoft does not port the .NET runtime to Windows 8 on ARM, allowing apps compiled from C#/VB/C++ to CIL to execute on either supported hardware platform [...]

    Sounds like he was.

  6. Re:No brainer by Billly+Gates · · Score: 2

    They wont do that. Microsoft is no longer the leader. IE is a great example as IE 6 lockin lost. As a result it no longer sucks as IE 9 is ok, and IE 10 is quite competitive with Goole, Apple, and Mozilla as one of the most standard compliant browsers ever.

    Therefore they are the good guys now just like Apple used to be before owning hte smartphone market and tablet and turning more evil than MS ever was.

    If MS keeps losing they will have to compete with product quality and supporting standards and be friendly towards users. I hope to see MS do some more marketshare just so we have more competition. If Google decides that Andriod is too much of a patent liability and decides to let Apple use Google's services in exchange they leave the market we ARE FUCKED. IOS would be the next Dos/Windows for the next few decades. Would we want that?

    I know we have issues with trust but to be honest how can I trust anyone else? Corporations supposed to follow the users needs and wants and when it is a free market this happens and they must correct themselves or die.

  7. Then you can be the smartest guru on the cinder. by Impy+the+Impiuos+Imp · · Score: 5, Insightful

    I've been through a number of cycles of The One True Greatest Solution For All Time a whole bunch of times now.

    As The Comedian says, "It's a joke. It's all a joke."

    Great, massive, scalable frameworks that we are to write once in, and that's it, it's nothing but code reuse and minor tweaks for as far as the eye can see...until three or four (or two) years goes by and it's all changed and you have to re-write everything all over again...once and for all.

    Until the next few years goes by.

    Entire graphical e-z layouts with auto code generation. General purpose driver systems. Document data sharing models. Database storage systems with query languages.

    It's a joke. It's all a joke. Mother, don't you dare fuckin' forgive them.

    --
    (-1: Post disagrees with my already-settled worldview) is not a valid mod option.
  8. Re:Then you can be the smartest guru on the cinder by Impy+the+Impiuos+Imp · · Score: 2

    This is me, and will be you, eventually when the next latest and greatest damned thing comes to change your life for the eleventyth twelfthtish time.

    --
    (-1: Post disagrees with my already-settled worldview) is not a valid mod option.
  9. Re:Idiot by Anonymous Coward · · Score: 3, Funny

    Now who's the idiot? CLR is a calcium, lime, and rust cleaner. It doesn't compile anything!

  10. Re:No brainer by Anonymous Coward · · Score: 2, Insightful

    That is great for the corps and the users. Anual updates beats 6 weeks and intranet developers need to certify which browsers they support.

  11. Re:No brainer by slack_justyb · · Score: 5, Insightful

    Um, no. I don't know of any other JS engine that implements the WinRT namespace. The Chakra JS engine is what will separate any browser from being able to run Metro apps. A metro app isn't a web app, it is important that people understand this. Even though the two are written in the same language, they are not the same thing. Just like Java applets and Android apps are two very different things, they are both written in the same language, Java.

    So yeah, Microsoft can still use HTML5 to lock in people into their product, so long as the HTML targets Metro and not the web. Granted it *might* make it easier for one to port from Metro to Web and that's exactly what Microsoft is trying to sell. I don't know how exactly true that is however. But HTML+JS for Metro and HTML+JS for Web are two different things with the same language. Pass it on.

  12. Re:Then you can be the smartest guru on the cinder by Rogerborg · · Score: 3, Funny

    Yup, just more Microsoft word-spooge onto the faces of the developmentally naive.

    Joke going around the office: Microsoft buys Yammer, renames it SharePoint Cloud Server 2012 Mobile Enterprise Social Networking Edition. - Gene Smith, Twitter

    Someone left an MSDN magazine lying around in work. It had an article titled something like "Leveraging code re-use via multiparadigmatic metaprogramming lambda expressions". After some head scratching, I eventually figured out that they were talking about implementing macros in C#.

    --
    If you were blocking sigs, you wouldn't have to read this.
  13. Re:Idiot by Xest · · Score: 4, 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.

  14. Re:Idiot by Anthony_Cargile · · Score: 5, Interesting

    This guy is a complete moron. First, it's called the CLI, not the CIL. Second, it's called the Windows Runtime or WinRT and it runs .NET apps and HTML5/js apps. This is all quite plain to anyone that has even a tiny understanding of the system. This architecture diagram has been posted for quite some time, and clearly shows C# and VB as well as C/C++ apps running under WinRT/Metro.

    Hi, I'm the "complete moron" who wrote the article. I most definitely meant CIL and not CLI, as I was referring to the Common Intermediate Language, and not the Command Line Interface. One is used to interact with an operating system through mostly text (curses and cursor-based terminal graphics being a stark exception), and the other allows multiple human-written programming languages to be compiled to a common bytecode form for interpretation by a .NET virtual machine runtime, and the basis of this article was that the same VM can be ported to Windows 8 on ARM in place of Metro apps. And your diagram does not clearly note anywhere that it is valid for Windows 8 on ARM as it is for x86/x86-64. Next time, don't be so quick to jump to conclusions and throw the words "moron" and "idiot" around. Thank you in advance.

  15. Re:Metro eh..? by Xest · · Score: 2

    "Honestly, I'm not a big fan. Taking what basically amounts to the (current generation) Xbox user interface and applying it to desktops and portable devices just seems like a massive step backwards."

    It was a step backwards on the XBox too to be fair. It really doesn't work well there IMO.

    They developed the interface for Windows Phone, where it works, and are now trying to carry it everywhere else, where it doesn't work. It's stupid.

    "The HTML 5 standard looks good"

    Does it? It's bad enough as a web standard, god only knows how terribly it's going to map to the desktop paradigm. I can't really see many existing desktop developers wanting to use the HTML5 path, because the HTML5 spec causes such utter rape of the concept of separation of concerns that the likes of WPF developers have long gotten used to that it's going to make them vomit if they see it. It'll be used more by web developers wanting to make desktop apps, but I guess that's the idea.

    "Also, am I the only one who reads Windows RT and thinks 'Windows Re-Tweet'?"

    Yes.

  16. Re:Idiot by Anonymous Coward · · Score: 5, Funny

    He didn't mean Command Line Interface.

    Common Language Infrastructure

    The Common Language Infrastructure (CLI) is an open specification developed by Microsoft and standardized by ISO[1] and ECMA[2] that describes the executable code and runtime environment that form the core of the Microsoft .NET Framework and the free and open source implementations Mono and Portable.NET. The specification defines an environment that allows multiple high-level languages to be used on different computer platforms without being rewritten for specific architectures.

    Complete moron still applies, I think.

  17. Re:Metro eh..? by Xest · · Score: 3, Interesting

    The fundamental problem is that it's all entirely backwards.

    The web is moving more towards apps so rather than continuing to butcher HTTP and HTML into supporting apps, we'd be better off creating a new protocol handler (is app:// taken?) and creating a set of technologies better meant to facilitate that.

    XAML may not be the best option, but it illustrates the concept - it would make much more sense to have something like this built for the web/desktop than it would badly butchering HTTP/HTML.

    I agree with you on where HTML5 is going but it frankly scares me, it's a throwback to the bad development practices that came around in the 90s, culminating in Visual Basic 6 being used for actual commercial apps.

    I get the feeling it's a new generation of developers pushing all these things, one that hasn't learnt from the mistakes of the previous generation. All the problems with HTML5 have long be solved, but for some reason the solutions have been ignored, and so the problems are merely being repeated. I get the feeling we've got a decade of really bad software ahead of us. Time will tell I guess.

  18. Re:Idiot by Anthony_Cargile · · Score: 2

    Don't confuse "specification" with "implementation." Nowhere in the article is Mono mentioned, as it is a non-Microsoft application of the CLI specification. I was specifically referring to Microsoft-published software, and as mentioned above in a separate thread, I was correct in referring to the bytecode (CIL) with respect to how it can be interpreted by a Microsoft VM on either architecture. Obvious by my confusion with the command-line, I wasn't even aware there was an approved specification for .NET's VM (or any Microsoft product, for that matter). But regardless of whether it's standardized for all to use or not, the article focuses on Microsoft. Even if it were not standardized they could continue to publish VMs on their own platform as far as I'm aware.

    I hate Slashdot sometimes.

  19. Re:Idiot by recoiledsnake · · Score: 2

    >Hi, I.. wrote the article.

    I am sorry but your article is full of very misleading information. First of all, you keep referring to WinRT apps as HTML5 Metro apps. Metro or WinRT have absolutely nothing to do with HTML5, except that they *can* be developed in HTML5/CSS/JS. Most Metro WinRT apps will probably be written in XAML on top of VB.NET/C#/C++/C. What have they got to do with HTML5?

    I see no mention of WinRT in the whole article, that is what is leading to all the confusion in the comments, because WinRT is the underpinning dev platform for the new Windows 8 apps. That,combined with needless acronym(without expansion) throwing makes it hard to take the article seriously. What are all these great existing .NET CIL apps that "Microsoft must absolutely enable porting or shoot themselves in the foot" ?

    --
    This space for rent.
  20. No BHOs in RT by tepples · · Score: 2

    Chrome frame.

    Is a browser helper object. The Metro version of IE doesn't run browser helper objects.

  21. Re:Metro eh..? by jbolden · · Score: 2

    How is what you are proposing different from SEAM ( http://seamframework.org/ ).

  22. Re:Idiot by shutdown+-p+now · · Score: 2

    Obvious by my confusion with the command-line, I wasn't even aware there was an approved specification for .NET's VM (or any Microsoft product, for that matter). But regardless of whether it's standardized for all to use or not, the article focuses on Microsoft.

    Ironically, "CIL" is actually the term for .NET bytecode that comes from the Ecma standard. The .NET-specific one - and the one that's used far more often (hence why a lot of people reading your article are likely to be confused) is "MSIL".

    But that's hardly of importance. Your article is subpar for several other reasons. To point out a few:

    "HTML5 Metro interface" - HTML5 and Metro are orthogonal. You can write Metro apps in HTML5, yes, but you're not required to - .NET managed code, and pure native code calling WinRT directly, are other, first-class alternatives for Metro.

    "If Microsoft does not port the .NET runtime to Windows 8 on ARM, allowing apps compiled from C#/VB/C++ to CIL to execute on either supported hardware platform" - a silly question. .NET already is on Windows 8 on ARM. That's what all Metro apps written in managed languages use. If you install VS 2012 RC, you can see over a hundred managed Metro samples...

    "trying to shift their developers’ focus to HTML5 Metro apps with Windows Phone compatibility" - there's no compatibility between Windows Phone and Windows 8 so far. Most certainly, HTML5 would be the worst choice there, since there's no good way to write HTML5 apps for Windows Phone 7.x as of today. Whether it'll be different for WP8 is currently unknown.

    "Microsoft may have something with making every part of their programming API HTML5-based" - more confusion between Metro and HTML5. Metro APIs are not actually HTML5-based - they are exposed via WinRT (Windows Runtime), which is a standardized native ABI that is further development of COM. This ABI is then projected to a higher-level API that is specific to every target language/framework - there's a high-level native C++ projection known as C++/CX, then there's the .NET projection, and finally the JavaScript projection. The latter is actually the most restricted of the three, though it's partly compensated by intrinsic HTML5 features (like canvas, IndexedDB etc).

    "And, of course, Java is long-dead and more than likely will not be ported to the new Windows 8 for ARM OS" - it's not more than likely, it's outright impossible to port Oracle JVM to Win8/ARM. First of all, it does not allow third-party desktop (Win32) apps at all, and JVM is currently decidedly a desktop app. As for Metro, its sandbox (app container) is deliberately designed to restrict the ability to generate code at runtime - in particular, there's no way to allocate a block of memory that has both write and execute permissions, or change them after the fact. This means no JIT (other than the one in .NET and JS). So any Java implementation would have to be either a bytecode interpreter (slow!), or a native compiler, which precludes a straightforward port.

    "It is unclear as of now whether genuine native apps written in C++ calling the Win32 API will be supported on Windows 8 for ARM" - it is not at all unclear. If the native app calls a

  23. Re:Ditch .NET, it's old already. by shutdown+-p+now · · Score: 2

    Guess how I know you've never actually seen either VB6, or .NET, or both? .NET as a platform - and both C# and VB.NET as languages - have far more in common with Java than they do with VB6.