Что понимается под термином net framework. Обзор.NET. Основные понятия. Установка платформы.NET Framework и Visual Studio

  • 29.06.2020

Доброго времени суток. На связи Алексей Гулынин. В прошлой статье мы познакомились со способами передачи аргументов методу в C# . В данной статье я бы хотел ещё раз рассказать (более простыми словами), что представляет из себя платформа.Net Framework и Visual Studio . Данная статья является продолжением статей Visual Studio описание и Платформа.Net Framework .Net Framework — это среда CLR (Common Language Runtime — основная компонента.Net Framework ), которая обеспечивает выполнение управляемого кода (managed code ). CLR управляет этим кодом. Что такое управляемый код? Код, написанный для платформы.NET Framework компилируется не в конечный машинный код, а в промежуточный язык (так называемый IL — Intermediate Language ). Затем эта сборка передаётся пользователю (на машине обязательно должен стоять.Net Framework), загружается в память и транслирует команды IL в действия, которые нужно выполнить.

Какой смысл в промежуточном языке IL?

Во-первых, он платформа-независимый, не привязан к конкретному процессору.

Во-вторых, его наличие позволяет CLR контролировать работу вашей программы, т.е. не позволять ей делать каких-то недопустимых вещей (например, манипуляций с памятью).

Вторая важная компонента после CLR — это библиотека классов (Class Library) . В состав.NET Framework входит большое количество классов, разбитых по пространствам имен, которые предоставляют весь базовый функционал. Это тот функционал, который может потребоваться вашей программе, например работа с файлами, сетью, процессами, с графической подсистемой.

Третья компонента — это Development Frameworks (другими словами библиотеки разработки). Сюда входят такие библиотеки, как WPF (Windows Presentation Foundation), ASP.NET, Entity Framework, WCF (Windows Communication Foundation), Windows Store и др. Фактически это тоже классы. Отличие заключается в том, что эти классы предназначены для решения специфических задач:

  • WPF — для работы с графическими приложениями
  • ASP.NET — для работы с web-приложениями
  • WCF — для работы с сетью и создания распределенных (клиент-серверных) приложений
  • Entity Framework — для работы с базой данных.

На момент написания данной статьи последней версией является .Net Framework 4.6

