Recently i have been playing with the Developer Preview of Windows 8 with Visual Studio 11 so i thought that i would write a quick article on my findings to date.
No matter which language you choose to code with you will soon realise that you are coding in a sandbox. The Metro API’s are cut down versios of the full language API’s with restricted access everything. If you want to communicate with a web service you need to select the correct capability in the application manifest, if you want to read/write a file you need to select that capability etc…. and with those capabilities in place you will only be able to access a limited set of things. Lets take the Document Library as an example of a capability, When selected you will be able to read and write to files ONLY in the Document library and nowhere else.
Interestingly, it seems that all file operations are only acccessibly via Async calls, likewise, performing a WebRequest only has the Async methods BeginGetRequestStream, EndGetRequestStream, BeginGetResponseStream, EndGetResponseStream which makes for some interesting code.
It is possible to write code around the restricted API but as soon as you do you will find that the app will fail the application certification tests.
Thats all for now, but i will write some more later including some example code for a simple Windows 8 Metro Tile.