Каркас framework net это – Лекция 1 visual studio net framework net ключевые понятия имя net

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

  • Время чтения: 11 мин

В этой статье

Платформа .NET Framework — это технология, которая поддерживает создание и выполнение нового поколения приложений и веб-служб XML.The .NET Framework is a technology that supports building and running the next generation of apps and XML Web services. При разработке платформы .NET Framework учитывались следующие цели.The .NET Framework is designed to fulfill the following objectives:

  • Обеспечение согласованной объектно-ориентированной среды программирования для локального сохранения и выполнения объектного кода, для локального выполнения кода, распределенного в Интернете, либо для удаленного выполнения.To provide a consistent object-oriented programming environment whether object code is stored and executed locally, executed locally but Internet-distributed, or executed remotely.

  • Обеспечение среды выполнения кода, минимизирующей конфликты при развертывании программного обеспечения и управлении версиями.To provide a code-execution environment that minimizes software deployment and versioning conflicts.

  • Обеспечение среды выполнения кода, гарантирующей безопасное выполнение кода, включая код, созданный неизвестным или не полностью доверенным сторонним изготовителем.To provide a code-execution environment that promotes safe execution of code, including code created by an unknown or semi-trusted third party.

  • Обеспечение среды выполнения кода, исключающей проблемы с производительностью сред выполнения сценариев или интерпретируемого кода.To provide a code-execution environment that eliminates the performance problems of scripted or interpreted environments.

  • Обеспечение единых принципов разработки для разных типов приложений, таких как приложения Windows и веб-приложения.To make the developer experience consistent across widely varying types of apps, such as Windows-based apps and Web-based apps.

  • Взаимодействие на основе промышленных стандартов, которое гарантирует интеграцию кода платформы .NET Framework с любым другим кодом.To build all communication on industry standards to ensure that code based on the .NET Framework integrates with any other code.

Примечание

Общие сведения о платформе .NET Framework для пользователей и разработчиков см. в разделе Начало работы.For a general introduction to the .NET Framework for both users and developers, see Getting Started.

Платформа .NET Framework состоит из общеязыковой среды выполнения (среды CLR) и библиотеки классов .NET Framework.The .NET Framework consists of the common language runtime (CLR) and the .NET Framework class library. Основой платформы .NET Framework является среда CLR.The common language runtime is the foundation of the .NET Framework. Среду выполнения можно считать агентом, который управляет кодом во время выполнения и предоставляет основные службы, такие как управление памятью, управление потоками и удаленное взаимодействие. При этом средой накладываются условия строгой типизации и другие виды проверки точности кода, обеспечивающие безопасность и надежность.Think of the runtime as an agent that manages code at execution time, providing core services such as memory management, thread management, and remoting, while also enforcing strict type safety and other forms of code accuracy that promote security and robustness. Фактически основной задачей среды выполнения является управление кодом.In fact, the concept of code management is a fundamental principle of the runtime. Код, который обращается к среде выполнения, называют управляемым кодом, а код, который не обращается к среде выполнения, называют неуправляемым кодом.Code that targets the runtime is known as managed code, while code that doesn't target the runtime is known as unmanaged code. Библиотека классов является комплексной объектно-ориентированной коллекцией повторно используемых типов, которые применяются для разработки приложений — начиная с обычных приложений, запускаемых из командной строки, и приложений с графическим интерфейсом (GUI) и заканчивая приложениями, использующими последние технологические возможности ASP.NET, такие как веб-формы и веб-службы XML.The class library is a comprehensive, object-oriented collection of reusable types that you use to develop apps ranging from traditional command-line or graphical user interface (GUI) apps to apps based on the latest innovations provided by ASP.NET, such as Web Forms and XML Web services.

Платформа .NET Framework может размещаться неуправляемыми компонентами, которые загружают среду CLR в собственные процессы и запускают выполнение управляемого кода, создавая таким образом программную среду, позволяющую использовать средства как управляемого, так и неуправляемого выполнения.The .NET Framework can be hosted by unmanaged components that load the common language runtime into their processes and initiate the execution of managed code, thereby creating a software environment that exploits both managed and unmanaged features. Платформа .NET Framework не только предоставляет несколько базовых сред выполнения, но также поддерживает разработку базовых сред выполнения независимыми производителями.The .NET Framework not only provides several runtime hosts but also supports the development of third-party runtime hosts.

