Вы, конечно, уже знаете, что 6 ноября 2006 года Microsoft выпустила релиз .NET Framework 3.0. Если вы уже установили себе новые компоненты и успели посмотреть, что из себя представляет этот релиз, то дальше можете не читать, т.к. этот пост предназначен тем, у кого (как и у меня до последнего времени) еще не дошли руки, чтобы это сделать.
Вообще-то я люблю ставить новые версии и делаю это как можно быстрее, чтобы в процессе повседневной работы изучать новые технологии. Но третья версия фрэймворка имеет свои особенности. Она не заменяет вторую версию (как вторая заменяет первую, предоставляя новые и усовершенствованные классы), а дополняет ее, ничего при этом не меняя в ней. Поэтому, как это ни странно, .NET Framework 2.0 – это неотъемлемая часть .NET Framework 3.0. Вот поэтому, просто установив новую версию, вы ничего не почувствуете. Старые классы не изменятся, а новые вы еще не используете.
Давайте рассмотрим, из чего же состоит .NET Framework 3.0.
Windows Workflow Foundation (WF)
Часто приходится реализовывать какой-либо бизнес-процесс. Windows Workflow Foundation позволяет выделить логику какого-либо процесса, состоящего из определенных шагов, в отдельные классы и выполнять с помощью workflow engine. При этом появляется возможность повторно использовать существующие шаги в других процессах. На данный момент в качестве workflow engine Microsoft предоставляет Microsoft Office 2007 и Windows SharePoint Services. Но со временем появятся и другие workflow engine от других производителей. Кстати, ничто не мешает вам самим сделать свой workflow engine.
При помощи WF и Share Point Server можно, например, довольно просто, используя уже готовые компоненты (т.е. практически не написав ни строчки кода) построить систему документооборота.
Преимущества такого подхода очевидны: логика workflow выделяется из всего кода приложения и может быть легко модифицирована.
Windows Communication Foundation (WCF)
Эта технология (ранее называвшаяся Indigo) предоставляет общий подход и API для взаимодействия с другими приложениями. Вместо использования множества существующих технологий взаимодействия, существующих в .NET Framework 2.0 (ASP.NET Web Services, .NET Remoting, Enterprise Services, System.Messaging, Web Services Enhancements), теперь можно обойтись только WCF.
Windows CardSpace (WCS)
Это очередная попытка Microsoft (все помнят про .NET passport?) избавить нас от необходимости помнить (или скорее где-то хранить) множество логинов и паролей (которые могут быть украдены) для доступа к различным интернет-сервисам. Вместо логинов с паролями предлагается идентификация с помощью карт (cards), которая выполняется провайдерами идентификации (identity providers) с использованием криптостойких механизмов. А если нет паролей, то и украсть их невозможно.
Windows Presentation Foundation (WPF)
Эта технология позволяет, с одной стороны, создавать приложения с богатым пользовательским интерфейсом, затрачивая для этого минимальные усилия, а, с другой стороны, отделить дизайн пользовательского интерфейса от кода, который управляет им. Последнее позволит непрограммистам (дизайнерам, бизнес-аналитикам, заказчикам) создавать интерфейс, в который программисты вдохнут жизнь, ничего не меняя внешне. Это обеспечивается использованием eXtensible Application Markup Language (XAML), базирующимся на XML.
Что дальше?
На этом краткое введение в .NET Framework 3.0 закончено. Пока моих знаний и опыта недостаточно, чтобы написать более подробный рассказ о новых возможностях. Надеюсь, что через не очень длительное время я смогу это сделать.
Но, если я хоть немного вас заинтересовал и вы не хотите ждать – вперед! Скачайте и установите компоненты и расширения для студии. SDK можно скачать в виде образа, размером около 1ГБ или, если у вас ограниченный трафик, использовать выборочную web-установку. В последнем случае, с минимальным выбором, придется закачать 20-30 МБ, что совсем не много.
И напоследок, ссылка на технологию WPF/E, которая позволяет создавать флэш-подобные сайты без использования флэш. Там есть примеры, котрые можно легко посмотреть, установив себе небольшой, всего 1 Мб, runtime WPF/E для Windows или для Mac.