Что за программа Microsoft net framework

Начало работы с .NET Framework

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

.NET Framework 4.8 — это последняя версия .NET Framework. Платформа .NET Framework изменяется ежемесячно с устранением ошибок, связанных с безопасностью и надежностью. Платформа .NET Framework будет по-прежнему включена в состав Windows. Исключать ее не планируется. Переносить приложения .NET Framework не требуется, однако для новых разработок следует использовать платформу .NET 5 или более поздних версий.

Что такое платформа .NET Framework?

Платформа .NET Framework — это управляемая среда выполнения для ОС Windows, предоставляющая разнообразные службы выполняемым в ней приложениям. Она состоит из двух основных компонентов: среды CLR — механизма, управляющего выполняющимися приложениями, и библиотеки классов .NET Framework — библиотеки проверенного кода, предназначенного для повторного использования, который разработчики могут вызывать из своих приложений. Вот какие службы предоставляет .NET Framework выполняемым в ней приложениям.

  • Управление памятью Во многих языках программисты должны предусматривать выделение и освобождение памяти, а также управлять временем жизни объектов. В приложениях .NET Framework эти функции выполняет среда CLR.
  • Общая система типов. В традиционных языках программирования базовые типы определяются компилятором, что осложняет взаимодействие между языками. В .NET Framework базовые типы определяются системой типов .NET Framework, при этом для всех языков .NET Framework используются одни и те же базовые типы.
  • Обширная библиотека классов. Разработчикам не требуется писать код для выполнения стандартных низкоуровневых операций программирования, так как они используют удобную библиотеку типов и членов, входящую в библиотеку классов .NET Framework.
  • Платформы и технологии разработки. Платформа .NET Framework включает библиотеки для конкретных областей разработки приложений, например ASP.NET для веб-приложений, ADO.NET для доступа к данным, Windows Communication Foundation для приложений, ориентированных на службы, а также Windows Presentation Foundation для классических приложений Windows.
  • Взаимодействие языков. Языковые компиляторы, ориентированные на .NET Framework, выдают промежуточный код, называемый языком CIL (Common Intermediate Language), который, в свою очередь, компилируется во время выполнения средой CLR. С помощью этой функции подпрограммы, написанные на одном языке, доступны в других языках, поэтому разработчики могут создавать приложения на предпочитаемых языках.
  • Совместимость версий. Обычно приложения, разработанные на основе конкретной версии платформы .NET Framework, могут выполняться без доработок и на более поздних версиях платформы.
  • Параллельное выполнение. Платформа .NET Framework помогает разрешать конфликты версий, поскольку на компьютере могут быть установлены несколько версий среды CLR. Это означает, что несколько версий приложений могут существовать совместно и приложение может выполняться на версии платформы .NET Framework, для которой оно было создано. Параллельное выполнение применяется к группам версий .NET Framework 1.0/1.1, 2.0/3.0/3.5 и 4/4.5.x/4.6.x/4.7.x/4.8.
  • Настройка для различных версий. При настройке в соответствии со стандартом .NET разработчики создают библиотеки классов, которые работают на различных платформах .NET Framework, поддерживаемых соответствующей версией стандарта. Например, библиотеки, разработанные в соответствии со стандартом .NET Standard 2.0, могут использоваться приложениями, ориентированными на платформы .NET Framework 4.6.1, .NET Core 2.0 и UWP 10.0.16299.

.NET Framework для пользователей

Если вы не разрабатываете приложения .NET Framework, но используете их, вам не требуется обладать специальными знаниями о платформе .NET Framework или ее работе. В большинстве случаев платформа .NET Framework совершенно прозрачна для пользователей.

Если используется операционная система Windows, платформа .NET Framework, возможно, уже установлена на компьютере. Кроме того, если устанавливается приложение, для работы которого требуется .NET Framework, программа установки приложения может установить нужную версию .NET Framework на компьютер. В некоторых случаях отображается диалоговое окно с приглашением установить платформу .NET Framework. Если вы попытались запустить приложение и появилось это окно, при наличии подключения к Интернету можно перейти на веб-страницу, откуда можно установить отсутствующую версию .NET Framework. Дополнительные сведения см. в руководстве по установке.

