Общие сведения о платформе .netoverview of .net framework
Содержание:
- .NET, .NET Framework, and .NET Core
- .NET Framework FAQ
- What is .NET Framework used for?
- Who uses .NET Framework?
- Why do I need .NET Framework?
- How does .NET Framework work?
- What are the main components/features of .NET Framework?
- What is the difference between .NET Core and .NET Framework?
- Can you have multiple .NET Frameworks installed?
- How much does .NET Framework cost?
- Which version of .NET Framework should I use?
- What is the support policy for .NET Framework?
- Laravel
- Предназначение .NET Framework
- .NET Framework для разработчиков.NET Framework for developers
- .NET Framework для пользователей.NET Framework for users
- Features of the common language runtime
- Руководства
.NET, .NET Framework, and .NET Core
.NET is a developer platform made up of tools, programming languages, and libraries for building many different types of applications.
There are various implementations of .NET. Each implementation allows .NET code to execute in different places—Linux, macOS, Windows, iOS, Android, and many more.
- .NET Framework is the original implementation of .NET. It supports running websites, services, desktop apps, and more on Windows.
- .NET Core is a cross-platform implementation for running websites, services, and console apps on Windows, Linux, and macOS. .NET Core is open source on GitHub.
- Xamarin/Mono is a .NET implementation for running apps on all the major mobile operating systems, including iOS and Android.
.NET Framework FAQ
What is .NET Framework used for?
.NET Framework is used to create and run software applications. .NET apps can run on many operating systems, using different implementations of .NET. .NET Framework is used for running .NET apps on Windows.
Who uses .NET Framework?
Software developers and the users of their applications both use .NET Framework:
- Users of applications built with the .NET Framework need to have .NET Framework installed. In most cases, .NET Framework is already installed with Windows. If needed, you can download .NET Framework.
- Software developers use .NET Framework to build many different types of applications—websites, services, desktop apps, and more with Visual Studio. Visual Studio is an integrated development environment (IDE) that provides development productivity tools and debugging capabilities. See the .NET customer showcase for examples of what people are building with .NET.
Why do I need .NET Framework?
You need .NET Framework installed in order to run applications on Windows that were created using .NET Framework. It is already included in many versions of Windows. You only need to download and install .NET Framework if prompted to do so.
How does .NET Framework work?
.NET Framework applications are written in C#, F#, or Visual Basic and compiled to Common Intermediate Language (CIL). The Common Language Runtime (CLR) runs .NET applications on a given machine, converting the CIL to machine code. See for more info.
What are the main components/features of .NET Framework?
The two major components of .NET Framework are the Common Language Runtime (CLR) and the .NET Framework Class Library. The CLR is the execution engine that handles running applications. The Class Library provides a set of APIs and types for common functionality. See for more info.
What is the difference between .NET Core and .NET Framework?
.NET Core and .NET Framework share many of the same components and you can share code across the two. Some key differences include:
- .NET Core is cross-platform and runs on Linux, macOS, and Windows. .NET Framework only runs on Windows.
- .NET Core is open-source and accepts contributions from the community. The .NET Framework source code is available, but does not take direct contributions.
- The majority of .NET innovation happens in .NET Core.
- .NET Framework is included in Windows and automatically updated machine-wide by Windows Update. .NET Core is shipped independently.
See Choosing between .NET Core and .NET Framework for more details.
Can you have multiple .NET Frameworks installed?
Some versions of .NET Framework are installed side-by-side, while others will upgrade an existing version (known as an in-place update). In-place updates occur when two .NET Framework versions share the same CLR version.
For example, installing .NET Framework 4.8 on a machine with .NET Framework 4.7.2 and 3.5 installed will perform an in-place update of the 4.7.2 installation and leave 3.5 installed separately.
.NET Framework version | CLR version |
---|---|
.NET Framework 4.x | 4.0 |
.NET Framework 2.x and 3.x | 2.0 |
.NET Framework 1.1 | 1.1 |
.NET Framework 1.0 | 1.0 |
How much does .NET Framework cost?
.NET Framework is free, like the rest of the .NET platform. There are no fees or licensing costs, including for commercial use. See .NET is free for more details.
Which version of .NET Framework should I use?
In most cases, you should use the latest stable release. Currently, that’s .NET Framework 4.8 .
Applications that were created with any 4.x version of .NET Framework will run on .NET Framework 4.8 . To run an application that was created for an earlier version (for example, .NET Framework 3.5), you should install that version. See Download .NET Framework for a complete list.
What is the support policy for .NET Framework?
.NET Framework 4.8 is the latest version of .NET Framework and will continue to be distributed with future releases of Windows. As long as it is installed on a supported version of Windows, .NET Framework 4.8 will continue to also be supported.
Laravel
Laravel — это бесплатный PHP фреймворк с открытым исходным кодом, созданный Тейлором Отвеллом для разработки веб-приложений по архитектурному шаблону MVC.
Можно сказать, что на появление Laravel повлияли остальные PHP фреймворки.
Он был создан как альтернатива фреймворку Codeigniter (о нем будет рассказано ниже), в котором было недостаточно полезных функций для разработки веб-приложений. В качестве основы Laravel выступают компоненты другого фреймворка — Symfony (о нем также, будет рассказано ниже).
Фреймворк Laravel очень популярен среди западных разработчиков веб-приложений.
С помощью менеджера пакетов Composer, фреймворк Laravel позволяет легко устанавливать и подключать различные компоненты для использования в веб-приложении.
Реализация шаблона ActiveRecord — Eloquent ORM, позволяет установить отношения между объектами базы данных веб-приложения и выстраивать удобные запросы для манипуляции данными.
Механизм автозагрузки классов позволяет не подключать вручную файлы через include и предотвращает загрузку не используемых компонентов.
Удобная система миграций помогает упростить развертывание и обновление веб-приложения.
В Laravel есть встроенная поддержка движка шаблонов Blade, с помощью которого можно делать простые представления веб-приложения используя специальный синтаксис.
При создании приложения можно использовать Artisan — интерфейс командной строки для ввода встроенных команд, а также создания своих собственных.
В Laravel есть много полезных функций, позволяющих сделать процесс разработки веб-приложений быстрым, простым и качественным.
Из подобных функций можно отметить dd() — удобный аналог стандартной функции PHP var_dump(). Функция выводит информацию переменной в более понятной форме, разделяя данные на дерево атрибутов и значений, в возможностью поиска и перехода по ним.
Плюсы
- Достаточно неплохая и понятная документация.
- Вокруг фреймворка создана мощная экосистема. Различные курсы, конференции, обучающие материалы позволяют собрать вокруг фреймворка большое количество разработчиков и спонсоров, которые заинтересованы в развитии инструмента и принимают в этом участие. Да, здесь чувствуется запах маркетинга, и неплохой.
- Одним из самых очевидных плюсов Laravel, является гибкая система маршрутизации, позволяющая составить самые разные проверки маршрута веб-приложения. Вы можете выделить маршруты в специальные группы, использовать пространство имен, указать параметры маршрута, использовать регулярные выражения, настроить поддоменную маршрутизацию и многое другое.
- В Laravel много синтаксического сахара. Синтаксис API фреймворка достаточно простой и понятный. Здесь нет длинных и сложных конструкций, а только краткие и продуманные названия функций.
- Laravel содержит удобный механизм обработки ошибок и исключений.
- Фреймворк включает в себя встроенные механизмы аутентификации и авторизации пользователей, которую можно перенастроить под свои потребности.
- Laravel предоставляет из коробки механизмы для кэширования веб-приложения с помощью Memcached и Redis. Кроме этого есть удобные функции для использования простого файлового кэширования данных.
- Laravel предоставляет чистый и простой API поверх популярной библиотеки SwiftMailer с драйверами для SMTP, Mailgun, SparkPost, Amazon SES и sendmail, чтобы сделать отправку почты через локальную или облачную службу по выбору. В том числе есть механизм для построения очередей отправки почты.
- Laravel Cashier обеспечивает выразительный, свободный интерфейс к сервисам биллинга по подписке Stripe и Braintree.
Минусы
- Для русскоязычных разработчиков, без знания английского языка или его слабым знанием, к минусам фреймворка можно отнести довольно небольшое количество статей, примеров кода, переводов официальной документации. Для тех, кто знает английский на уровне чтения технической документации, данный минус можно опустить.
- Синтаксический сахар в Laravel как плюс, так может быть и минусом. Очень легко привыкнуть к нему и позабыть, как пишутся чистые запросы и функции.
- Нарушение обратная совместимости между версиями фреймворка.
- Не логичное расположение каталогов и файлов. Например, по умолчанию в прямо в каталоге /app расположена модель User.php, которую логичней было бы расположить в каталоге /app/Models. Каталог resources с файлами представления размещен в корне приложения, хотя логичней будет его разместить в /app/resources.
Предназначение .NET Framework
Применяется для разработки приложений, работающих на локальной машине и веб-приложений. На нем могут быть также основаны веб-сервисы. Поддерживает языки программирования, в числе которых: Visual Basic и C#. Предоставляет разработчику выбор языка программирования, который будет использован при создании программы.
Удобство пользователей и разработчиков
С .NET Framework необходимость писать каждую программу «с нуля» отсутствует. Есть готовые фрагменты программного кода. Элементы окон стандартные. Разработчик лишь вставляет текст, формирует меню приложения и определяет, что будет происходит, когда вы нажмете на определенную кнопку.
Не приходится задумываться над особенностями кода, который нужен для поддержки программы операционной системой и для работы с сервисами Майкрософт, к которым относится и магазин приложений Windows Store. Платформа заботится об экономном использовании аппаратных ресурсов компьютера. Поэтому распространенные в начале века ситуации, когда пустяковый на первый взгляд софт загружал оперативную память, стали большой редкостью.
Комфортно и разработчику и вам. Пользователям не приходится каждый раз изучать нестандартный интерфейс софта, рожденного фантазией программиста. Создатели ПО могут сосредоточиться на функционале приложений. Пользователю нужно лишь позаботиться, чтобы на компьютере была установлена среда выполнения .NET Framework.
Универсальная платформа
Microsoft обеспечивает работу основанного на .NET Framework софта во всех поддерживаемых компанией операционных системах.
Степень обратной совместимости ПО высока. Рассмотрю на примере старых версий. Вам нужна программа, основанная на версии 2.0. Запускаете ее на ноутбуке или настольном ПК с поздней версией. И старый софт будет работать.
Основанное на платформе ПО работает на любой Windows с установленным .NET Framework. Встроен механизм безопасности. Осуществляется управлением памятью. Платформа .NET видит те ресурсы, которые не используются работающей программой. Очистит память от ставших ненужными в процессе работы фрагментов.
Для разработчиков предусмотрены инструменты упаковки приложений. Они легко устанавливаются на ПК.
Архитектура .NET Framework
CLI («Common Language Infrastructure») — платформа, на которой выполняются программы. Основные функции CLI:
- Обработка исключений. К ним относятся ошибки, возникающие при работе программы. Приведу примеры:
- Приложение пытается открыть на локальном компьютере файл, который отсутствует
- Приложение обращается к базе данных, а соединение с ней отсутствует
- Чистка мусора, то есть удаление ресурсов, которые больше не нужны. Проверяется, какие ресурсы не используются и производится их освобождение для выполнения других задач. Примеры фрагментов, которые удаляются в процессе работы без вмешательства пользователя:
- Дескриптор файла, который больше не требуется
- В соединении с базой данных больше нет необходимости. Программа завершила все операции с базой данных
- Работа с различными языками программирования
Уровни .NET Framework
Выделяются три уровня:
- Языки программирования. Часто используемые: VB.NET и C#
- Компиляторы. Для каждого языка программирования предусмотрен отдельный компилятор. Для VB.NET — один, для C# — другой
- Интерпретатор «Common Language Interpreter» используется для запуска приложения, написанного на любом языке программирования. Поэтому компилятор отравит программу в него для последующего запуска приложения
Библиотеки
.NET Framework включает в себя набор стандартных библиотек классов: методов и функций. Например, есть библиотека классов для обработки всех операций на уровне файлов. Есть метод чтения текста из файла и есть метод записи текста в файл.
Типы основанных на платформе приложений
ПО, которое может работать на основе .NET Framework:
- WinForms: программы, которые будут работать на компьютере пользователя. Пример клиентского приложения: текстовый редактор «Блокнот»
- ASP.NET применяется для разработки веб-приложений, которые станут работать в любом браузере, в том числе: Chrome, Edge, Firefox. При этом:
- Веб-приложение будет обрабатываться на сервере, на котором установлены информационные службы интернета (IIS)
- IIS — это компонент Microsoft, который применяется для запуска приложения ASP.NET
- Результат выполнения отправляется на компьютер пользователя и отображается в браузере
- Технология ADO.NET применяется для создания приложений, предназначенных для работы с базами данных, такими как Microsoft SQL Server и Oracle
.NET Framework для разработчиков.NET Framework for developers
Разработчики могут создавать приложения на любом языке программирования, поддерживающем платформу .NET Framework.If you’re a developer, choose any programming language that supports .NET Framework to create your apps. Так как платформа .NET Framework обеспечивает независимость и взаимодействие языков, вы можете взаимодействовать с другими приложениями и компонентами платформы .NET Framework независимо от языка, с помощью которого они были разработаны.Because .NET Framework provides language independence and interoperability, you interact with other .NET Framework apps and components regardless of the language with which they were developed.
Перед разработкой приложений или компонентов платформы .NET Framework сделайте следующее:To develop .NET Framework apps or components, do the following:
-
Если платформа не предустановлена в операционной системе, установите версию платформы .NET Framework, на которой будет работать ваше приложение.If it’s not preinstalled on your operating system, install the version of .NET Framework that your app will target. Последняя рабочая версия — .NET Framework 4.8.The most recent production version is .NET Framework 4.8. Она предварительно установлена в обновлениях Windows 10 за май 2019 года и доступна для скачивания в более ранних версиях ОС Windows.It is preinstalled on Windows 10 May 2019 Update, and it’s available for download on earlier versions of the Windows operating system. Требования к системе для .NET Framework см. в разделе Требования к системе.For .NET Framework system requirements, see System Requirements. Сведения об установке других версий .NET Framework см. в руководстве по установке.For information on installing other versions of .NET Framework, see Installation Guide. Дополнительные пакеты .NET Framework выпускаются внештатно. Это значит, что они выпускаются по очереди, нерегулярно.Additional .NET Framework packages are released out of band, which means that they’re released on a rolling basis outside of any regular or scheduled release cycle. Дополнительные сведения об этих пакетах см. в статье .NET Framework и внештатные выпуски.For information about these packages, see .NET Framework and Out-of-Band Releases.
-
Выберите язык или языки, поддерживаемые версией платформы .NET Framework, которую вы хотите использовать для разработки приложений.Select the language or languages supported by the .NET Framework version that you intend to use to develop your apps. Поддерживается целый ряд языков, в том числе Visual Basic, C#, F# и C++/CLI от Майкрософт.A number of languages are available, including Visual Basic, C#, F#, and C++/CLI from Microsoft. (Язык программирования, позволяющий разрабатывать приложения для .NET Framework, соответствует спецификации Common Language Infrastructure (CLI).)(A programming language that allows you to develop apps for .NET Framework adheres to the Common Language Infrastructure (CLI) specification.)
-
Выберите и установите среду разработки, которая будет использоваться для создания приложений и которая поддерживает выбранные язык или языки программирования.Select and install the development environment to use to create your apps and that supports your selected programming language or languages. Интегрированной средой разработки Майкрософт для приложений .NET Framework является Visual Studio.The Microsoft integrated development environment (IDE) for .NET Framework apps is Visual Studio. Доступны разные выпуски.It’s available in a number of editions.
Дополнительные сведения о разработке приложений, предназначенных для .NET Framework, см. в руководстве по разработке.For more information on developing apps that target .NET Framework, see the Development Guide.
.NET Framework для пользователей.NET Framework for users
Если вы не разрабатываете приложения .NET Framework, но используете их, вам не требуется обладать специальными знаниями о платформе .NET Framework или ее работе.If you don’t develop .NET Framework apps, but you use them, you aren’t required to have specific knowledge about .NET Framework or its operation. В большинстве случаев платформа .NET Framework совершенно прозрачна для пользователей.For the most part, the framework is completely transparent to users.
Если используется операционная система Windows, платформа .NET Framework, возможно, уже установлена на компьютере.If you’re using the Windows operating system, .NET Framework may already be installed on your computer. Кроме того, если устанавливается приложение, для работы которого требуется .NET Framework, программа установки приложения может установить нужную версию .NET Framework на компьютер.In addition, if you install an app that requires .NET Framework, the app’s setup program might install a specific version of the framework on your computer. В некоторых случаях отображается диалоговое окно с приглашением установить платформу .NET Framework.In some cases, you may see a dialog box that asks you to install .NET Framework. Если вы попытались запустить приложение и появилось это окно, при наличии подключения к Интернету можно перейти на веб-страницу, откуда можно установить отсутствующую версию .NET Framework.If you’ve just tried to run an app when this dialog box appears and if your computer has internet access, you can go to a webpage that lets you install the missing version of .NET Framework. Дополнительные сведения см. в руководстве по установке.For more information, see the Installation guide.
В общем случае не рекомендуется удалять версии платформы .NET Framework, установленные на компьютере.In general, you shouldn’t uninstall versions of .NET Framework that are installed on your computer. Для этого имеются две причины:There are two reasons for this:
-
Если приложение зависит от конкретной версии платформы .NET Framework, то при удалении этой версии его работа может быть нарушена.If an app that you use depends on a specific version of .NET Framework, that app may break if that version is removed.
-
В некоторых версиях платформы .NET Framework существуют обновления на месте на более ранние версии.Some versions of .NET Framework are in-place updates to earlier versions. Например, .NET Framework 3.5 представляет собой обновление на месте для версии 2.0, а .NET Framework 4.8 — обновление на месте для версий с 4 по 4.7.2.For example, .NET Framework 3.5 is an in-place update to version 2.0, and .NET Framework 4.8 is an in-place update to versions 4 through 4.7.2. Дополнительные сведения см. в разделе Платформа.NET Framework: версии и зависимости.For more information, see .NET Framework Versions and Dependencies.
Если вы решите удалить платформу .NET Framework в версии Windows, предшествующей Windows 8, всегда используйте для удаления средство Программы и компоненты.On Windows versions before Windows 8, if you do choose to remove .NET Framework, always use Programs and Features from Control Panel to uninstall it. Никогда не удаляйте версию платформы .NET Framework вручную.Never remove a version of .NET Framework manually. В ОС Windows 8 и более поздних версий .NET Framework представляет собой компонент операционной системы, который нельзя удалить отдельно.On Windows 8 and above, .NET Framework is an operating system component and cannot be independently uninstalled.
На одном компьютере могут одновременно существовать несколько версий платформы .NET Framework.Multiple versions of .NET Framework can coexist on a single computer at the same time. То есть при установке более поздних версий удалять предыдущие версии не требуется.This means that you don’t have to uninstall previous versions in order to install a later version.
Features of the common language runtime
The common language runtime manages memory, thread execution, code execution, code safety verification, compilation, and other system services. 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.
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. 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. 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. 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. 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.
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.
Руководства
Как мы уже убедились, выбор и использование веб-фреймворка может стать тем ещё испытанием. Однако сам процесс не такой уж и сложный, как могло показаться. Есть достаточное количество документов, библиотек и руководств, призванных помочь изучить фреймворк и ответить на все возникающие вопросы. Существуют сайты, которые предоставляют быстрое введение в любой фреймворк.
Например, Tutorialspoint — кладезь разных руководств, покрывающих структуру каждого фрейморка и предоставляющих информацию по разным деталям. Есть руководства по Java-фреймворкам, PHP-фреймворкам и Zend.
Если ваш выбор пал на Ruby on Rails, можете заглянуть в это подробное руководство, которое описывает все «за» и «против» этого фреймворка и учит всему необходимому, начиная с установки.
Безусловно, это далеко не самый полный список. Интернет полон разных источников, из которых можно черпать новые знания. Вы можете посмотреть пошаговые уроки на YouTube и затем выбрать понравившийся фреймворк.
Если у вас появляются какие-то вопросы, то стоит заглянуть на StackOverflow.
Этим сайтом пользуются разработчики по всему миру. Здесь они делятся своим опытом и помогают другим решать их проблемы. Просто задайте вопрос, и вам предложат несколько возможных решений.
Итак, с фреймворками не так сложно разобраться, как кажется. Не тратьте время на панику — посмотрите пару руководств и попробуйте поработать со своим первым фреймворком.