Windows Phone 7 is a managed code platform, we’ve been told at Mix10 in Las Vegas. Development is via Silverlight or XNA; there is no native API.
Of course there is a native API; the question is more about what code is allowed to access it. Still, in the press briefing the spokesman was clear that native code development will not be supported.
What about projects like Adobe’s Flash runtime, which both Microsoft and Adobe have said is planned, or at least (in Microsoft’s case), not blocked – although we already know that Flash will not be available in the first release.
All my spokesman would say is that nothing has been announced about that.
My suspicion is that in reality certain privileged vendors will be able to, in effect, extend the operating system with native code libraries. Adobe could be one of those; so too could a company like Rhomobile, which has a cross-compiler for a variety of mobile platforms. So I doubt that Microsoft has yet given us the full story here.
Update: The latest on this is that Microsoft’s Charlie Kindel says that Adobe will have special native access for Flash, but that no other vendor will have that privilege. This still does not make sense to me. Let’s suppose that Windows Phone 7 is a big success. What justification could Microsoft have for supporting the Flash runtime but not the Java runtime, for example? I suspect that Microsoft is chasing the Flash checkbox to one-up Apple; but if Adobe gets native access, others will no doubt follow.
This is one instance where MS should not copy Apple, big fail MS!
You don’t need to use native code to support Java. IKVM has proven that you can build a JVM using the CLR. Of course there is an open question as to whether or not IKVM can be ported to Silverlight.
I suspect this won’t last long. Personally I don’t care if you can’t get stuff in the app store that calls native, providing it’s still there as an option. For the most part this probably doesn’t matter but if I wanted to produce a background service or do some cryptography then I might care.
Wait and see what happens when the MS sales team ends up talking to corporate developers I suppose. (Since it’s CE6 under the covers I’d have thought a CE6 dev kit would work around this)
Microsoft is wrong, wrong, wrong!
They started a new product marketing effort by alienating all the developers for Windows Mobile/CE/PPC which will have to ditch their codebase and start from scratch. That’s the first big mistake.
They are forcing them to use only one platform/language, second big mistake. If you have native code support you could have VMs and runtimes for all the major languages, and I’m sure the open source community would be eager to make ports. And this would benefit anyone who had written code for such languages before and would have now a new platform to compete.
They are trying to attract new developers with a dev environment that is simple to use and RAD-oriented. Wrong! They should court the hardcore developers, those that don’t mind to spend some time to port their code if the platform is powerful and attractive. The result? Many small apps with a questionable utility, and no serious apps, which are those that really attract the users. Although this is not a case so serious as the ridiculous WebOS (.net is quite more powerful than some souped-up Javascript code).
Apple tried this and learned quickly. Palm blindly repeated the same error and is already a failure. Even Android already supports native code.
The irony is that the company that’s most reviled for being ‘closed’ (Apple) is the only major smartphone manufacturer now that gives a native-friendly environment, and therefore gives the developers more freedom to choose their development tool. Although most people write iPhone apps in Objective-C, this is not mandatory at least. Of course to have the approval to go to the app store is another story. But given that it’s the most successful platform, MS should get the hint.
On my HTC Mogul with WM 6.1 Java apps on emulators seems work faster then Native and managed apps 🙂
i agree with jonathan
You don’t need to use native code to support Java. IKVM has proven that you can build a JVM using the CLR
Microsoft is no stranger to having companions galore in the cellphone enterprise, however its lineup of manufacturers for the upcoming, surprisingly promising Home windows Phone 7 launch is no much less impressive. After loads of rumoring, Microsoft has confirmed that Dell and HTC will be making Windows Cellphone 7 telephones, in addition to ASUS, LG, and Samsung who had already been confirmed. All of those firms should have their stamp on hardware by the tip of the yr, with the launch of the OS nonetheless vaguely slated for the “holidays” We have little doubt that all 5 producers can build some compelling, attractive hardware, but we’re notably enthused to see Dell actually stepping into the game after the spectacular Streak and that drool worthy leak a short while back. read more at http://www.wp7forum.com fans group.
The java runtime??? Are you crazy?? this slow dinosaur ??!?
@ asf: you’re right, MS is following the steps of Apple, while the two companies have different point of view and visions. Yes it’s a big mistake.