Задача подразделения Microsoft Patterns & Practices — помогать разработчикам, использующим продукты корпорации, осваивать ее новые технологии. Подразделение, оставаясь независимым от остальных, в то же время тесно сотрудничает с ними и может повлиять на добавление в программные продукты того или иного функционала. Для взаимодействия со своими подопечными оно проводит конференции для разработчиков Patterns & Practices Summit, где обсуждаются общие архитектурные концепции, реализуемые Microsoft в своих продуктах. 21 сентября в Москве прошла третья российская конференция из этой серии.
В Microsoft Patterns & Practices создаются всевозможные руководства и рекомендации по применению новых разработок корпорации. Сейчас его деятельность разделена на четыре основных направления: облачные вычисления в Azure; веб-приложения на платформах HTML5, jQuery и ASP.Net MVC 3; мобильные приложения для Windows Phone 7; клиентские разработки для Windows 8. Кроме руководств и документации, силами Patterns & Practices создаются экспертные сообщества для помощи в разработке и даже составляются типовые примеры кода, которые разработчики могут, модифицировав, использовать в своих продуктах.
Microsoft Patterns & Practices выпускает и собственное программное обеспечение, помогающее разработчикам использовать продукцию других подразделений корпорации в создаваемых ими программах. Флагманским продуктом подразделения является Enterprise Library — набор компонентов для построения корпоративных приложений. «Сейчас уже не модно писать программы полностью с нуля, — пояснил Григорий Мельник, руководитель проектов Microsoft. — Не нужно каждый раз писать модуль аутентификации, но можно взять написанный нами компонент».
Много внимания в этой библиотеке уделяется компонентам для создания облачных приложений. «Облака упрощают постоянную модернизацию серверной функциональности, и поэтому именно в данной области сейчас больше всего нововведений», — заявил Эухиньо Паче, также руководитель проектов Microsoft. В частности, разрабатывается компонент Windows Azure AutoScaling Application Block, который предназначен для автоматического масштабирования облачных ресурсов, потребляемых организацией. Компонент позволяет клиенту облачного сервиса автоматизировать процессы получения и возврата вычислительных ресурсов облака.
Быстрое развитие серверной части веб-приложений подхлестывает и развитие клиентской части, которая связана с JavaScript и его развитием, — ECMAScript версии 5. В этой сфере основной тенденцией является поддержка HTML 5 и CSS 3, для которых подразделение разрабатывает свой набор библиотек Project Silk. Он состоит из модулей jQuery, упрощающих манипулирование элементами объектной модели документов (Document Object Model, DOM). Корпорация разрабатывает типовые наборы компонентов, или виджетов, для упрощения создания веб-интерфейсов в этой технологии. Есть сведения, что технология jQuery (и не только она) будет использована для создания виджетов для интерфейса Windows 8 Metro. Таким образом, Microsoft формирует инфраструктуру разработчиков в идеологии AJAX, которая нацелена на создание веб-приложений на базе JavaScript, HTML 5 и CSS 3, взаимодействующих с облаком Azure.