WP7 apps to be locked out of most native code

updated 12:10 pm EST, Thu February 18, 2010

Windows Phone 7 will have managed access


Phones running Windows Phone 7 will have an even tighter restriction on native app code than on platforms like the iPhone, a leak of developer documentation has revealed. Most apps will be limited to a set of "managed" protocols that provide access only to key phone features or to carrier-specific extras. Actual native code will be very limited and in many cases will involve only hardware makers and carriers getting special permission that will need to be approved once an app is submitted.

Full multitasking isn't mentioned, although Microsoft plans to imitate the iPhone's background push notification system and let apps get notices even when they're fully shut.

Typical programming for the mobile OS will also bear a closer resemblance to the Zune HD than for any version of Windows Mobile. Software will still use the .NET Compact Framework, but Silverlight will play a heavy role in the interface. Games and their services will use the same XNA environment as for the Zune HD and Xbox 360, though few if any games will ever be transportable.

The attitude towards apps is a stark reversal from Windows Mobile, where native access is standard and Microsoft has often championed looser controls over what apps are allowed to do both within themselves and to the OS. Apple, Windows Phone 7's main target, has stricter limits on app rights but gives them full native access. Android provides the most access as it lets apps directly modify core parts of the platform, while Palm's webOS is relatively controlled as most apps run web code that only indirectly ties into the OS; the addition of games comes about through a form of plugin that goes directly to 3D hardware. [via WMPowerUser]




By Electronista Staff

toggle