В общем случае не рекомендуется удалять версии платформы .NET Framework, установленные на компьютере. Для этого имеются две причины:

  • Если приложение зависит от конкретной версии платформы .NET Framework, то при удалении этой версии его работа может быть нарушена.
  • В некоторых версиях платформы .NET Framework существуют обновления на месте на более ранние версии. Например, .NET Framework 3.5 представляет собой обновление на месте для версии 2.0, а .NET Framework 4.8 — обновление на месте для версий с 4 по 4.7.2. Дополнительные сведения см. в разделе Платформа.NET Framework: версии и зависимости.

Если вы решите удалить платформу .NET Framework в версии Windows, предшествующей Windows 8, всегда используйте для удаления средство Программы и компоненты. Никогда не удаляйте версию платформы .NET Framework вручную. В ОС Windows 8 и более поздних версий .NET Framework представляет собой компонент операционной системы, который нельзя удалить отдельно.

На одном компьютере могут одновременно существовать несколько версий платформы .NET Framework. То есть при установке более поздних версий удалять предыдущие версии не требуется.

.NET Framework для разработчиков

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

Перед разработкой приложений или компонентов платформы .NET Framework сделайте следующее:

  1. Если платформа не предустановлена в операционной системе, установите версию платформы .NET Framework, на которой будет работать ваше приложение. Текущая версия — .NET Framework 4.8. Она предварительно установлена в обновлениях Windows 10 за май и ноябрь 2019 года и май и октябрь 2020 г., а также доступна для скачивания в более ранних версиях ОС Windows. Требования к системе для .NET Framework см. в разделе Требования к системе. Сведения об установке других версий .NET Framework см. в руководстве по установке. Дополнительные пакеты .NET Framework выпускаются внештатно. Это значит, что они выпускаются по очереди, нерегулярно. Дополнительные сведения об этих пакетах см. в статье .NET Framework и внештатные выпуски.
  2. Выберите язык или языки, поддерживаемые версией платформы .NET Framework, которую вы хотите использовать для разработки приложений. Поддерживается целый ряд языков, в том числе Visual Basic, C#, F# и C++/CLI от Майкрософт. (Язык программирования, позволяющий разрабатывать приложения для .NET Framework, соответствует спецификации Common Language Infrastructure (CLI).)
  3. Выберите и установите среду разработки, которая будет использоваться для создания приложений и которая поддерживает выбранные язык или языки программирования. Интегрированной средой разработки Майкрософт для приложений .NET Framework является Visual Studio. Доступны разные выпуски.

Дополнительные сведения о разработке приложений, предназначенных для .NET Framework, см. в руководстве по разработке.

Связанные статьи

Заголовок Описание
Обзор Содержит подробные сведения для разработчиков, которые занимаются созданием приложений, предназначенных для платформы .NET Framework.
Руководство по установке Содержит сведения об установке платформы .NET Framework.
.NET Framework и внештатные выпуски Содержит описание внештатных выпусков платформы .NET Framework и порядка их использования в приложении.
Требования к системе Содержит требования к оборудованию и операционной системе для использования платформы .NET Framework.
Документация по .NET Core Концептуальная и справочная документация по API для .NET Core.
.NET Standard Описывает стандарт .NET Standard, который представляет собой спецификацию с возможностью управления версиями, поддерживаемую отдельными реализациями платформы .NET, что позволяет гарантировать наличие согласованного набора API-интерфейсов на различных платформах.

См. также

  • Руководство по .NET Framework
  • Новые возможности
  • Браузер API .NET
  • Руководство по разработке

