Самое большое отличие состоит в том, что не существует неуправляемого API для платформы. Все является C # (и я имею в виду C #, вы не можете сделать проект VB.NET или C ++ / CLI / pure). Windows Mobile 6.5 во многом напоминала Windows CE API + WinMobileForms (версия .NET), и вы смогли написать свой собственный код C ++, где WP7 намного более ограничен.
На данный момент есть выбор: делать приложения Silverlight или приложения XNA Studio (игры). Приложения Silverlight основаны на спецификации Silverlight 3, а API студии XNA очень похож на среду разработки Zune HD.
Одно тонкое различие между телефоном и браузером Silverlight в том, что телефон отключает Reflection.Emit
API. Это означает, что не требуется перезапись IL, которая используется большинством контейнеров IoC, средами O / R, такими как NHibernate и AOP (Aspect Oriented Programming).
Что касается вашего вопроса о выделении пользовательских объемов пространства для обработки изображения / звука. Да, вы, вероятно, сможете сделать все это, предполагая, что система позволяет вам выделять необходимое количество места. Язык не должен ограничивать вас в этом смысле, если есть какие-либо ограничения, они будут связаны с платформой, а не с языком. Вероятно, вам следует ознакомиться с разработкой игр с использованием управляемых языков, поскольку существуют различия в подходах по сравнению с неуправляемыми языками.