Например, ASP.NET размещает среду выполнения и обеспечивает масштабируемую среду для управляемого кода на стороне сервера.For example, ASP.NET hosts the runtime to provide a scalable, server-side environment for managed code. ASP.NET работает непосредственно со средой выполнения, чтобы обеспечить выполнение приложений ASP.NET и веб-служб XML, обсуждаемых ниже в этом разделе.ASP.NET works directly with the runtime to enable ASP.NET apps and XML Web services, both of which are discussed later in this topic.

Обозреватель Internet Explorer может служить примером неуправляемого приложения, размещающего среду выполнения (в виде расширений типов MIME).Internet Explorer is an example of an unmanaged app that hosts the runtime (in the form of a MIME type extension). Размещение среды выполнения в обозревателе Internet Explorer позволяет внедрять управляемые компоненты или элементы управления Windows Forms в HTML-документы.Using Internet Explorer to host the runtime enables you to embed managed components or Windows Forms controls in HTML documents. Такое размещение среды позволяет выполнять управляемый мобильный код и пользоваться его существенными преимуществами, в частности выполнением в условиях неполного доверия и изолированным хранением файлов.Hosting the runtime in this way makes managed mobile code possible, but with significant improvements that only managed code offers, such as semi-trusted execution and isolated file storage.

На следующем рисунке демонстрируется взаимосвязь среды CLR и библиотеки классов с пользовательскими приложениями и всей системой.The following illustration shows the relationship of the common language runtime and the class library to your apps and to the overall system. На рисунке также показано, как управляемый код работает в пределах более широкой архитектуры.The illustration also shows how managed code operates within a larger architecture.

В следующих разделах приводится более подробное описание основных возможностей платформы .NET Framework.The following sections describe the main features of the .NET Framework in greater detail.

Возможности среды CLRFeatures of the common language runtime

Среда CLR управляет памятью, выполнением потоков, выполнением кода, проверкой безопасности кода, компиляцией и другими системными службами.The common language runtime manages memory, thread execution, code execution, code safety verification, compilation, and other system services. Эти средства являются внутренними для управляемого кода, который выполняется в среде CLR.These features are intrinsic to the managed code that runs on the common language runtime.

По соображениям безопасности управляемым компонентам присваиваются разные степени доверия, зависящие от ряда факторов, в число которых входит их происхождение (например, Интернет, сеть предприятия или локальный компьютер).Regarding security, managed components are awarded varying degrees of trust, depending on a number of factors that include their origin (such as the Internet, enterprise network, or local computer). Это означает, что управляемый компонент может или не может выполнять операции доступа к файлам, операции доступа к реестру или другие важные функции, даже если он используется в одном и том же активном приложении.This means that a managed component might or might not be able to perform file-access operations, registry-access operations, or other sensitive functions, even if it's used in the same active app.

Среда выполнения также обеспечивает надежность кода, реализуя инфраструктуру строгой типизации и проверки кода, которую называют системой общих типов (CTS).The runtime also enforces code robustness by implementing a strict type-and-code-verification infrastructure called the common type system (CTS). Система общих типов обеспечивает самоописание всего управляемого кода.The CTS ensures that all managed code is self-describing. Различные языковые компиляторы корпорации Microsoft и независимых изготовителей создают управляемый код, удовлетворяющий системе общих типов .The various Microsoft and third-party language compilers generate managed code that conforms to the CTS. Это означает, что управляемый код может принимать другие управляемые типы и экземпляры, при этом обеспечивая правильность типов и строгую типизацию.This means that managed code can consume other managed types and instances, while strictly enforcing type fidelity and type safety.

Кроме того, управляемая среда выполнения исключает многие часто возникающие проблемы с программным обеспечением.In addition, the managed environment of the runtime eliminates many common software issues. Например, среда выполнения автоматически управляет размещением объектов и ссылками на объекты, освобождая их, когда они больше не используются.For example, the runtime automatically handles object layout and manages references to objects, releasing them when they are no longer being used. Автоматическое управление памятью исключает две наиболее часто возникающие ошибки приложений: утечки памяти и недействительные ссылки на память.This automatic memory management resolves the two most common app errors, memory leaks and invalid memory references.

Среда выполнения также повышает продуктивность разработчиков.The runtime also accelerates developer productivity. Например, программисты могут писать приложения на привычном языке разработки, при этом используя все преимущества среды выполнения, библиотеки классов и компонентов, написанных другими разработчиками на других языках.For example, programmers write apps in their development language of choice yet take full advantage of the runtime, the class library, and components written in other languages by other developers. Это доступно любому производителю компиляторов, обращающихся к среде выполнения.Any compiler vendor who chooses to target the runtime can do so. Языковые компиляторы, предназначенные для платформы .NET Framework, делают средства .NET Framework доступными для существующего кода, написанного на соответствующих языках, существенно облегчая процесс переноса существующих приложений.Language compilers that target the .NET Framework make the features of the .NET Framework available to existing code written in that language, greatly easing the migration process for existing apps.

