Уже второй раз ежегодная европейская конференция Microsoft TechEd проходит в двухнедельном формате: после проведения в Барселоне ее первой части, ориентированной на широкий круг ИТ-профессионалов (см. PC Week/RE, № 42/2008), здесь же состоялось не менее представительное мероприятие для разработчиков ПО — TechEd EMEA 2008 Developers. Хотя основной объем его программы был традиционно посвящен многочисленным вопросам практического применения уже представленных на рынке инструментальных средств, все же наибольший интерес многотысячной аудитории вызвала информация о перспективах развития платформы разработки Microsoft, в первую очередь ожидаемых уже в не очень отдаленном будущем Visual Studio 2010 и .NET Framework 4.
Правда, по поводу новой среды разработки Microsoft в дополнение к ранее объявленной информации на конференции было сказано не очень много. Как выяснилось, интерфейсная оболочка всех версий инструмента, включая текущую 2008, была реализована на архитектурной основе продукта VS 6.0, выпущенного десять лет назад. В этом плане VS 2010 сделает шаг вперед, так он будет сделан на базе Windows Presentation Foundation. По мнению Microsoft, это в сочетании с другими решениями позволит повысить скорость отклика интерактивной среды, улучшить ее расширяемость и масштабируемость.
По-прежнему, особое внимание будет уделяться групповой работе при создании крупных корпоративных приложений. Тут ключевая роль отводится компоненту Team Foundation Server (TFS), который в версии 2010 будет обеспечивать поддержку многоплатформенной разработки, в том числе с использованием сред Eclipse, Linux, Mac, JBoss, Rational. В сервере будет улучшена защита качества кода за счет двухступенчатого механизма внесения изменений в программу (только после процедуры компиляции и проверки на совместимость с другими программными компонентами проекта). Обещано также общее улучшение управления программными проектами (в частности, с применением иерархии задач) и самим TFS.
За последние годы рост популярности управляемых и динамических языков привел к тому, что С++ превратился в нишевой инструмент специализированных разработок. И тем не менее, хотя низкоуровневое программирование, конечно, не является массовым занятием, его роль в общей структуре разработки ПО исключительно важна. На конференции было сказано, что Microsoft продолжает делать инвестиции в развитие Visual C++, в расширение возможностей как самого языка, так и визуальной среды разработки. В частности, предпринимаются усилия по упрощению создания с помощью VC++ “родных” (на уровне машинного кода) приложений для будущей Windows 7.
Что касается среды исполнения программ (виртуальной машины .NET), то новая версия .NET Framework 4.0 должна прийти на смену существующему с 2005 года варианту 2.0 (версии 3.0 и 3.5 построены на базе 2.0 и лишь включают дополнительные надстройки над базовым слоем) и будет содержать шесть основных пространств имен (наборов объектов) — Core, Client, Communication, Web, Data и Workflow.
Новшеств тут ожидается довольно много, среди них нужно, наверное, отметить в первую очередь улучшенные возможности использования унаследованного кода. В частности, теперь в одном процессе исполнения смогут работать программные компоненты, написанные на базе .NET Framework разных версий (например, приложение, реализованное в 4.0, сможет запускать Add-ins, созданные в версиях 1.0/2.0). Упрощен также на уровне языка программирования вызов COM-объектов из .NET-программы.
Использование нового ключевого слова Parallel позволит управлять разделением кода на параллельные ветви, что будет способствовать не только повышению эффективности многопоточных вычислений в мультиядерной архитектуре, но и улучшению возможности групповой разработки ПО. Расширены также средства контроля передаваемых между процедурами параметров, что должно уменьшить вероятность ошибок во время исполнения программы.
Еще одно общее направление развития .NET Framework — усиление поддержки динамических языков программирования. Теперь в этой среде смогут работать не только C# и VB.NET, но также IronPython, IronRuby и другие скриптовые языки (а вот о J# — микрософтовском диалекте Java — уже даже не упоминается). Более того, в C# 4.0 появилась возможность использования динамического определения типа данных, хотя такую функциональность очень трудно назвать инновационной (она, например, имеется в VB уже 15 лет).
Среди основных функциональных компонентов набор Workflow Foundation (WF) в составе .NET Framework является самым “юным” и до сих пор скорее лишь проходил обкатку в условиях промышленной эксплуатации. С учетом этого опыта он получит развитие, в результате чего будет унифицирована отладка, улучшена интеграция с другими библиотеками объектов, повышена производительность на один-два порядка. Программирование активностей будет выполняться с помощью полностью декларативного описания, что должно повысить управляемость программ и уменьшить объем написания кода. В целом нужно отметить, что WF 4.0 должен играть ключевую роль в реализации платформ, создаваемых в рамках проектов Oslo и Dublin.
Web-разработка будет опираться на дальнейшее расширение средств Web Forms, AJAX и MVC (Model-view-controller). В ASP.NET 4.0 появится возможность распределенного кэширования загружаемых страниц и данных. Кроме того, должна быть существенно усилена интеграция Visual Studio 2010 c технологией Silverlight, вторая версия которой позволяет использовать ее в деловых Web-приложениях (версия 1.0 фактически применялась только для трансляции потокового видео). Появление новых инструментов в среде VS 2010 должно свести к минимум грань между программистом и дизайнером. В следующей же версии Sliverlight ожидается реализация возможности динамического распределения бизнес-логики Web-приложений между клиентом и сервером, что обеспечит улучшение балансировки вычислительной нагрузки в целом.