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."
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....
Because Microsoft will do the exact opposite.
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
"I've got more toys than Teruhisa Kitahara."
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.
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.
http://en.wikipedia.org/wiki/Common_Language_Infrastructure
He was referring to the VM and portability in the article, not the bytecode language itself.
If you need web hosting, you could do worse than here
I think he's confusing it with the CLR, which does the JIT compilation of the CIL. And I've heard it referred to (less lazily) as the "intermediate runtime language", which would be IRL. O_o
Alphabet Madness!
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.
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.
http://saveie6.com/
My understanding is that developers can create metro apps using HTML5, C++ or .Net. The latter two use Xaml for the layout. I have written a number of metro apps using the C# + Xaml option. Granted I have only tried them on x86 development machines but I expect that these metro apps will all work on ARM as well.
I have to agree, it sounds like that guy was indeed talking about Microsoft writing a VM for CIL as oppose to any VM in general or specifically.
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.
So who loves TLA's?
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.
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.
IE9 was competitive when it came out as well. Some time soon IE10 will have a feature freeze and nothing much will happen until IE11.
I seriously, hope, wish, pray, whatever that you are right.
BEcause that means someday we will see the end of XML.
"First they came for the slanderers and i said nothing."
Umm, WinRT will NOT run .net apps. You can write apps for WinRT (a COM based API) in various languages such as C# or VB.net but it compiles to native, it has nothing to do with .net. If you're gonna be a giant douche and calling names you better know what you are talking about..
Now who's the idiot? CLR is a calcium, lime, and rust cleaner. It doesn't compile anything!
That is great for the corps and the users. Anual updates beats 6 weeks and intranet developers need to certify which browsers they support.
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.
They still do some evil things, like putting a patent tax on Android. After a long period of consistent bad behaviour I need quite a long period of consistent good behaviour before I see them as good guys.
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.
I don't trust others either. Nowadays corporations seem to act as if they are supposed to follow their shareholders needs before anything else, effectively turning shareholders into customers and customers into production resources. If shareholders are customers corporations sell money for money. You can't base an economy on that, money becomes meaningless. It's not as black-and-white as this, of course, but in my perception the economic and financial crises we've seen in recent years have a lot to do with detaching the economy from reality in this way too much.
You know, it's strange how I react to articles like this.
For example, I feel kind of bad for the guy who wrote and submitted the article. The author is writing about things that it appears he doesn't understand, and after reading the article I just feel sad.
But at the same time, I don't feel bad for timothy at all. He posts useless crap again and again, and he can't be bothered to proofread at all. After reading anything by timothy, I just feel mad and annoyed.
It's funny that two cognitively challenged individuals provoke such different reactions in me.
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.
The HTML 5 standard looks good, and brings definitions which have been missing for over a decade, but it's no replacement for a desktop environment and fully-featured applications.
Also, am I the only one who reads Windows RT and thinks 'Windows Re-Tweet'?
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.
Seriously, has this site simply become a cesspool of trolls, view farmers and ad fairies? Once upon a time there were members that could opine in a relevant manner how they used an OS. Now, it's nothing but mindless, jobless, irrelevant whiners. Does anyone here actually possess a job doing actual work that actually improves our world?
The answer is no, so don't bother. The quality of content here is appalling. The opinions are nearly worthless. The hate-meter so high.
This site now feels like the FOX news of wannabe nerds. However, there are no nerds remaining. Nerds come here now to make fun of the proletariat.
If developers come to rely on "extended" HTML5-javascript libraries that are simply layered over proprietary OS's, which in turn are layered over proprietary ARM-based hardware, does this not present the perfect angle for these giant corporate monoliths to corner the market and create more walled gardens or even an oligopoly?
Intel/x-86 is not licensed and didn't allow for walled-garden business models because companies (Microsoft) couldn't extend their EULA's to demand 30% of software company's revenue (like Apple does now). A company could create software that run on x86 hardware and any operating system on it and not have to pay Intel or Microsoft or anyone else 30% of it's revenue.
With ARM-based devices however, EVERYTHING becomes totally proprietary. The ARM-architecture is licensed to many manufacturers that then integrate it to these software platforms that extend the EULA of the hardware to include the ENTIRE platform: ergo a "walled garden". Companies may not deploy software to these "devices" without paying exhorbitant fees to those that hold the license to these devices...unless the user "jailbreaks" the device which is technically illegal.
http://www.afterdawn.com/news/article.cfm/2012/02/08/is_a_windows_walled_garden_the_plan_for_arm
and
http://www.afterdawn.com/news/article.cfm/2012/02/09/microsoft_defends_windows_8_walled_garden_for_arm
Microsoft is just trying to cash-in like Apple in this respect. By not supporting HTML5 in IE to the same extent as WebKit-enabled browsers AND by "extending" HTML5, they are trying to both kill and own the HTML5 standard (much like they did for instance with J++ as a way to water down Java's "write once run everywhere" approach). I think this will fail, because the windows phone will never overtake the Android/Iphone market.
A side-point...AT&T, a while back, made a javascript library available that allows direct access to native functions, BUT a developer/company would have to pay AT&T fees to use it! Isn't that interesting....what you can do in PhoneGap for free, AT&T wants to CHARGE you for. Could it be that at some point, approaches like PhoneGap will be blocked in these walled gardens? http://developer.att.com/developer/tierNpage.jsp?passedItemId=9700232
As ARM-based devices crush x86, will EVERYTHING be a giant walled garden controlled by an oligopoly or even monopoly? Will HTML5 then wither on the vine? HTML5 seems to be counter to the walled garden approach. It doesn't require an app-store, just a browser. Will Apple, Google, and Microsoft ban browsers (like PhoneGap), thus securing their victory overweb applications that are not bound by ARM-based-device EULA's and don't require that you be extorted to the tune of 30% of your revenue? Basically, if you want native access, you must pay 30% of revenue?
I think the smart business move in the long run may be to expect these walled garden monopoly approaches to fail because people don't like to be price gouged and because there WILL eventually be an alternative to ARM-based walled gardens that provide native access to the device. This whole business of "app stores" that allow you to deploy software to a device, but require 30% of your revenue seems to me to be the height of monopolistic business practices, and should probably be challenged more so in court and by regulators.
Yup, just more Microsoft word-spooge onto the faces of the developmentally naive.
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.
"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.
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.
Well, plus HTMM5 _sucks_ to develop in compared to .NET.
Amusing. Only .NET has been meticulously maintained and updated at a reasonable pace and for many types (not all, of course) of development it is ridiculously the best choice.
Now Java, there's a god damn piece of shit if ever there is one. I have to use it for some stuff and holy shit, could they be any more behind? I decided I'd think about using Java 7 and went and looked at what's new. Christ, was I sad and disappointed. Oh boy, I can do MyObject x = new MyObject(..). Wow! What an amazing breakthrough!.. in 2005.
Nowhere in the article did I say that CIL executes anything. Every instance of CIL was meant to refer to the intermediate bytecode itself, which can be JIT compiled by a virtual machine (the CLR everyone here who clearly did not comprehend the article thinks I'm confusing it for). Re-read the article carefully, keeping this in mind, and I might not appear as stupid as everyone here believes me to be regarding a subject that they themselves must not completely understand.
I am still laughing at the "why you can't dump Java" article. I know as many Java devs as I do Cobol devs. All kidding aside, I thought IBM, Sun and Oracle killed it long ago. That's right.....I actually typed Sun and this isn't a history lesson. For those of you younger than 30, IBM manufactured household appliances long ago and Oracle had a really fast sailboat that couldn't beat anyone. Oh yeah, and they both could once operate in the Enterprise before TCO.
RIP Oracle and IBM.
He didn't mean Command Line Interface.
Common Language Infrastructure
Complete moron still applies, I think.
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.
I think he's confusing it with the CLR, which does the JIT compilation of the CIL. And I've heard it referred to (less lazily) as the "intermediate runtime language", which would be IRL. O_o
Alphabet Madness!
Takes me back to the days when MS switched from ADO to DAO ... or was it the other way around?
Next time, don't be so quick to jump to conclusions and throw the words "moron" and "idiot" around.
Nah, he pretty much had the right idea, I'd say.
"Command Line Interface"? Really?
MS is based on Windows monopoly. That MS has been working to maintain with closed software, interfaces and format for whole it's history.
So HTML5, it's open standard. It allow more intelligent applications with browser and any platfrom. Does'nt sound like MS wish?
MS is slowing evolution of HTML by not allowing it in it's IE. Check with html5 test site.
MS will allow HTML5, but only after it is sure there are enough content (videos etc.) tied to Windows. HTML5 does not mandate some open video. Somehow this suits to MS.
You sure?
This seems to suggest otherwise - quote: "Metro style apps in the Windows Store can support both WOA and Windows 8 on x86/64. Developers wishing to target WOA do so by writing applications for the WinRT"
Uh, you're comparing a platform (.NET) to a language (Java); it doesn't quite work that way.
Dilbert RSS feed
.NET has a command-line interface? Maybe I can program that thing with bash...
.NET has a command-line interface?
It's called PowerShell.
emulation would probably be roughly the speed of a Pentium II, not good enough to be useful.
I don't understand. Would emulation be "roughly the speed of a Pentium II", or would it be "not good enough to be useful"? A lot of applications spend most of their time in operating system calls, be they drawing something on the screen, blocking on the network, or blocking on the user. These would run natively. So I don't see how emulation comparable to a Pentium II would be too slow to be useful, especially for "that one app" whose absence keeps the user off the platform entirely (as long as it's not a game).
the average consumer don't know ARM from arm&hammer
AMD's older CPUs were codenamed "Hammer", and now AMD is partnering with ARM.
i have the feeling for a year and a half i'm gonna be wiping this damned thing for 7
Once this UEFI Secure Boot thing ramps up over the coming years, it will no longer be possible to wipe a computer for another operating system. One already can't do so on game consoles without a jailbreak of questionable legality, and one can't do so on the Windows RT tablets because of how Microsoft requires manufacturers to configure UEFI.
>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.
WebGL, but good luck finding a browser that supports it.
chrome?
Good luck finding Google Chrome for Windows RT. From this article: "Microsoft says IE will be the only browser choice in devices running Windows RT, the variation of Windows 8 designed for devices running ARM processors."
WebGL
When will Internet Explorer for Windows RT support WebGL or the other APIs that you mentioned?
I agree. Far from being dead Java is alive and well on Android and while possible developing native C/C++ apps for Android is quite awkward. In my view Microsoft is attempting to cover all the basis: Proprietary enhancements to C++ like Apple's Objective-C to provide the illusion of portability, a more advanced (no flames) language like Google's Java and the "universal" JavaScript. This approach smells like the horse designed by a committee, a compromise among the various factions inside of Microsoft. In any case the article is complete drivel.
These guys show real-time 2-D FFT.
How well does that demonstration work in Internet Explorer?
WebGL
From the article you linked: "Microsoft has not announced any plans to support WebGL". So provided I'm not missing anything, one would first have to implement WebGL as a software renderer in JavaScript, much like the other "shims" that add missing DOM features to IE.
This guy is a complete moron. First, it's called the CLI, not the CIL
What teh hell might cause such moronity, I wonder?
Free Martian Whores!
Early on in the article you used the phrase "the HTML5 Metro interface" this is a misnomer and demonstrates a basic misunderstanding of the platform as a whole. Metro is not HTML5 however you may write a Metro Style App in HTML5+JavaScript (are we just saying HTML5 now?). In addition you may write a Metro Style App (all of which will work on ARM) using C# and a subset of .NET through the Metro CLR, or in C++.
The only unknown is whether or not Microsoft will eventually port the Desktop CLR to ARM. It has not been announced for the release however one must consider that it may happen at some point in the future.
You may read this article to obtain a better understanding of an (admittedly confusing) situation.
"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."
They fired the previous generation because all their tech skills were "outdated".
Chrome frame.
Is a browser helper object. The Metro version of IE doesn't run browser helper objects.
developers are going to want to target the option that has the most options with the most platforms
For developers of video games, this will be the .NET Compact Framework, which (unlike full .NET) lacks support for DLR languages such as IronPython. XNA, based on .NET CF, is still the only way for a micro-ISV to target a game console, as Sony and Nintendo appear to have declined to extend their developer programs to micro-ISVs. .NET CF is also the only way to target a Lumia phone, which runs Windows Phone 7.
Desktops and Tablets are different and need different platforms.
What's the big difference in practice between a subnotebook and a tablet docked to a keyboard?
it was a big uh-oh to think Joe six pack needed a full blown out computer.
It depends on what you want a device to do. Do you want a device only to view works or also to create works? Tablet operating systems have historically been underpowered for creating, even compared to older desktop operating systems that ran on comparable hardware. Android has started to buck this trend, with developers creating things like AIDE that lets the user even write and test a program on the device.
My understanding from that link you posted is that WinRT will NOT run .NET apps. What you can do is take your .NET app (sources) and compile if for WinRT. Alternatively, you can write native WinRT code directly. This is actually very similar to my experiences developing for iOS.
Fanboy Status: Apache Flex, C#, Eclipse, KDE, Pirate Party, Ron Paul, Slackware, Windows 7
Objective-C isn't proprietary. It was an object-oriented extension to C developed in 1983, the same time as that other object-oriented extension to C that's a bit more popular. OS X uses Objective-C because it was the language chosen for NeXTSTEP back in 1986, back when it wasn't clear that C++ was going to be mch more popular.
The .NET Micro Framework has already been ported to ARM---as well as BlackFin. Did intel bitch about that? .NET ported over to ARM (or most other architectures) at this point?
It's really up to what Microsoft wants to do. After all, how hard would it be to have the whole
Well except that everything he wrote, and the technical abbreviations he used were absolutely correct. But there is a large majority of slashdot readers that aren't familiar with Microsoft technologies and get easily confused when the same abbreviation is used for multiple things. CIL is indeed correct, as would MS-IL, or IL when referring to the byte code that .NET applications get compiled to.
There was a thing claiming to do that almost 20 years back. Oak, I think it was called. Never caught on.
Confucius say, "Find worm in apple - bad. Find half a worm - worse."
Oh please, don't play gotcha with me. I was using .net colloquially for c# and the .net run time.
Ahem... the CIL is a specification. So what is it you were actually talking about?
The CLI has nothing to do with Mono, other than it's something Mono follows. The CLI is the basic "write once, run anywhere" specification, because it includes all the types and base class library definitions.
Just compiling something to CIL is pointless if it doesn't follow a type and library specification.
Further, you conflate the CIL with the VM all over your article, which is why your article did not make sense. For example, in your first paragraph you say "with it comes an interesting fact for developers looking to have apps available for both Windows 8 on Intel and Windows 8 on ARM: .NETâ(TM)s CIL virtual machine. "
That's called the CLI for the specification, and the CLR for the implementation. So please don't pretend you know what you're talking about, since you don't seem to know even the most basic things about .NET or WinRT.
Hell, the fact you didn't even know what the CLI was, and thought it meant the command line interface shows how little you know.
Metro Apps *DO* run .NET. Yes, metro apps have to be written specifically for WinRT and you can't run the same app in WinRT and The desktop, but that's not really the point. The point you were claiming was that a) WinRT apps can only be HTML5, and b) that WinRT apps written for ARM couldn't run on x86 and vice versa.. both of which just are not true.
If you need web hosting, you could do worse than here
Just reply with a hearty fuck off otherwise you'll just get buried in tiresome pedantry.
First, it's called the CLI, not the CIL.
Wrong, in fact both exist CLI (Common Language Infrastructure) and CIL (Common Interface Language), and given his usage he obviously means the latter, so I'd say if anyone is a moron, it's you.
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
Nearly as much as I love FFLA's
.NET the platform and the languages that run on it are nothing more than various forms of visual basic. Ok I admit that some of the hacks where fixed in the class structures and such but it is still just vb.
Got Code?
You're plainly wrong. C# and VB Metro apps run on .NET, in a VM (CLR), they do not compile to native. There is a projection of WinRT classes to .NET, and the .NET standard library is significantly reduced in size compared to desktop, but it is still a managed language.
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
Everything he wrote is definitely not "absolutely correct". See my long winded reply for details.
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.
Ahh yes... Nearly....
You can always count on Micro$oft on publishing a shiny, groundbreaking(compatibility breaking) technology every 2 years
Fuck Beta
Wow... so a C#, a C-variant (obviously), is actually a VB variant... interesting... and F#, a functional language, is also based off VB... IronPython and IronRuby are also VB-variants then?... I guess I really cannot argue with VB being a VB-variant. C# is extremely similar to Java, so can I safely assume that Java is a VB variant? But then again, they are both designed to be cleaned up and updated versions of C++, meaning C++ must be a VB variant as well... I see what you mean, VB is everywhere!!! Even BASIC was based off of VB it seems!
As .NET CF is *a* way for micro-ISVs, it is hardly the *only* way. Nor is it the most popular way.
On Windows Phone 7, what's the other way to make an application that runs with no data connection without using .NET CF? On Xbox 360, what's the other way to get a game published that doesn't A. use .NET CF (the Xbox Live Indie Games route) or B. require leasing a dedicated secure office and "paying one's dues" by developing several commercial titles in PC-friendly genres, which aren't the same as console-friendly genres (the Xbox Live Arcade, PSN, and WiiWare route)?
So if gaming is feeling the heat, how for sure is CF going to stay dominant in that market?
One could just claim that micro-ISVs don't deserve to have their games published. On Xbox 360, sufficiently large corporations are not required to use .NET CF; they have the choice to use native code.
Let's say I'm on a bus.
Which is where I use my 10" laptop. But then the buses where I live aren't standing-room-only like I've heard about the public transit in some cities.
The Tablet is most likely instant on
So is my laptop. Three seconds after I've put it on my lap and opened the lid, it'll have come out of suspend, and I can key in my password and start an application.
However, it's silly to do so when they also put a jack hammer in my cell. Now if there was no jack hammer, oh yeah AIDE would be like salvation on toasted wheat.
I agree that the sort of shoehorning seen in AIDE is not ideal, but sometimes money to buy hardware is the limiting factor. In the widely speculated coming "post-PC" computing paradigm, more and more people will use a tablet as their primary computing device. This means there will often be no jackhammer: not everybody who needs a PC will already immediately have access to a PC, which encourages such shoehorning. A tablet maker's policy about allowing such shoehorning could mean the difference between a high school student with a Transformer who starts using some simple programming tool for her tablet and takes a liking to computer science and a high school student with an iPad who never had the chance to try programming because he had no regular access to a PC and no programming app for his tablet.
Microsoft already does sell a tablet operating system that comes with another browser. It's called Android. And if you don't think Microsoft sells Android, search Google for microsoft android patent license site:slashdot.org.
This isn't true
Yet. You are correct about the Windows 8 generation; I was speculating about what is likely to happen "over the coming years". Microsoft requires manufacturers of PCs and motherboards with the Windows 8 logo to support custom mode and disabling of Secure Boot entirely on x86, which is the exact opposite of its ARM stance. But come Windows 9, when Microsoft will have end-of-lifed Windows Vista and provided a service pack allowing installation of Windows 7 with Secure Boot, I expect Microsoft to ease up on this requirement and allow x86 PCs to be sold that recognize no bootloader other than one that Microsoft approves.
Just so I understand, let me paraphrase and you tell me if I'm getting the gist of what you're saying.
"Durr. Blub Blub Durr dur, durrrr. Gar. Gurdle Durrr! ter derr! Durr."
That pretty much sum it up?
My understanding from that link you posted is that WinRT will NOT run .NET apps.
Your understanding is wrong it seems.
From the article:
When it comes time to upload your app to the store, you can build a “Neutral” package if you only have managed code in your app (C#, VB, JavaScript). This indicates that the package contains code that will run on either x86, x64 or ARM
I really hope you get all the help you need, son.
How is this different from what I just said? Doesn't it work by compiling your .NET app from sources into a CLI, which then gets converted to native ARM? If you are implying that Windows for Arm will host the .NET run-time, then this is news to me.
Fanboy Status: Apache Flex, C#, Eclipse, KDE, Pirate Party, Ron Paul, Slackware, Windows 7
Here is some more from the article, so now you are enlightened:
C# and Visual Basic are also abstracted from hardware differences. They compile to MSIL, which is platform neutral. Therefore, Metro style apps using C# or Visual Basic can be compiled once to run on x86/x64/ARM.
The story about how we engineered for ARM begins one decade ago, when we ported the .NET Framework to 64-bit. ... A group in Microsoft Research did an experiment running the main desktop .NET Framework on a smartphone, and found that it performs well. Their experience made us confident that our work to port the desktop .NET Framework to ARM would be successful.
As a result of our existing product designs, we were able to support the ARM chip in a relatively straight-forward way.
Good deal. Thanks.
Fanboy Status: Apache Flex, C#, Eclipse, KDE, Pirate Party, Ron Paul, Slackware, Windows 7
Indeed. I was mistaken.
Fanboy Status: Apache Flex, C#, Eclipse, KDE, Pirate Party, Ron Paul, Slackware, Windows 7