Хотя среда выполнения разрабатывалась для будущего программного обеспечения, она также поддерживает сегодняшнее и вчерашнее программное обеспечение.While the runtime is designed for the software of the future, it also supports software of today and yesterday. Взаимодействие управляемого и неуправляемого кодов позволяет разработчикам использовать необходимые компоненты COM и библиотеки DLL.Interoperability between managed and unmanaged code enables developers to continue to use necessary COM components and DLLs.

Среда выполнения разработана для повышения производительности.The runtime is designed to enhance performance. Хотя общеязыковая среда выполнения предоставляет многие стандартные службы времени выполнения, управляемый код никогда не интерпретируется.Although the common language runtime provides many standard runtime services, managed code is never interpreted. Средство компиляции по требованию (JIT) позволяет выполнять весь управляемый код на машинном языке компьютера, где он запускается.A feature called just-in-time (JIT) compiling enables all managed code to run in the native machine language of the system on which it's executing. Между тем диспетчер памяти устраняет возможность фрагментации памяти и увеличивает объем адресуемой памяти для дополнительного повышения производительности.Meanwhile, the memory manager removes the possibilities of fragmented memory and increases memory locality-of-reference to further increase performance.

Наконец, среда выполнения может размещаться в высокопроизводительных серверных приложениях, таких как Microsoft SQL Server и службы IIS (Internet Information Services).Finally, the runtime can be hosted by high-performance, server-side apps, such as Microsoft SQL Server and Internet Information Services (IIS). Такая инфраструктура позволяет использовать управляемый код для написания собственной логики программ, пользуясь при этом высочайшей производительностью лучших производственных серверов, которые поддерживают размещение среды выполнения.This infrastructure enables you to use managed code to write your business logic, while still enjoying the superior performance of the industry's best enterprise servers that support runtime hosting.

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

Библиотека классов платформы .NET Framework представляет собой коллекцию типов, которые тесно интегрируются со средой CLR.The .NET Framework class library is a collection of reusable types that tightly integrate with the common language runtime. Библиотека классов является объектно-ориентированной. Она предоставляет типы, от которых управляемый код пользователя может наследовать функции.The class library is object oriented, providing types from which your own managed code derives functionality. Это не только упрощает работу с типами .NET Framework, но и сокращает время изучения новых средств платформы .NET Framework.This not only makes the .NET Framework types easy to use but also reduces the time associated with learning new features of the .NET Framework. Кроме того, компоненты независимых производителей можно легко объединять с классами платформы .NET Framework.In addition, third-party components integrate seamlessly with classes in the .NET Framework.

Например, в классах коллекций .NET Framework реализуется набор интерфейсов для разработки пользовательских классов коллекций.For example, the .NET Framework collection classes implement a set of interfaces for developing your own collection classes. Пользовательские классы коллекций легко объединяются с классами .NET Framework.Your collection classes blend seamlessly with the classes in the .NET Framework.

Как и ожидается от объектно-ориентированной библиотеки классов, типы .NET Framework позволяют решать типовые задачи программирования, включая работу со строками, сбор данных, подключения к базам данных и доступ к файлам.As you would expect from an object-oriented class library, the .NET Framework types enable you to accomplish a range of common programming tasks, including tasks such as string management, data collection, database connectivity, and file access. В дополнение к этим обычным задачам библиотека классов содержит типы, поддерживающие многие специализированные сценарии разработки.In addition to these common tasks, the class library includes types that support a variety of specialized development scenarios. Используйте платформу .NET Framework для разработки следующих типов приложений и служб:Use the .NET Framework to develop the following types of apps and services:

Классы Windows Forms представляют собой полный набор типов, существенно упрощающих разработку графических интерфейсов пользователя Windows.The Windows Forms classes are a comprehensive set of reusable types that vastly simplify Windows GUI development. При написании приложения веб-форм ASP.NET можно использовать классы веб-форм.If you write an ASP.NET Web Form app, you can use the Web Forms classes.

См. такжеSee also

docs.microsoft.com

Framework .Net - единый каркас среды разработки