Previous Comments

  1. DeezNutts

    Fresh-Faced Recruit

    Joined: Apr 2008

    +6

    The march towards oblivion


    The beat goes on. Managed code, limited access and rights management.

    One day you'll need a license just to load up your compiler, which won't be capable of producing native code anyway so it probably won't matter!


  1. rytc

    Senior User

    Joined: Jan 2001

    +13

    interesting

    that they are taking a very similar approach to Apple despit having claimed until recently that they were so much more open.


  1. iphonerulez

    Fresh-Faced Recruit

    Joined: Nov 2008

    +3

    MS seems to realize what works on a platform...

    I'm sure the know-it-all tech boys won't like this approach since they hate "walled gardens", but I think for the low-tech consumer this is the way to go. End users will have fewer problems. The tech boys think that the mobile platform should be some tinkerer's platform where anything goes. They don't care if rogue apps happen to disrupt the carrier network. It's a fairly selfish attitude. The smartphone should be a cellphone first and the other functions are secondary. I think it's a smart move on Microsoft's part and hopefully other platforms will follow suit. I'm pleased that Apple's way of controlling it's platform may become a standard for other platforms to follow.


  1. testudo

    Fresh-Faced Recruit

    Joined: Aug 2001

    -8

    Re: towards oblivion

    Are your comments directed at MS or Apple? Mainly because the iPhone/iPad do exactly the same thing.

    And what is the difference between managed API and native API? The 'native' API is internal to the OS, and the managed calls basically pass on to those (usually a developer framework - you know, like Cocoa).

    One day you'll need a license just to load up your compiler, which won't be capable of producing native code anyway so it probably won't matter!


    Why would you want native code? With native code, you're stuck with a particular processor and you can't take your app to a device running a different platform. Using an intermediate language, it could in theory run on any hardware. No need to wait for some developer to recompile and give you a new binary.


  1. JulesLt

    Fresh-Faced Recruit

    Joined: Jul 2005

    +5

    General whinge

    Testudo - I think it was aimed at both - a general whinge that computers are ceasing to be personal - although there never was a time when all computers were personal, and no one is going to take our personal computers away - even if, like the early 80s, they will become hobbyist things.

    The difference between managed and native APIs, on the other hand, is significant - even if managed ones call native code underneath, managed code doesn't let you much around with memory directly. Nor should you want to.

    (Interestingly this looks very much like the concepts from Microsoft's research project for a new desktop OS based around managed code and a minimal kernel).

    And yes, it's pretty likely your compiler is going to be spitting out something like LLVM or CLR bytecode, which they gets JIT'd on the runtime side, depending on your CPU / GPU / RAM / FSB combination. Years away yet, but I welcome our self-optimising overlords, just as it's been years since I had to write code that dealt with disk blocks.


  1. DeezNutts

    Fresh-Faced Recruit

    Joined: Apr 2008

    +1

    Re: Re: towards oblivion

    Are your comments directed at MS or Apple? Mainly because the iPhone/iPad do exactly the same thing.

    At both

    And what is the difference between managed API and native API? The 'native' API is internal to the OS, and the managed calls basically pass on to those (usually a developer framework - you know, like Cocoa).

    Massive difference. Every framework or 'managed' enviroment I have used has left me feeling like it was a sloth when running code. Its more overhead, its a performance hit and depending on the project, you may find yourself limited by the runtime enviroment in ways that you would not experience if you have full native code.

    Why would you want native code? With native code, you're stuck with a particular processor and you can't take your app to a device running a different platform. Using an intermediate language, it could in theory run on any hardware. No need to wait for some developer to recompile and give you a new binary.

    not at all. It is not the compiler itself producing native code that limits you, its generally a specific API for a specific platform or OS that ends up being the limiting factor. Take a piece of plain vanilla ANSI C that makes no OS API specific calls, it is generally quite trivial to compile that same code on another platform.

    an intermediate language allowing you to run the same software on multiple architectures is just that, a theory, cause in practice its never worked out that way. Even Java is a PITA and its probably the best one out there.

    I'm not saying there should not be managed code, it has its uses. I just don't feel that native code should go the way of the dodo because sometimes there is just no subsitute for native code.


  1. mjtomlin

    Fresh-Faced Recruit

    Joined: Oct 1999

    +1

    @ testudo

    "And what is the difference between managed API and native API? The 'native' API is internal to the OS, and the managed calls basically pass on to those (usually a developer framework - you know, like Cocoa). "

    Native means the API makes use to the operating system's built-in frameworks and libraries. Cocoa isn't a wrapper for some internal C API. It is the API Apple uses to write various parts of the OS and all its end-user software with.

    The managed API referred to in this article is an abstracted API that sits on top the native API set. The full native API on Windows Phone 7 will be made available to Microsoft and various partners... Joe Q Public though will be provided to a completely different API to write programs in, with access to a few functions of the native API.

    However, even in a native API there are sections that aren't made available to the public for various reasons, the most common being, it is still under development and not ready to be set out in the wild.


  1. facebook_Tim

    Via Facebook

    Joined: Feb 2010

    +1

    You guys worry way too much

    Everyone here is so worried about managed code and it's just really stupid.

    Managed code means that you run in a safer environment and this is really perfect for a phone.

    The memory leaks are reduced if you write in C# and you can do just about do everything in managed as you can in native except s**** things up.

    You are not giving up any serious functionality except to s**** someone's phone up using malware or viruses which you should not be doing anyway.

    Managed code is the future of computing. Yes, it is a little slower than native, but it's a trade off for protection and writing code in a correct way that will not harm the phone or the environment.

    The Xbox 360 is using managed code for their XNA game writing and you don't see so many limits there.

    As we are going into the second decade of the 21st century, most code should be written (minus things that have to be really performant) in managed code. It really is the future.

    Check this out:
    http://blogs.msdn.com/xna/

    Title: Developing Games for Windows Phone 7

    Title: High Performance 3D Games on Windows Phone 7 Series

    Title: Development and Debugging Tools for Windows Phone 7 Series

    Title: Bringing the Best of Xbox LIVE to Windows Phone 7 Series

    So you have XNA and Silverlight 4 on Windows Phone, I don't think there is anything else you need to worry about. Seriously. There is also more going on than this as GDC is all about gaming.


Login Here

Not a member of the MacNN forums? Register now for free.

 
close
Photo
toggle

Network Headlines

toggle

Most Popular

10 Most Read

Recent Reviews

Logitech Cube

The world of mice could often be described charitably as stagnant: it's an endless sea of ergonomic shapes that assume you're sitting ...

NewerTech and Targus USB Hubs For Gifts

A useful holiday present to resolve an ongoing frustration is a multi-port hub. Whether as a stocking stuffer, Chanukah present, or an ...

X-Rite ColorMunki Photo

Color calibration is the art of tweaking your monitor so that the colors represented on screen better match real life and your printer ...

toggle

Most Commented

10 Most Discussed

 
toggle

Popular News