Основной средой для разработки, рекомендуемой Microsoft, является Visual Studio . У Microsoft обычно такая ситуация: как выходит новая версия.NET Framework, то через некоторое время выходит и новая версия Visual Studio. Что входит в состав Visual Studio (основное):

  1. Текстовый редактор с синтаксической подсветкой кода
  2. Система помощи IntelliSence (вызывается автоматом или сочетанием клавиш Ctrl + Space (пробел)
  3. Компиляторы с разных языков
  4. Средства быстрой разработки (RAD — Rapid Application Development)
  5. Визуальный дизайнер интерфейсов, диаграмм
  6. Компонент работы с серверами, с базами данных
  7. web-сервер IIS и sql-сервер Express варианта
  8. Отладчики, профилировщики, компоненты позволяющие обрабатывать ошибки
  9. Система помощи MSDN

На момент написания данной статьи последней версией является Visual Studio 2015 .

Как в Visual Studio устроено понятие программ. В студии есть понятие "Проект" (Project) и "Решение" (Solution) . Проект — это единица компиляции. Он состоит из набора файлов. Проект компилируется целиком обычно в сборку (exe-файл, либо dll-файл). Проекты могут быть сгруппированы в Solution. Solution — это просто набор проектов, которые могут быть связаны друг с другом (обычно так и происходит), а могут быть не связаны друг с другом.

C#
  • Common Language Runtime ) и библиотеку классов...
  • Платформа.NET Framework и спецификация CTS
    Язык C# и средства его поддержки в настоящее время связаны с платформой.NET Framework, разработанной Microsoft. Названная платформа (см. ) включает: общеязыковую исполняющую среду (CLR - Common Language Runtime Framework Class Library). Следует заметить,...
    (ПРОГРАММИРОВАНИЕ. БАЗОВЫЙ КУРС С#)
  • Установка платформы.NET Framework и Visual Studio
    В среде ОС Windows 7 и 8 платформа.NET уже имеется и ничего устанавливать нс требуется. Для разработки приложений в платформе.NET нужно установить систему разработки Visual C# 2012 (или 2013) Express Edition – бесплатная версия среды разработки Visual Studio (сокращенная, но обладающая практически...
    (Объектно-ориентированное программирование)
  • ТИПЫ C# И ТИПЫ ПЛАТФОРМЫ.NET FRAMEWORK
    Язык C# и средства его поддержки в настоящее время связаны с платформой.NET Framework, разработанной Microsoft. Названная платформа (см. ) включает: общеязыковую исполняющую среду (CLR - Common Language Runtime ) и библиотеку классов...
    (ПРОГРАММИРОВАНИЕ. БАЗОВЫЙ КУРС С#)
  • Платформа.NET Framework и спецификация CTS
    Язык C# и средства его поддержки в настоящее время связаны с платформой.NET Framework, разработанной Microsoft. Названная платформа (см. ) включает: общеязыковую исполняющую среду (CLR - Common Language Runtime ) и библиотеку классов (FCL - Framework Class Library). Следует заметить,...
    (ПРОГРАММИРОВАНИЕ. БАЗОВЫЙ КУРС С#)
  • Один из главных принципов.NET можно выразить так: "Изменяйте все, что хотите, используя любые средства". Платформа.NET - это совершенно новая модель для создания приложений для Windows. Перечислим кратко основные положения.NET.

    • Все возможности взаимодействия с существующим кодом. Двоичные компоненты СОМ отлично работают вместе с двоичными файлами.NET.
    • Полное и абсолютное межъязыковое взаимодействие. В отличие от классического СОМ, в.NET поддерживаются межъязыковое наследование, межъязыковая обработка исключений и межъязыковая отладка.
    • Общая среда выполнения для любых приложений.NET вне зависимости от того, на каких языках они были созданы. И что важно, для всех языков используется один и тот же набор встроенных типов данных.
    • Библиотека базовых классов, которая скрывает все сложности, связанные с использованием вызовов API, и предлагает законченную объектную модель для всех языков программирования, поддерживающих.NET.
    • О запутанных конструкциях СОМ можно забыть! Интерфейсы IClassFactory , IUnknown , код IDL и вариантные типы данных отсутствуют в программах.NET.
    • Действительное упрощение процесса развертывания приложения. В среде.NET не надо регистрировать типы в системном реестре. Более того, .NET позволяет разным версиям одного и того же модуля DLL мирно сосуществовать на одном компьютере.

    Достоинства

    1. Вся платформа.NET основана на единой объектно-ориентированной модели. Что это значит? Дело в том, что все сервисы, интерфейсы и объекты, которые платформа предоставляет разработчику объединены в единую иерархию классов. Другими словами, все, что может вам потребоваться при создании приложений под платформу.NET будет всегда у вас под рукой. Причем, все это сгруппировано очень удобно и интуитивно понятно.
    2. Приложение, написанное на любом.NET-совместимом языке является межплатформенным (в идеале). Почему в идеале? Дело в том, что приложение, написанное, скажем, на том же C#, не зависит от платформы, на которой будет выполняться, но зато зависит от наличия платформы.NET. Но согласитесь, что намного легче один раз портировать архитектуру.NET под какую либо систему, после чего без проблем запускать абсолютно любое.NET приложение. Но в настоящий момент платформа.NET портирована только на семейство операционных систем Windows , в том числе на мобильные системы MS Windows mobile.
    3. В состав платформы.NET входит т.н. "сборщик мусора", который освобождает ресурсы. Таким образом, приложения защищены от утечки памяти и от необходимости освобождать ресурсы. Это делает программирование более легким и более безопасным.
    4. Приложения.NET используют метаданные, что позволяет им не пользоваться системным реестром Windows.
    5. Любое.NET приложение является автономным, в том смысле, что не зависит от других программ, в частности от ОС. Установка приложения написанного на одном из.NET языках может быть произведена обычным копированием файлов (исключение составляет создание ярлыков в меня "Пуск" и др. местах).
    6. Приложения.NET используют безопасные типы, что повышает их надежность, совместимость и межплатформенность.
    7. Приложение, написанное на любом.NET языке взаимодействует с единой моделью обработки ошибок, что значительно упрощает этот нудный процесс.
    8. Приложения написанные на разных могут легко взаимодействовать. Например, серверная часть может быть написана на C#, а клиентская на Visual Basic.
    9. .NET приложения могут быть сертифицированы на безопасность. Это является особенность промежуточного кода, в который преобразуются все.NET приложения.
    10. Абсолютно все ошибки обрабатываются механизмом исключительных ситуаций. Это позволяет избежать разногласия, который иногда возникал при программировании под Win32.
    11. Повторное использование кода стало еще удобнее. Это связано с тем, что промежуточный язык MSIL не зависит от языка программирования. Например, вы можете написать программу на C#, а патч к ней писать уже, скажем, на J#.

    Недостатки

    У любого программного продукта есть свои недостатки, есть они и у платформы.NET. Их нужно тоже знать.

    1. Как это часто бывает, за удобство нужно платить скоростью, так и случилось с.NET. Приложения, написанные под платформу.NET работают медленнее, это факт. В некоторых случаях скорость может упасть на 15%, что иногда является неприемлемым (например, при создании 3D приложений, где бьются за каждый FPS). Задержки в выполнении связаны с промежуточным языком MSIL, ведь для того чтобы его скомпилировать в выполняемый файл тоже нужно время. Разумеется, что приложение компилируется не все сразу, а по частям, равномерно при работе программы.
    2. Не на любом языке можно создавать.NET приложения. Дело в том, что первоначально.NET "затачивался" под C/JAVA-подобные языки. Это породило некоторые трудности с созданием.NET компиляторов для других языков (особенно экзотических и узкоспециализированных). В результате этого некоторые функции пришлось решать нетривиальными способами, что отрицательно сказалось на производительности. Но постепенно данный недостаток сходит на нет, т.к. разработчики компиляторов поняли важность платформы.NET и стараются сделать для своих языков достойные инструменты.
    3. Необходимо наличие библиотеки FrameWork. Данный недостаток устранен с выходом Windows Vista, т.к. данная библиотека встроена в систему по умолчанию.

    Можно обратить внимание на то, что достоинств у.NET в сумме получилось больше, чем недостатков. Разумеется, это не является отражением реальности. Это говорит о хорошей маркетинговой кампании проведенной корпорацией Microsoft.

    Понятие среды

    Определение понятия среды зависит от теоретических концепций. Все определения можно свести к следующим основным идеям:

    * среда -- это то, что нас окружает, все, что не мы, условия, которые влияют на нас. Дефиниции данного типа ближе к биологическому пониманию формирующей роли среды;

    * среда -- это некоторое соотношение между нами и окружением.

    * среда это элемент сверхсистемы. Вильден сформулировал данный подход следующим образом: "Среда -- открытая система, связанная с сверхсистемой. Между ними существует обмен материей, энергией и информацией".

    Д. Ватсон выделил пять классов определений, данных среде:

    1. среда как процесс;

    2. среда как поле активности человека;

    3. среда как поле семантики;

    4. среда как ресурс;

    5. среда как способ стратификации общества.

    В ряде исследований, посвященных среде, обсуждается проблема детерминизма. Собственно говоря, можно рассматривать семь вариантов взаимодействия между человеком и средой, и, видимо, следует считать, что все они имеют место быть в различных ситуациях:

    1. средовой детерминизм -- однонаправленная причинно-следственная детерминация. Есть два варианта: линейная, жесткая, зависимость и вероятностная зависимость. Последняя означает, что одна из рассматриваемых переменных с определенной вероятностью порождает другую, либо что в основе их лежит общий фактор. Основной вывод из такого рода связи заключается в том, что в следствии нет ничего того, что не заключается в причине;

    2. человек формирует среду;

    3. оба способа детерминации существуют одновременно;

    4. взаимопричинная детерминация -- происходит взаимодействие между средой и человеком. Возможные формы: уравновешивающая детерминация (гомеостаз), неустойчивое равновесие;

    5. взаимодействие носит характер борьбы;

    6. среда и человек представляют единую систему;

    7. случайная детерминация, предыдущее событие никак не влияет на последующее, но общий результат может быть предсказан по законам вероятности. (14, с.8)

    Термином "пространственная среда" следует обозначать совокупность пространственно-предметных свойств и отношений окружающей среды, которая может иметь естественно-природный (лес, море, горы, степь, растения, животные и т.п.) или антропогенный характер: городская среда, парковый ландшафт, архитектурная среда, виртуальная (пространство, представленное на экране компьютера) и т.д.

    Целесообразно различать следующие типы пространственной среды:

    * природная (естественный ландшафт, растения, животные);

    * антропогенная (городская, архитектурная, школьная, жилищная). В определенном смысле о ней можно сказать, что это предметная среда, так как пространство в этом случае определяется совокупностью предметных и межпредметных отношений. Поэтому, говоря о пространственной среде подобного типа, целесообразнее говорить о пространственно-предметной среде. Если речь идет об антропогенной пространственно-предметной среде, то с точки зрения психологии восприятия и психологии деятельности важно отметить, что ее пространственность не существует сама по себе, абстрактно

    * экологическая среда обитания, обеспечивающая каждому виду живых существ свой комплекс возможностей для жизнедеятельности.

    * информационно-виртуальная, представленная на экране дисплея (компьютерные и видеоигры, интернет-среда, тренажеры). Ее особенность заключается в том, что оператор, работающий с таким пространством, имеет возможность не только его наблюдать, воспринимать и даже действовать в нем, но, что более важно, непосредственно изменять его пространственные параметры, характеристики и отношения.

    Существует другая классификация, согласно которой можно выделить:

    Первичную среду (среду, в которой человек проводит значительную часть времени, лично знаком с окружением и выполняет множество жизненно важных функций, например жилое помещение);

    Вторичную среду (среда, в которой встречи с людьми кратковременны, анонимны и не имеют последствий, например места отдыха).

    В среде выделяется четыре подсистемы:

    1) природная среда - общий фон общества - состояние атмосферы, воды, состав поверхности земли, структура ландшафта, растительный и животный мир, климат, плотность населения;

    2) среда "второй природы" - модификации природной среды, преобразованной людьми: угодья, дороги, зеленые насаждения, домашние животные, культурные растения;

    3) "третья природа" - искусственный мир, созданный человеком, не имеющий аналогов в естественном мире, т.е. "очеловеченная природа": асфальт, бетон городов, пространство жизни и работы, транспорт, технические объекты, культурно- архитектурная среда;

    4) социальная среда - своеобразная интеграция трех предшествующих сред, что дает в итоге определенное качество жизни, проявляющееся, например, в культурной оседлости (1, с.350)

    Жизненная среда города - социокультурно детерминированное пространство-время в котором протекает жизнедеятельность человека. Она обладает определённой структурой, состоящей из объектных (территориальных, организационных, информационных, социально-групповых и др.) и субъектных (личностных значений и смыслов, установок, мотивов и интенций и др.) элементов - всех жизненных стратегий и биографий, создающих континуум сосуществования, взаимодействия, коммуникации.

    Удовлетворённость или неудовлетворённость жизнью, успешность или не успешность самореализации личности, жизненный комфорт зависит от многих обстоятельств, в том числе и от той среды обитания, в которой непосредственно находится горожанин - от городского ландшафта, создающегося руками, поступками, эмоциями и делами как проживающих на данной территории, так и тех, кто организует и управляет жизнью территории. Совокупность жизненных стратегий (осознанных и не вполне) объективируется и опредмечивается - возникает среда - со своим устройством (обустройством жизни), с совокупностью специфических ситуаций разного уровня, набором проблем, качеством коммуникации. (18)

    Среда обитания имеет два измерения: территориальное и пространственное.

    Территория - совокупность объектных аспектов жизненной среды, места жизни человека как психофизического, индивидуального существа.

    Пространство - совокупность субъектных аспектов жизненной среды - место жизни, существования человека как личности, индивидуальности в её социальном, культурном (мировоззренческом, ценностном и т.п.), коммуникативном, ментальном (личностно-историческом), метафизическом (идеально-фантастическом) измерениях. Личности, как субъекты жизненных стратегий, живут в разных измерениях пространства жизнедеятельности: у каждого своя жизнь. Но траектории жизненного пути пересекаются. Одно место социокультурного пространства может быть "населено" больше, другое - меньше. Пространство жизни обладает качественными характеристиками, совокупность которых создаёт колорит места через совокупность специфических ситуаций и проблем: с одной стороны конкретных территорий, с другой стороны - конкретных людей. Специфика конкретного фрагмента городской среды обусловлена как специфической ситуацией территории, так и совокупностью специфических ситуаций людей, проживающих на данной территории. (24)

    Социокультурное пространство, в котором человек живёт как творец собственной судьбы, преломляет, детерминирует восприятие и территории, и самого себя, оказывает влияние на поведение, на реагирование на внешнюю ситуацию (в том числе и на физические параметры), на проживающих рядом. Образ территории и образ пространства сливаются в образ места жизни. Личностные проблемы и проблемы территории проживания пересекаются и взаимопреломляются. Описание и анализ социокультурного пространства совокупности проживающих в данном месте - социологическая карта местности, на которую нанесены значимые аспекты, параметры, проблемы конкретной ситуации конкретной территории и конкретных людей.

    Несомненно, что по-разному скомпонованная и созданная человеком среда неизбежно влияет на психику, поведение, принятие решения, восприятие, движение и понимание пространства. В действиях разных людей в одной и той же среде есть очень много сходства. Структура среды воздействует на психику и поведение людей консервативно: действие продолжается длительное время, а индивидуальность отдельных действующих лиц иногда даже может заметно не проявляться. Одна и та же среда характером своей структуры как бы предписывает нормы, образ поведения, сходную реакцию. Культурное наследие общества и влияние общественных факторов вписываются в физические координаты созданной человеком искусственной среды и определяют поведение людей независимо от психического развития индивидов. (6, с173)

    М. Черноушек определяет семь видов информации, которые характеризуют следующие ситуации восприятия окружающей среды как целого:

    1. Среда не имеет определенных, твердо фиксированных рамок во времени и пространстве.

    2. Среда воздействует на все чувства, и информацию о среде мы получаем из сочетания данных всех органов.

    3. Среда дает не только главную, но и периферийную информацию.

    4. Среда содержит всегда больше информации, чем мы способны зарегистрировать и понять.

    5. Среда воспринимается в тесной связи с практической деятельностью; восприятие связано с действием и наоборот.

    6. Любая среда наряду с физическими и химическими особенностями обладает психологическими и символическими значениями.

    7. Окружающая среда воздействует как единое целое.

    От соприкосновения со средой у людей постоянно возникают всевозможные чувства. Формируют их следующие факторы:

    1. Уровень стресса (шум, загрязнение, перенаселенность, перенасыщенность импульсами).

    2. Социальные качества среды (роль физической среды в развитии или подавлении взаимодействий социального характера).

    3. Ориентация и подвижность (как горожане используют город в соответствии со своими "образами" и "представлениями" о среде обитания).

    4. Наполненность среды (эстетический уровень импульсов, которые способствуют удовлетворению потребностей и создают чувство удовлетворенности).

    5. Культура и отдых (как город выполняет задачи в интеллектуальной, культурной, спортивной и образовательной сферах).

    6. Возможности принятия решений (как горожане воспринимают отдельные решения об уровне развития среды обитания и в какой степени они активно участвуют в принятии таких решений). (25)

    Среда и эмоции

    С позиций средовой психологии человек находится в постоянном поле взаимодействия с окружающей средой, что вызывает у него, благодаря наличию генерализованных реакций организма, определенный эмоциональный фон. В психологии известно, что любое восприятие сопровождается чувственным тоном, что бы ни было объектом нашего восприятия -- линия, цветовое пятно, предмет, человек или окружающая среда. Сам тон может быть определен биологически или связан с неким нашим прошлым опытом взаимодействия с объектом. В 20-е годы прошлого века Лундхольм исследовал чувственный тон линий. Печаль представляется большими опускающимися синусоидами, веселость -- маленькими направленными вверх линиями, доброта -- большими горизонтально направленными кривыми. А. А. Барабанов анализировал эмоциональное воздействие объемно-пространственных композиций храмов, рассматривая линии, формы и фигуры зданий как эмоционально-эстетические знаки, несущие определенное символическое значение.

    Чарльз Осгуд исследовал эмоциональные реакции на различные эстетические объекты. Вместе с соавторами он создал методику, позволяющую измерить и сравнить между собой эмоциональное воздействие любых объектов. Эта методика названа семантическим дифференциалом (СД). В качестве экспериментальных стимулов Ч. Осгуд использовал картины, предлагая испытуемым придумывать пары антонимов для их оценки. Обычно пятьдесят человек испытуемых оценивало пятьдесят картин. После математической обработки шкалы, близкие по смыслу, отбрасываются, и остается порядка 20 пар полярных прилагательных. К полученным шкалам был применен факторный анализ. В результате было выделено три фактора, которые Ч. Осгуд интерпретировал как "оценка", "сила", "активность".

    Фактор оценки:

    Приятный - Неприятный

    Красивый - Некрасивый

    Чистый - Грязный

    Добрый - Жестокий

    Фактор силы:

    Властный - Мягкий

    Сильный - Слабый

    Массивный - Миниатюрный

    Прочный - Непрочный

    Фактор активности:

    Возбуждающий - Релаксирующий

    Быстрый - Медленный

    Монотонный - Резкий

    Энергичный - Вялый

    В дальнейшем оказалось, что независимо от того, какой стимул оценивается -- картины, понятия, звуки, цвета, здания -- три этих основных фактора остаются. Полученные шкалы уже можно использовать как инструмент для измерения эмоционального воздействия исследуемых объектов. Обычно каждая шкала включает семь делений, испытуемые оценивают объект по каждой из шкал. По полученным точкам на каждой из шкал можно построить профиль эмоционального воздействия объекта. (27, с.15)

    Типы приложений.NET

    Язык C# можно использовать для создания консольных приложений - текстовых приложений, запускаемых в окне DOS. Скорее всего, такие приложения будут применяться для тестирования библиотек классов. Однако гораздо чаще язык C# придется использовать для создания приложений, имеющих доступ к множеству технологий, связанных с.NET. В данной статье представлен краткий обзор различных типов приложений, которые можно писать на C#.

    Создание приложений ASP.NET

    Изначально появление ASP.NET 1.0 фундаментально изменило модель веб-программирования. ASP.NET 4 является старшим выпуском продукта и построен на базе прежних достижений. В ASP.NET 4 реализованы основные революционные шаги, направленные на повышение продуктивности работы. Главная цель ASP.NET 4 - позволить строить мощные, безопасные, динамичные приложения с использованием минимально возможного объема кода.

    Возможности ASP.NET

    Первое, и, возможно, самое важное - это то, что страницы структурированы . То есть каждая страница - это, по сути, класс, унаследованный от класса.NET System.Web.UI.Page , который может переопределить набор методов, вызываемых во время жизненного цикла объекта Page. (Можете воспринимать эти события как специфичные для страниц родственники событий OnApplication_Start и OnSession_Start , которые поступали в файлы global.asax в классической платформе ASP.) Поскольку функциональность страниц можно выделить в обработчики событий определенного назначения, страницы ASP.NET гораздо легче понять.

    Другая приятная особенность страниц ASP.NET заключается в том, что их можно создавать в Visual Sludio 2010 - той же среде, в которой программируется бизнес-логика и компоненты доступа к данным, используемые этими же страницами ASP.NET. Проект Visual Studio 2010, или решение (solution), содержит все файлы, ассоциированные с приложением. Более того, классические ASP-страницы можно отлаживать непосредственно в редакторе. В прежние времена, связанные с Visual InterDev , существовала неприятная необходимость специально конфигурировать InterDev и веб-сервер проекта для включения отладки.

    Для большей ясности средство отделенного кода (code-behind) ASP.NET позволяет распространить структурированный подход еще дальше. ASP.NET позволяет изолировать серверную функциональность страницы в классе, скомпилировать этот класс вместе с другими страницами в библиотеку DLL и разместить эту DLL в каталоге, находящемся ниже части HTML. Директива @Page, указанная в начале страницы, ассоциирует этот файл с классом. Когда браузер запрашивает страницу, веб-сервер генерирует события в классе, находящемся в файле класса страницы.

    Последнее, но не менее важное свойство ASP.NET, которое следует упомянуть - это увеличенная производительность. В то время как классические ASP-страницы интерпретировались при каждом обращении к странице, страницы ASP.NET после компиляции подвергаются кэшированию на веб-сервере. Это значит, что все последующие запросы страниц ASP.NET выполняются быстрее, чем первый.

    ASP.NET также облегчает написание страниц, отображающих формы в браузере, которые можно применять в корпоративной сети. Традиционное мнение о приложениях, ориентированных на формы, заключается в том, что они предоставляют развитый пользовательский интерфейс, однако их сложнее сопровождать, поскольку они запускаются на многих клиентских машинах. По этой причине люди полагаются на приложения, ориентированные на формы, только тогда, когда необходим развитый интерфейс и имеется возможность обеспечить надежную поддержку пользователям.

    Веб-формы

    Чтобы еще более облегчить конструирование веб-страниц, в Visual Studio 2010 предлагается библиотека Web Forms (Веб-формы). Это средство позволяет графически создавать страницы ASP.NET - точно так же, как создаются окна в Visual Basic 6 и в C++Builder. Другими словами, потребуется перетащить необходимые элементы управления из панели инструментов на поверхность формы, затем слегка подкорректировать код формы и написать обработчики событий для элементов управления. При использовании языка C# для создания веб-формы, вы создаете класс C#, унаследованный от базового класса Page , и страницу ASP.NET, которая отображает этот класс в качестве своего отделенного кода. Разумеется, вы не обязаны применять для создания веб-формы именно C#; для этого можно воспользоваться также Visual Basic 2010 или любым другим языком, ориентированным на.NET.

    В прошлом сложность веб-разработки удерживала некоторые команды разработчиков от попыток ее освоения. Для достижения успехов в разработке веб-приложений приходилось знать множество разных технологий, таких как VBScript, ASP, DHTML, JavaScript и т.д. Применение концепций Web Forms к веб-страницам существенно упростило построение веб-приложений.

    Элементы управления веб-сервера

    Элементы управления, применяемые в веб-формах, не являются элементами управления в том же смысле, в каком ими являются элементы ActiveX . Вместо этого они представляют собой XML-дескрипторы, принадлежащие пространству имен ASP.NET, которые веб-браузер динамически трансформирует в HTML-дескрипторы и сценарии клиентской стороны, когда осуществляется запрос этой страницы. Удивительно то, что веб-сервер может отображать одни и те же элементы управления серверной стороны различными способами, генерируя трансформацию, соответствующую конкретному веб-браузеру, который прислал запрос. Это означает, что теперь можно легко создавать совершенные пользовательские интерфейсы веб-страниц, не заботясь о том, как достичь того, чтобы страница работала в любом из доступных браузеров - об этом позаботится Web Forms.

    Веб-службы XML

    На сегодняшний день HTML-страницы составляют большую часть трафика World Wide Web. Однако благодаря XML, компьютеры получают независимый от устройства формат, который может использоваться для их взаимодействия в Интернете. В будущем для обмена информацией компьютеры смогут использовать XML вместо того, чтобы пересылать друг другу по выделенным линиям сообщения в специальном патентованном формате, подобном EDI (Electronic Data Interchange - электронный обмен данными) . Веб-службы XML предназначены для веб-среды, ориентированной на службы, когда удаленные компьютеры предоставляют друг другу динамическую информацию, которая может быть проанализирована и переформатирована, прежде чем получить свое окончательное представление для пользователя. Веб-службы XML - это простой способ для компьютеров предоставлять информацию в форме XML другим компьютерам в Интернете.

    В рамках технической терминологии веб-служба XML в.NET - это страница ASP.NET, которая возвращает по запросам клиентов XML-код вместо HTML-кода. Такие страницы опираются на DLL-библиотеки отделенного кода, которые содержат классы, унаследованные от WebService. Интегрированная среда разработки Visual Studio 2010 предлагает механизм, облегчающий создание веб-служб.

    Предприятие или организация может отдать предпочтение веб-службам XML по двум основным причинам. Первая причина заключается в том, что они основаны на HTTP; вебслужбы могут использовать существующие сети на базе HTTP в качестве посредников для передачи информации. Другая причина связана с тем, что поскольку веб-службы XML применяют XML, формат передаваемых данных является самодокументированным, открытым и независящим от платформы.

    Создание Windows-форм

    Хотя C# и.NET предназначены, в частности, для веб-разработки, они по-прежнему поддерживают так называемые приложения "толстого" клиента - т.е. приложения, которые должны устанавливаться на машине конечного пользователя, где и выполняется большая часть обработки. Это обеспечивает библиотека Windows forms (Windows-формы).

    Однако, если вы начинаете изучать платформу.NET, я бы не рекомендовал вам изучать Windows Forms, а сразу переходить к изучению новейшей технологии WPF.

    Windows Presentation Foundation (WPF)

    Одной из новейших технологий революционного характера является Windows Presentation Foundation (WPF). При построении приложений WPF опирается на использование XAML. Аббревиатура XAML означает Extensible Application Markup Language - расширяемый язык разметки приложений. Этот новый способ создания приложений внутри среды Microsoft, впервые представленный в 2006 г., является частью версий.NET Framework 3.0, 3.5 и 4. Это значит, что для того, чтобы запустить любое приложение WPF, необходимо удостовериться, что на машине клиента установлена платформа.NET Framework 3.0, 3.5 или 4. Приложения WPF доступны для ОС Windows 7, Windows Vista, Windows XP, Windows Server 2003 и Windows Server 2008 (только эти операционные системы позволяют устанавливать.NET Framework 3.0, 3.5 или 4).

    XAML - это объявление XML, используемое для создания форм, которые представляют все визуальные аспекты и поведение приложений WPF. Поскольку с приложением WPF можно работать программно, эта технология представляет собой шаг в направлении декларативного программирования, к которому движется сегодня вся отрасль. Декларативное программирование означает, что вместо создания объектов посредством написания кода на компилируемом языке, таком как C#, VB или Java, все объявляется с помощью XML-подобного программирования.

    Службы Windows

    Служба Windows (Windows Service, изначально называвшаяся NT Service) - это программа, предназначенная для запуска в фоновом режиме в среде Windows NT/2000/XP/2003/ Vista/7 (но не Windows 9х). Эти службы удобны, когда нужно организовать непрерывную работу программ, готовых реагировать на события, без необходимости явного их запуска по инициативе пользователя. Хорошим примером является служба World Wide Web Service на веб-серверах, которая прослушивает веб-запросы клиентов.

    Разрабатывать службы на языке C# очень просто. В пространстве имен System.Service.Process доступны базовые классы среды.NET, которые позволяют решать большинство шаблонных задач, связанных с системными службами. Кроме того, среда Visual Studio .NET позволяет создавать проект C# Windows Service, в котором для построения службы Windows используется исходный код C#.

    Windows Communication Foundation (WCF)

    Изучая способы перемещения данных и служб из одной точки в другую, используемые в технологиях Microsoft, вы обнаружите, что в вашем распоряжении оказывается широкое разнообразие возможных решений. Например, вы можете использовать веб-службы ASP.NET, технологию.NET Remoting, Enterprise Services либо MSMQ. Какую же технологию выбрать? Ответ на этот вопрос диктуется тем, чего вы пытаетесь достичь, поскольку каждая из этих технологий предпочтительна в конкретной ситуации.

    Памятуя об этом, в Microsoft действительно собрали все эти технологии вместе, и в версии.NET Framework 3.0, а также и в ее включении в.NET Framework 3.5 и 4, имеется единый способ перемещения данных - Windows Communication Foundation (WCF). Библиотека WCF обеспечивает возможностью первоначального построения службы с последующей доставкой этой службы различными путями (даже по разным протоколам) простым изменением конфигурационного файла. WCF - очень мощное новое средство соединения распределенных систем.

    Windows Workflow Foundation (WF)

    Служба Windows Workflow Foundation (WF) впервые была представлена в версии.NET Framework 3.0, но теперь подверглась основательной перестройке, в результате чего многие теперь найдут ее гораздо более полезной. Вы обнаружите, что в Visual Studio 2010 значительно улучшены средства работы с WF, и создавать собственные рабочие потоки стало гораздо удобней. Вы также найдете новые средства управления потоком, класс Flowchart, а также ряд новых действий, таких как DoWhile, ForEach и ParallelForEach.