разных языках; возможность бесшовной отладки такого приложения; возможность написать класс на одном языке, а его потомков - на других языках. Единый каркас приводит к сближению языков программирования, позволяя вместе с тем сохранять их индивидуальность и имеющиеся у них достоинства. Преодоление языкового барьера - одна из важнейших задач современного мира. Благодаря единому каркасу, Visual Studio

.Net в определенной мере решает эту задачу в мире программистов.

Вкаркасе Framework .Net можно выделить два основных компонента:

•статический - FCL (Framework Class Library) - библиотеку классов каркаса;

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

Библиотека классов FCL - статический компонент каркаса

Понятие каркаса приложений - Framework Applications - появилось достаточно давно; по крайней мере оно широко использовалось еще в четвертой версии Visual Studio. Десять лет назад, когда я с Ильмиром писал книгу [В.А. Биллиг, И.Х. Мусикаев "Visual C++, 4-я версия. Книга для программистов"], для нас это было еще новое понятие. Мы подробно обсуждали роль библиотеки классов MFC (Microsoft Foundation Classes) как каркаса приложений Visual C. Несмотря на то, что каркас был представлен только статическим компонентом, уже тогда была очевидна его роль в построении приложений. Уже в то время важнейшее значение в библиотеке классов MFC имели классы, задающие архитектуру строящихся приложений. Когда разработчик выбирал один из возможных типов приложения, например, архитектуру Document-View, то в его приложение автоматически встраивались класс Document, задающий структуру документа, и класс View, задающий его визуальное представление. Класс Form и классы, задающие элементы управления, обеспечивали единый интерфейс приложений. Выбирая тип приложения, разработчик изначально получал нужную ему функциональность, поддерживаемую классами каркаса. Библиотека классов поддерживала и более традиционные для программистов классы, задающие расширенную систему типов данных, в частности, динамические типы данных - списки, деревья, коллекции, шаблоны.

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

Единство каркаса

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

Встроенные примитивные типы

Важной частью библиотеки FCL стали классы, задающие примитивные типы - те типы, которые считаются встроенными в язык программирования. Типы каркаса покрывают все множество встроенных типов, встречающихся в языках программирования. Типы языка программирования проецируются на соответствующие типы каркаса. Тип, называемый в языке Visual Basic - Integer, а в языке C# - int,

проецируется на один и тот же тип каркаса System.Int32. В каждом языке программирования, наряду с "родными" для языка названиями типов, разрешается пользоваться именами типов, принятыми в каркасе. Поэтому, по сути, все языки среды разработки могут пользоваться единой системой встроенных типов, что, конечно, способствует облегчению взаимодействия компонентов, написанных на разных языках.

Структурные типы

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

Архитектура приложений

Существенно расширился набор возможных архитектурных типов построения приложений. Помимо традиционных Windows- и консольных приложений, появилась возможность построения Web-приложений. Большое внимание уделяется возможности создания повторно используемых компонентов - разрешается строить библиотеки классов, библиотеки элементов управления и библиотеки Web-элементов управления. Популярным архитектурным типом являются Web-службы, ставшие сегодня благодаря открытому стандарту одним из основных видов повторно используемых компонентов. Для языков C#, J#, Visual Basic, поддерживаемых Microsoft, предлагается одинаковый набор из 12 архитектурных типов приложений. Несколько особняком стоит Visual С++, сохраняющий возможность работы не только с библиотекой FCL, но и с библиотеками MFC и ATL, и с построением соответствующих MFC и ATL-проектов. Компиляторы языков, поставляемых другими фирмами, создают проекты, которые удовлетворяют общим требованиям среды, сохраняя свою индивидуальность. Так, например, компилятор Eiffel допускает создание проектов, использующих как библиотеку FCL, так и собственную библиотеку классов.

Модульность

Число классов библиотеки FCL велико (несколько тысяч). Поэтому понадобился способ их структуризации. Логически классы с близкой функциональностью объединяются в группы, называемые пространством имен (Namespace). Для динамического компонента CLR физической единицей, объединяющей классы и другие ресурсы, является сборка

(assembly).

Основным пространством имен библиотеки FCL является пространство System, содержащее как классы, так и другие вложенные пространства имен. Так, уже упоминавшийся примитивный тип Int32 непосредственно вложен в пространство имен System и его полное имя, включающее имя пространства - System.Int32.

