[spoiler]Немалый вклад в этот процесс вносит Jean Paoli, один из авторов XML и глава MS Open Tech, который пару лет назад пообещал "building bridges between Microsoft and non-Microsoft technologies". MS Open Tech представила в марте Office 365 SDK for Android -- опенсорсный проект, позволяющий Android-разработчикам встраивать в приложения поддержку данных, хранимых в Офисе -- например, обращаться к SharePoint или Exchange. Безопасность обеспечивается с помощью Windows Azure Active Directory.
Исходники превью-версии: https://github.com/OfficeDev/Office-365-SDK-for-Android
Одновременно анонсирован набор RESTful-интерфейсов для Office 365, что позволяет взаимодействовать с ней фактически с любых платформ разработки (Ruby, Си, .NET, Java, Python, PHP, ...).
We are moving in a direction where you won’t have to develop against SharePoint and Exchange-specific APIs; you will be able to develop against a consolidated Office 365 API set that spans SharePoint, Exchange, Lync, and Azure AD. We’re exposing Calendar, People, Mail and File Office 365 APIs that make interaction with the platform intuitive and easy. One of these platform APIs is the Discovery Service APIs, which allow you to determine the location of related Office 365 services for particular users, including Files, Calendar, and Mail APIs.
http://msdn.microsoft.com/en-us/library/office/dn605893.aspx
Продлен бесплатный период пользования облачной Visual Studio Online -- дата завершения перенесена с 14 марта на 7 мая.
Язык C# наконец-то официально пополнится довольно забавным оператором, который оценят все разработчики, активно программирующие на этом языке.
Наверняка многие сталкивались с багами в конструкциях типа
var result = object1.object2.object3;
когда object1 или object2 не определен (null), возникает исключение NullReferenceException.
Понятно, что по-хорошему надо предварительно проверять состояние-инициализированность всех объектов, но...
И вот теперь новый оператор ? (так называемый Safe Navigation) позволяет обойти эту незадачу таким образом:
var result=object1?.object2?.object3;
Если object1 или object2 окажутся null, то такое выражение просто вернет null (и значением result станет null)! Элегантно, полностью в духе C#.
Более того, ? применим к вызовам методов:
object?.method();
и даже к индексации!
object?[index]
Интересно, что этот оператор одобрен Микрософтом после голосования программистов на сайте https://www.uservoice.com/ за наиболее востребованную новую фичу в C#. Вопрос только, когда она реально появится, потому что разговоры о ней ведутся с 2010 года.
И уж совсем Микрософт удивила разработчиков, отказавшись от собственного молчаливого намерения втихомолку, как было с Silverlight, прекратить разработку DirectX! Версия 12 будет представлена уже 12 марта на Game Developers Conference! Из известных особенностей: поддержка голого железа с прямым доступом к графическим картам и работа на планшетах и смартфонах!
Отмечу еще в тему: полностью переделывается ASP.NET, избавляясь от идеологической дефрагментации: так, отныне можно будет строить веб-серверы на базе "ASP.NET", даже не используя IIS ! В этом поможет проект Helios, стыкующийся с множеством сторонних технологий:
http://blogs.msdn.com/b/webdev/archive/2014/02/18/introducing-asp-net-project-helios.aspx
А TypeScript ("версия" JavaScript от Microsoft) получил официальный "полноценный" статус языка, встроенного в Visual Studio по умолчанию: TypeScript 1.0RC доступен для Visual Studio 2012/2013.
http://blogs.msdn.com/b/typescript/archive/2014/02/25/announcing-typescript-1-0rc.aspx