Общие сведения о платформе .NET

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

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

    Платформа .NET Framework изменяется ежемесячно с устранением ошибок, связанных с безопасностью и надежностью. Платформа .NET Framework будет по-прежнему включена в состав Windows. Исключать ее не планируется. Вам не нужно переносить приложения платформа .NET Framework, но для новой разработки используйте .NET 6 или более поздней версии.

    Платформа .NET Framework состоит из общеязыковой среды выполнения (среды CLR) и библиотеки классов .NET Framework. Основой платформы .NET Framework является среда CLR. Среду выполнения можно считать агентом, который управляет кодом во время выполнения и предоставляет основные службы, такие как управление памятью, управление потоками и удаленное взаимодействие. При этом средой накладываются условия строгой типизации и другие виды проверки точности кода, обеспечивающие безопасность и надежность. Фактически основной задачей среды выполнения является управление кодом. Код, который обращается к среде выполнения, называют управляемым кодом, а код, который не обращается к среде выполнения, называют неуправляемым кодом. Библиотека классов является комплексной объектно-ориентированной коллекцией повторно используемых типов, которые применяются для разработки приложений — начиная с обычных приложений, запускаемых из командной строки, и приложений с графическим интерфейсом (GUI) и заканчивая приложениями, использующими последние технологические возможности ASP.NET, такие как веб-формы и веб-службы XML.

    Платформа .NET Framework может размещаться неуправляемыми компонентами, которые загружают среду CLR в собственные процессы и запускают выполнение управляемого кода, создавая таким образом программную среду, позволяющую использовать средства как управляемого, так и неуправляемого выполнения. Платформа .NET Framework не только предоставляет несколько базовых сред выполнения, но также поддерживает разработку базовых сред выполнения независимыми производителями.

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

    На следующем рисунке демонстрируется взаимосвязь среды CLR и библиотеки классов с пользовательскими приложениями и всей системой. На рисунке также показано, как управляемый код работает в пределах более широкой архитектуры.

    В следующих разделах приводится более подробное описание основных возможностей платформы .NET Framework.

    Возможности среды CLR

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

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

    Среда выполнения также обеспечивает надежность кода, реализуя инфраструктуру строгой типизации и проверки кода, которую называют системой общих типов (CTS). Система общих типов обеспечивает самоописание всего управляемого кода. Различные языковые компиляторы корпорации Microsoft и независимых изготовителей создают управляемый код, удовлетворяющий системе общих типов . Это означает, что управляемый код может принимать другие управляемые типы и экземпляры, при этом обеспечивая правильность типов и строгую типизацию.

    Кроме того, управляемая среда выполнения исключает многие часто возникающие проблемы с программным обеспечением. Например, среда выполнения автоматически управляет размещением объектов и ссылками на объекты, освобождая их, когда они больше не используются. Автоматическое управление памятью исключает две наиболее часто возникающие ошибки приложений: утечки памяти и недействительные ссылки на память.

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

    Хотя среда выполнения разрабатывалась для будущего программного обеспечения, она также поддерживает сегодняшнее и вчерашнее программное обеспечение. Взаимодействие управляемого и неуправляемого кодов позволяет разработчикам использовать необходимые компоненты COM и библиотеки DLL.

    Среда выполнения разработана для повышения производительности. Хотя общеязыковая среда выполнения предоставляет многие стандартные службы времени выполнения, управляемый код никогда не интерпретируется. Средство компиляции по требованию (JIT) позволяет выполнять весь управляемый код на машинном языке компьютера, где он запускается. Между тем диспетчер памяти устраняет возможность фрагментации памяти и увеличивает объем адресуемой памяти для дополнительного повышения производительности.

    Наконец, среда выполнения может размещаться в высокопроизводительных серверных приложениях, таких как Microsoft SQL Server и службы IIS (Internet Information Services). Такая инфраструктура позволяет использовать управляемый код для написания собственной логики программ, пользуясь при этом высочайшей производительностью лучших производственных серверов, которые поддерживают размещение среды выполнения.

    Библиотека классов .NET Framework

    Библиотека классов платформы .NET Framework представляет собой коллекцию типов, которые тесно интегрируются со средой CLR. Библиотека классов является объектно-ориентированной. Она предоставляет типы, от которых управляемый код пользователя может наследовать функции. Это не только упрощает работу с типами .NET Framework, но и сокращает время изучения новых средств платформы .NET Framework. Кроме того, компоненты независимых производителей можно легко объединять с классами платформы .NET Framework.

    Например, в классах коллекций .NET Framework реализуется набор интерфейсов для разработки пользовательских классов коллекций. Пользовательские классы коллекций легко объединяются с классами .NET Framework.

    Как и ожидается от объектно-ориентированной библиотеки классов, типы .NET Framework позволяют решать типовые задачи программирования, включая работу со строками, сбор данных, подключение к базам данных и доступ к файлам. В дополнение к этим обычным задачам библиотека классов содержит типы, поддерживающие многие специализированные сценарии разработки. Можете использовать платформу .NET Framework для разработки следующих типов приложений и служб:

    • Консольные приложения. См. статью Построение консольных приложений.
    • Приложения с графическим интерфейсом Windows (Windows Forms). См. статью Windows Forms.
    • Приложения Windows Presentation Foundation (WPF). См. статью Windows Presentation Foundation.
    • Приложения ASP.NET. См. статью Разработка веб-приложений с помощью ASP.NET.
    • службы Windows; См. основные сведения о приложениях служб Windows.
    • Сервисноориентированные приложения, использующие Windows Communication Foundation (WCF). См. статью Разработка сервисноориентированных приложений с помощью WCF.
    • Приложения, поддерживающие бизнес-процессы Windows Workflow Foundation (WF). См. Windows Workflow Foundation.

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

    См. также

    • Требования к системе
    • Руководство по установке
    • Руководство по разработке
    • Инструменты
    • Примеры и руководства .NET
    • Браузер API .NET

    Что такое .Net и для чего нужна эта платформа

    Что такое язык .Net и для чего он нужен

    Платформа .NET Framework – это специальная технология, предназначенная для выполнения различных веб-служб и создания приложений на ОС Windows. Так нам говорит официальный источник Microsoft.

    Что все это означает для программиста и обычного пользователя – разберемся в сегодняшней статье.

    Что такое .NET?

    Первый выпуск .Net Framework состоялся еще в далеком 2002 году. Тогда платформа была разработана как альтернатива Java. Основное отличие .Net заключалось в том, что платформа официально рассчитывалась на работу с операционными системами семейства Microsoft Windows.

    Прошло уже целых 20 лет, но .Net до сих пор пользуется популярностью несмотря на то, что есть платформы нового поколения, например .Net Core. Сегодня .Net позволяет использовать одни и те же пространства имен, библиотеки и API для разных языков:

    Когда программист создает программу на одном из этих языков, то в первую очередь ему необходимо подключить пространство имен System. Это позволяет организовать код программы в логические блоки, объединить и отделить от остального кода некоторую функциональность. Если бы не было .Net, то приходилось бы создавать отдельный System для каждого языка программирования, а это бы уже нарушало один из главных принципов программирования: «Не повторяйся».

    Комьюнити теперь в Телеграм
    Подпишитесь и будьте в курсе последних IT-новостей

    Зачем нужен .NET?

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

    Предположим, что нам нужно установить программу, которая была написана на языке программирования C#. Для нее также потребуется установить и среду для C#. Если нам нужна программа на другом языке, то для нее нужно установить уже другую среду, и так со всеми языками.

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

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

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

    Помимо основных языков, фреймворк поддерживает несколько десятков других языков – это Delphi, Cobra, Oxygene и другие. С полным списком вы можете ознакомиться на Википедии.

    Как работает .Net?

    Принцип работы .Net довольно прост, достаточно разобраться в понятиях CLI, CIL и CLR.

    Принцип работы .Net

    CLI (от англ. Common Language Infrastructure – общеязыковая инфраструктура) – определяет архитектуру исполнительной системы .NET.

    При такой инфраструктуре у каждого языка есть свой компилятор, однако программы компилируются не в нативный код, а в промежуточный байт-код CIL. Если мы напишем небольшую программу, выводящую надпись «Hello, World» на разных языках, то в результате она сформируется в промежуточный байт-код.

    Промежуточный байт код

    Когда мы запустим такую программу, то ее байт-код передастся в общеязыковую исполняющую среду CLR (Common Language Runtime). Там он уже компилируется в нативный код и начинает выполняться.

    Аналогичным образом работают и виртуальные машины Java, но вот только .Net работает гораздо быстрее и может быть использован на персональных ПК, а не только на серверах.

    Где используют .NET?

    Диапазон продуктов, над созданием которых трудятся разработчики, довольно обширный. Рассмотрим наиболее популярные сферы, где используется технология .Net.

    Веб-разработка

    Веб-приложения – это одна из распространенных групп приложений, которые пишутся под .Net. Особенность заключается в том, что такие приложения работают через браузер и требуют стабильного интернет-соединения.

    Сюда могут входить простые одностраничные сайты, но чаще всего это крупномасштабные проекты, требующие больших усилий. Например, Stack Overflow – сайт, известный каждому разработчику.

    Для написания веб-приложений под .Net надо знать C#, а также владеть фреймворком ASP.NET MVC. Кроме того, нужно понимать, что такое клиент/сервер, как устроен протокол HTTP, как работает REST.

    Клиентские приложения

    Клиентские приложения – продукты, которые запускаются на персональных компьютерах и мобильных устройствах.

    С применением .NET были разработаны такие приложения Windows, как блокнот и калькулятор. Но это лишь малая часть того, что можно сделать на .Net. Например, технология была использована в NinjaTrader и Tradesignal, а также в приложении для бизнес-аналитиков Microsoft Power BI.

    Существуют клиентские приложения и для смартфонов, но в них, как правило, используется более современная технология .Net Core. С помощью нее и Xamarin.Forms можно написать приложение и опубликовать его в Apple Store или Google Play.

    Компьютерные игры

    Используя .Net, можно создавать различные игры под Unity. Примеры: Inside, Kerbal Space Program, Endless Legend и даже Pokemon Go. Для создания подобных игр необходимо знать язык программирования C# и использовать библиотеки платформ Mono и Unity.

    Интернет вещей

    Интернет вещей – это огромное количество устройств, которые подключены к интернету для обмена данными с другими «вещами» и приложениями. Устройства используют встроенные датчики для сбора данных и воздействуют на них. Примеры применения: от умного дома, который автоматически регулирует отопление и освещение, до умной фабрики, контролирующей промышленные машины для поиска проблем.

    Здесь также можно применять .NET, например, с использованием Raspberry PI с Windows 10 IoT Core. Если вы планируете развиваться в данном направлении, то первым делом почитайте в интернете про Azure IoT и Azure IoT Hub.

    Enterprise

    Enterprise – это область разработки продуктов для решения проблем бизнеса. К таким продуктам можно отнести CRM для отслеживания поведения клиентов, а также системы менеджмента информации и документооборота.

    Подобные системы – это чаще всего комбинация веба, десктопных и мобильных приложений. Чтобы начать работать с Enterprise, потребуются знания в C#, .NET и JavaScript, а также в инструментах, которые являются базой для проектируемого Enterprise-продукта.

    Стоит ли учить .NET?

    Технология .Net привлекательна среди молодых специалистов, так как она открывает обширные возможности. Например, можно пойти в backend и стать профессионалом в WCF или ASP.NET Core. Использование Razor/Blazor позволит создавать под .NET полноценные веб-приложения как с клиентской, так и с серверной частью.

    Если говорить о современных технологиях по типу React, NG или Vue, то обучение для backend-разработчика станет более понятным с использованием языка TypeScript, который был разработан Microsoft специально для C#-программистов.

    Также не стоит забывать и о том, что .Net – это фреймворк, заточенный под Windows. Не нужно ничего устанавливать, все уже под рукой. Если же взять тот же Java, то потребуется установить много дополнительного ПО, а для работы с iOS вовсе нужен Mac.

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

    Заключение

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

    При подготовке материала использовались источники:
    https://learn.microsoft.com/ru-ru/dotnet/framework/get-started/
    https://learn.microsoft.com/ru-ru/dotnet/framework/get-started/overview
    https://timeweb.com/ru/community/articles/chto-takoe-net-i-dlya-chego-nuzhen

Оцените статью