В пространство System вложен целый ряд других пространств имен. Например, в пространстве System.Collections находятся классы и интерфейсы, поддерживающие работу с коллекциями объектов - списками, очередями, словарями. В пространство System.Collections, в свою очередь, вложено пространство имен Specialized, содержащие классы со специализацией, например, коллекции, элементами которых являются только строки. Пространство System.Windows.Forms содержит классы, используемые при создании Windows-приложений. Класс Form из этого пространства задает форму - окно, заполняемое элементами управления, графикой, обеспечивающее интерактивное взаимодействие с пользователем.

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

studfile.net

Microsoft .NET Framework: зачем он нужен и как установить на Windows

Если вы часто устанавливаете программы, то наверняка сталкивались с ошибками Microsoft .NET Framework. Две самых распространённых — он либо не установлен, либо установлена не та версия.

Почему так происходит? Что это такое и зачем нужен NET Framework?

Наверное, вы знаете, что основное занятие программистов — написание кода. При этом они используют различные языки программирования, позволяющие сказать компьютеру, что он должен делать:


Но есть одна проблема — языки программирования довольно примитивны. С их помощью можно легко выполнять простые действия вроде сложения и умножения. А всё остальное требует долгой и усердной работы. Хотите вывести текст или изображения на экран? Тогда придётся написать много кода, используя самые простые элементы языка.

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

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

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


Есть только один недостаток разработки приложений с использованием .NET Framework — их невозможно запустить, если .NET не установлен в вашей системе.

.NET Framework состоит из двух частей. Первая часть включает в себя набор заранее написанного кода (официально именуемого SDK, Dev Packs или «Пакеты разработчика»). Вторая часть включает в себя программу, которая может интерпретировать код .NET Framework в команды для операционной системы. Эта часть, которую называют «средой выполнения», позволяет запускать программы, написанные с использованием .NET Framework.

В этом отношении .NET Framework напоминает Java — для использования написанных на нём приложений необходимо скачать среду выполнения Java Runtime Environment.

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

На большинстве компьютеров на Windows уже установлен .NET Framework, но его версия может быть устаревшей. Например, с Windows 8 и 8.1 поставляется версия 4.5.1, а с Windows 10 — версия 4.6, 4.6.1 или 4.6.2.

На момент написания статьи самая свежая версия — .NET Framework 4.7. Именно её мы и будем устанавливать:


.NET Framework можно установить и через Центр обновления Windows. Но многие отключают обновление Windows, поэтому данный метод будет предпочтительнее.

Перед установкой — .NET Framework 4.7 можно установить на Windows 10, Windows 8.1 и Windows 7 SP1 как на 32-битные, так и на 64-битные системы. Чтобы установка прошла без ошибок, Microsoft рекомендует иметь на жестком диске минимум 2.5 ГБ свободного пространства.

Microsoft предлагает два вида установщиков: веб-установщик и автономный установщик. Веб-установщик весит меньше 2 МБ, и скачивает все необходимые компоненты во время инсталляции. Поэтому вам потребуется стабильное соединение с интернетом.

Автономный установщик весит около 60 МБ, и не требует доступа к интернету во время инсталляции.

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

.NET Framework 4.7 Веб-установщик

.NET Framework 4.7 Автономный установщик


Обратите внимание, что версия 4.7 — это выполняемое обновление версий 4, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1 и 4.6.2. Поэтому не удаляйте предыдущие версии после установки. .NET Framework 3.5 SP1 и более старые версии устанавливаются отдельно.

По умолчанию .NET Framework инсталлирует английскую версию независимо от того, какой вы используете установщик. Для локализации нужно скачать соответствующий языковой пакет. На данный момент языковые пакеты для версии 4.7 доступны только в виде автономных установщиков.

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

Языковой пакет .NET Framework 4.7

Еще одна причина, зачем нужен NET Framework. Несколько лет назад Microsoft открыла исходный код .NET Framework, позволив всем желающим вносить свой вклад в разработку платформы. В результате Microsoft стала самой активной организацией на GitHub.

Что это значит для вас? В сущности, то, что приложения, написанные на .NET Framework в будущем станут только популярнее и качественнее. Поэтому, почему бы не установить .NET Framework прямо сейчас?

Данная публикация представляет собой перевод статьи «Microsoft .NET Framework: Why You Need It and How to Install It on Windows» , подготовленной дружной командой проекта Интернет-технологии.ру

www.internet-technologies.ru

Что такое Microsoft .Net Framework

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

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

Сделано это для того, чтобы разработчик мог максимально абстрагироваться от системного окружения на компьютере пользователя. Его не должно волновать, какая операционная система установлена, какая разрядность у процессора — 32-х или 64-битная, какая у него архитектура и т.д. Для запуска программы достаточно чтобы под данную систему существовала и была установлена реализация .Net Framework. Для операционных систем Windows разработкой платформы занимается её создатель, компания Microsoft. Существуют также независимые реализации, прежде всего это Mono и Portable.NET, позволяющие запускать программы .Net на других операционных системах, например на Linux.

Архитектура .Net Framework

Платформа состоит из двух частей. Основой является исполняющая среда Common Language Runtime (CLR), которая может выполнять как обычные программы, так и серверные приложения. Вторая, не менее важная часть, это библиотека классов Framework Class Library (FCL), содержащая в себе множество компонентов для работы с базами данных, сетью, вводом/выводом, файлами, пользовательским интерфейсом и т.д. Это позволяет разработчику не заниматься низкоуровневым программированием, а использовать уже готовые классы.

Важные части библиотеки классов

Windows Forms — отвечает за разработку графического интерфейса. Фактически является обёрткой над Win32 API.

ADO.NET — предоставляет доступ данным. В основном используется для работы с базами данных.

ASP.NET — технология разработки веб-сайтов, веб-приложений и веб-сервисов.

Language Integrated Query (LINQ) — реализация языка запросов, напоминающего по синтаксису SQL в программах на .Net.

Windows Presentation Foundation (WPF) — система создания графических интерфейсов, использующая язык разметки XAML. В отличие от Windows Forms использует графическую технологию DirectX, что обеспечивает более быструю работу за счет аппаратного ускорения графики.

Windows Communication Foundation (WCF) — система обмена данными между приложениями .Net. Используется для создания распределённых приложений.

Языки программирования .Net

Одной из основных идей, заложенной в .Net, является совместимость различных частей приложения, которые могут быть разработаны на разных языках. Например программа, написанная на C# может обратиться к методу из библиотеки, написанной на Visual Basic .NET, или класс на Managed C++ может быть унаследован от класса на Delphi .Net.

Языки, включённые в Visual Studio: C#, J# (последний раз в Visual Studio 2005), Visual Basic .NET, JScript .NET, C++/CLI, F# (Visual Studio 2010).

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

Надеемся что в данном материале мы ответили на вопрос, что же такое Microsoft .Net Framework, и для чего он нужен.

net-framework.ru

Платформа .NET Framework | CLR via C# – CODE BLOG

C# является одним из самых востребованных, многофункциональных и активно развивающихся языков программирования на данный момент. С его помощью можно разрабатывать практически любое программное обеспечение, начиная от простых win forms приложений, до крупных клиент-серверных веб-приложений или даже мобильные приложения и компьютерных игры. А работает он на базе платформы .NET Framework. Давайте же разберёмся, что это такое.

Смотрите моё видео на тему платформа .NET Framework и среда выполнения CLR для C#

Язык программирования C# является относительно свежим, но он уже успел заслужить доверие. Релиз первой версии состоялся в феврале 2002 года. Крайней версией языка на момент написания статьи является C# 7.2, которая вышла 16.08.2017.

Синтаксис языка C# как следует из названия входит в семейство Си-подобных языков и похож на другие популярных языки из этой группы (C++, Java). Поэтому, если вы уже знакомы с одним из этих языков, вам будет значительно проще освоить языком программирования C#.

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

Платформа .NET

Платформа .NET FrameworkПлатформа .NET FrameworkПлатформа .NET Framework

.NET Framework – это программная платформа от компании Microsoft позволяющая выполнять разработку на различных языках программирования, так как для всех языков используется единая общеязыковая среда исполнения Common Language Runtime (CLR). Таким образом, основными возможностями платформы .NET являются:

  • Кроссплатформенность – .NET Framework поддерживается большинством современных операционных систем Windows, а также есть возможность создавать приложения поддерживаемые Linux системами, и даже мобильные приложения.
  • Мультиязычность – так как исходный код, написанный на используемом языке программирования, транслируется в общеязыковой Common Intermediate Language (CIL) код, появляется возможность вести разработку на любом поддерживаемом языке программирования, и даже использовать различные языки программирования в одном решении. Наиболее популярными поддерживаемыми языками являются C#, VB.NET, C++, F#.
  • Обширная библиотека классов и технологий – существует огромное количество готовых к использованию библиотек для решения необходимых задач. Зачастую совсем не приходится реализовывать низкоуровневую логику работы приложения, достаточно воспользоваться готовым решением, удобно поставляемым через менеджер пакетов nuget. Кроме того, платформа .NET предусматривает легкую разработку практически любого типа необходимого программного обеспечения.

Управляемый и неуправляемый код. JIT-компиляция

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

После создания библиотеки классов или приложения, исходный код продолжает храниться на языке CIL. А при запуске приложения или обращении к библиотеке выполняется Just-In-Time (JIT) компиляция приложения в машинный код, специфичный именно для того окружения, на котором осуществляется исполнение приложения. При этом важной особенностью является то, что выполняется компиляция только той части приложения или библиотеки, к которой выполняется обращение (ну и связей естественно). Это позволяет увеличить производительность работы системы и экономить ресурсы.

Неуправляемый код (unmanaged code) – это код, транслируемый сразу в машинный исполняемый код и исполняется операционной системой напрямую.

Кроме того, рекомендую прочитать статью Что такое WCF служба. А также подписывайтесь на группу ВКонтакте, Telegram и YouTube-канал. Там еще больше полезного и интересного для программистов.

Похожее

shwanoff.ru

Руководство по разработке для .NET Framework

  • Время чтения: 5 мин

В этой статье

В этом разделе поясняются способы создания, настройки, отладки, защиты и развертывания приложений .NET Framework.This section explains how to create, configure, debug, secure, and deploy your .NET Framework apps. В этом разделе также приводятся сведения о технологических областях, таких как динамическое программирование, взаимодействие, расширяемость, управление памятью и потоки.The section also provides information about technology areas such as dynamic programming, interoperability, extensibility, memory management, and threading.

В этом разделеIn This Section

Основные сведения о приложениях .NET FrameworkApplication Essentials
Здесь приводится информация об основных задачах разработки приложений, таких как программирование с использованием доменов приложений и сборок, использование атрибутов, форматирование и анализ базовых типов, использование коллекций, обработка событий и исключений, использование файлов и потоков данных и использование универсальных шаблонов.Provides information about basic app development tasks, such as programming with app domains and assemblies, using attributes, formatting and parsing base types, using collections, handling events and exceptions, using files and data streams, and using generics.

Данные и модели в .NET FrameworkData and Modeling
Здесь приводится информация о способах доступа к данным с использованием ADO.NET, LINQ, служб данных WCF и XML.Provides information about how to access data using ADO.NET, Language Integrated Query (LINQ), WCF Data Services, and XML.

Разработка клиентских приложений с использованием .NET FrameworkClient Applications
Здесь поясняются способы создания приложений Windows с помощью Windows Presentation Foundation (WPF) и Windows Forms.Explains how to create Windows-based apps by using Windows Presentation Foundation (WPF) or Windows Forms.

Разработка веб-приложений с помощью ASP.NETWeb Applications with ASP.NET
Здесь приводятся ссылки на сведения об использовании ASP.NET для сборки веб-приложений корпоративного уровня с минимальным объемом кода.Provides links to information about using ASP.NET to build enterprise-class web apps with a minimum of coding.

Разработка сервисноориентированных приложений с помощью WCFService-Oriented Applications with WCF
Здесь приводится описание способов использования Windows Communication Foundation (WCF) для сборки безопасных и надежных сервисноориентированных приложений.Describes how to use Windows Communication Foundation (WCF) to build service-oriented apps that are secure and reliable.

Построение рабочих процессов в .NET Framework Building workflows with Windows Workflow Foundation
Здесь приводятся сведения о модели программирования и средствах Windows Workflow Foundation (WF), а также примеры.Provides information about the programming model, samples, and tools for using Windows Workflow Foundation (WF).

Приложения служб WindowsWindows Service Applications
Здесь поясняется, как можно использовать Visual Studio и .NET Framework для создания приложения, которое устанавливается в качестве службы, а также запускать его, останавливать и иными способами управлять его поведением.Explains how you can use Visual Studio and the .NET Framework to create an app that is installed as a service, and start, stop, and otherwise control its behavior.

Параллельная обработка, параллелизм и асинхронное программирование в .NETParallel Processing, Concurrency, and Async Programming in .NET
Здесь приводятся сведения о шаблонах разработки с применением управляемых потоков, параллельного программирования и асинхронного программирования.Provides information about managed threading, parallel programming, and asynchronous programming design patterns.

Сетевое программирование в .NET FrameworkNetwork Programming in the .NET Framework
Здесь приводится описание многоуровневой, расширяемой и управляемой реализации служб Интернета, которую можно быстро и легко интегрировать в приложения.Describes the layered, extensible, and managed implementation of Internet services that you can quickly and easily integrate into your apps.

Настройка приложений .NET Framework Configuring .NET Framework Apps
Здесь поясняется, как можно использовать файлы конфигурации для изменения параметров без необходимости повторной компиляции приложений .NET Framework.Explains how you can use configuration files to change settings without having to recompile your .NET Framework apps.

Компиляция приложений с помощью машинного кода .NETCompiling Apps with .NET Native
Здесь поясняется, как можно использовать технологию предварительной компиляции .NET Native для сборки и развертывания приложений Магазина Windows.Explains how you can use the .NET Native precompilation technology to build and deploy Windows Store apps. .NET Native компилирует приложения, написанные с помощью управляемого кода (C#) и адаптирующие .NET Framework к машинному коду..NET Native compiles apps that are written in managed code (C#) and that target the .NET Framework to native code.

БезопасностьSecurity
Сведения о классах и службах .NET Framework, предназначенных для упрощения разработки безопасных приложений.Provides information about the classes and services in the .NET Framework that facilitate secure app development.

Отладка, трассировка и профилированиеDebugging, Tracing, and Profiling
Здесь приводится описание способов тестирования, оптимизации и профилирования приложений .NET Framework и среды приложения.Explains how to test, optimize, and profile .NET Framework apps and the app environment. Информация, содержащаяся в этом разделе, предназначена как для администраторов, так и для разработчиков.This section includes information for administrators as well as developers.

Разработка для нескольких платформ с помощью .NET FrameworkDeveloping for Multiple Platforms
Здесь поясняется, как можно использовать платформу .NET Framework для создания сборок, которые могут совместно использоваться несколькими платформами и устройствами, такими как телефоны, настольные системы и интернет-устройства.Provides information about how you can use the .NET Framework to build assemblies that can be shared across multiple platforms and multiple devices such as phones, desktop, and web.

РазвертываниеDeployment
Здесь поясняется порядок упаковки и распространения приложения .NET Framework; сюда также включены руководства по развертыванию как для разработчиков, так и для администраторов.Explains how to package and distribute your .NET Framework app, and includes deployment guides for both developers and administrators.

ПроизводительностьPerformance
Здесь приводятся сведения о кэшировании, отложенной инициализации, надежности и событиях трассировки событий Windows.Provides information about caching, lazy initialization, reliability, and ETW events.

СсылкаReference

Библиотека классов .NET Framework.NET Framework Class Library
Предоставляет синтаксис, примеры кода и сведения об использовании для каждого класса, содержащегося в пространствах имен .NET Framework.Supplies syntax, code examples, and usage information for each class that is contained in the .NET Framework namespaces.

Начало работыGetting Started
Здесь содержится комплексный обзор платформы .NET Framework и ссылки на дополнительные ресурсы.Provides a comprehensive overview of the .NET Framework and links to additional resources.

Новые возможностиWhat's New
Здесь приводится описание ключевых новых возможностей и изменений в последней версии .NET Framework.Describes key new features and changes in the latest version of the .NET Framework. Сюда включены списки новых и устаревших типов и членов; также здесь приводится руководство по переносу приложений из предыдущей версии .NET Framework.Includes lists of new and obsolete types and members, and provides a guide for migrating your apps from the previous version of the .NET Framework.

ИнструментыTools
Инструменты, описанные в этом разделе, помогут в разработке, настройке и развертывании приложений с помощью технологий .NET Framework.Describes the tools that help you develop, configure, and deploy apps by using .NET Framework technologies.

Примеры и руководства .NET.NET samples and tutorials
Предоставляет ссылки на примеры и руководства для изучения .NET.Provides links to samples and tutorials that help you learn about .NET.

docs.microsoft.com

Что такое .NET Framework?

Доброго времени суток. На связи Алексей Гулынин. В прошлой статье мы познакомились со способами передачи аргументов методу в 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 — это просто набор проектов, которые могут быть связаны друг с другом (обычно так и происходит), а могут быть не связаны друг с другом.

Для создания проекта в Visual Studio существует понятие шаблона проекта.

Примеры основных проектов:

  • Console Application
  • Windows Forms Application
  • WPF Application
  • Class Library
  • WCF Service Application
  • Windows Store
  • ASP.NET Web Application
  • ASP.NET MVC 5 Application

В реальности шаблонов гораздо больше. Также существуют шаблоны от сторонних разработчиков.

В данной статье вы узнали что такое .Net Framework, а также узнали про Проект (Project) и Решение (Solution) в Visual Studio.

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


Следующая статья >

alekseygulynin.ru

Отправить ответ

avatar
  Подписаться  
Уведомление о