Что такое .NET?
Если кто-то использует термин .NET, то, что они означают, значительно зависит от контекста. В этом уроке вы узнаете о .NET, рассматривая его как экосистему. Другими словами, .NET — это коллекция многих частей и людей, которые вместе создают мощную среду для создания приложений.
.NET — это экосистема для разработки приложений
Термин экосистемы описывает несколько аспектов среды разработки приложений и сообщества, окружающего его. Эти аспекты объединяются для создания убедительных причин для инвестиций в обучение .NET и создание приложений .NET.
Использование языков и компиляторов .NET для запуска приложений в среде выполнения .NET
Разработчики программного обеспечения используют языки .NET, такие как C# и F#, для написания исходного кода. Каждая строка кода, которую они пишут, представляет собой инструкцию или команду для компьютера, исполняемую во время выполнения программы.
Прежде чем разработчики программного обеспечения смогут запустить свой код, они должны сначала скомпилировать его. компилятор .NET — это программа, которая преобразует исходный код (на любом поддерживаемом языке программирования) в переносимый язык, называемый промежуточным языком (IL). Компилятор .NET сохраняет код IL в файл, называемый сборкой .NET с именем . Скомпилируя код в промежуточный формат, можно использовать ту же базу кода, где бы вы ни выполняли код, будь то в Windows или Linux, либо на 32-разрядном или 64-разрядном оборудовании компьютера.
Среда выполнения .NET — это среда для выполнения вашей скомпилированной сборки .NET. Иными словами, среда выполнения .NET — это то, что выполняется и управляет приложением при запуске в операционной системе узла. Мы поговорим больше о том, что выполняет среда выполнения .NET всего за один момент.
К счастью, как разработчик программного обеспечения только начинает работу с .NET, вам не нужно получить подробные сведения о том, как работают эти механизмы. Благодаря опыту вы сможете лучше понять и оценить базовые возможности языков и компиляторов .NET и среды выполнения.
Совет
Иногда люди считают, что язык программирования C# это .NET. Однако C# и .NET отличаются. C# — это синтаксис языка программирования. В рамках синтаксиса можно ссылаться и вызывать методы, определенные в сборках или библиотеках кода .NET. Затем вы будете использовать компилятор C#, установленный с пакетом SDK для .NET, чтобы создать сборку .NET из кода C#. Затем среда выполнения .NET запускает сборки .NET. Эти различия являются важными понятиями, поскольку вы узнаете больше о .NET и C#.
Использование платформ приложений и библиотек .NET для использования предварительно созданных функций
Все программное обеспечение построено на уровнях, то есть программное обеспечение выполняется на различных уровнях абстракции на компьютере:
- На самом низком уровне программное обеспечение напрямую взаимодействует с оборудованием компьютера. Он управляет потоком данных на материнской плате, процессорах, памяти и жестких дисках.
- На следующем уровне программное обеспечение позволяет пользователю предоставлять инструкции через операционную систему.
- На следующем уровне программное обеспечение, например .NET, предоставляет способ разработки и запуска приложений.
- На следующем уровне платформы приложений и библиотеки функциональных возможностей позволяют быстро создавать богатые приложения с меньшими усилиями, чем старые методы разработки.
Библиотека кода инкапсулирует функциональные возможности для определенной цели в одну сборку. Для .NET доступны тысячи библиотек. Эти библиотеки могут быть своим проектом или сторонними и могут быть коммерческими или с открытым исходным кодом. Библиотеки предоставляют широкий набор функциональных возможностей, которые можно использовать в приложениях. Вы просто ссылаетесь на эти сборки и вызываете необходимые методы. Таким образом, как разработчик, вы опираетесь на работу других разработчиков программного обеспечения. Вы экономите время и энергию, потому что вам не нужно создавать и поддерживать каждую функцию самостоятельно.
Платформа приложений объединяет несколько связанных библиотек, а также начальные проекты, шаблоны файлов, генераторы кода и другие средства. Эти ресурсы можно использовать для создания целых приложений для определенной цели. Эти платформы приложений называются моделями приложений. Например, платформы приложений .NET доступны для популярных моделей приложений, таких как разработка веб-приложений, разработка классических и мобильных приложений, а также разработка игр.
Пакет SDK для .NET можно установить напрямую или установить Visual Studio 2022. Пакет SDK для .NET предварительно устанавливает полный набор библиотек и платформ приложений, называемый библиотекой базовых классов . Эту библиотеку кода можно использовать в программах независимо от моделей платформы или приложений, которые вы хотите создать.
Для других сторонних библиотек разработчики используют диспетчеры пакетов, такие как NuGet, для поиска и интеграции библиотек кода из репозиториев пакетов, таких как коллекция NuGet.
Каковы основные модели приложений?
Вы можете задаться вопросом, какие платформы поддерживают модели приложений. Используйте следующую таблицу, чтобы сопоставить модель приложения с платформой .NET.
Модель приложения | Каркас | Примечания |
---|---|---|
Паутина | ASP.NET Core | Платформа для создания логики на стороне сервера. |
Паутина | ASP.NET Core MVC | Платформа для создания серверной логики для веб-страниц или веб-API. |
Паутина | ASP.NET Core Razor Pages | Платформа для создания html-кода, созданного сервером. |
Веб-клиент | Blazor | Blazor является частью ASP.NET Core. Его два режима позволяют манипулировать объектной моделью документа (DOM) с помощью сокетов в качестве средства связи для выполнения кода на стороне сервера или реализации WebAssembly для запуска скомпилированного C# в браузере. |
Рабочий стол | .NET для Mac | Позволяет разработчикам .NET создавать приложения для устройств Mac с собственным пользовательским интерфейсом и доступом к API. |
Рабочий стол | WinForms | Платформа для создания приложений в стиле Windows, «линкорно-серый». |
Рабочий стол | Windows Presentation Foundation (WPF) | Фреймворк для создания динамических настольных приложений, соответствующих различным форм-факторам. WPF позволяет элементам формы выполнять перемещение, исчезновение, скольжение и другие эффекты с помощью богатой библиотеки анимаций. |
Мобильный | .NET для Android | Позволяет разработчикам .NET создавать приложения для устройств Android с собственным пользовательским интерфейсом и доступом к API. |
Мобильный | .NET для iOS | Позволяет разработчикам .NET создавать приложения для iOS и iPadOS с собственным пользовательским интерфейсом и доступом к API. |
Пользовательский интерфейс многоплатформенного приложения | .NET MAUI | Первый способ создания приложений для iOS, Android, Mac и Windows из одной общей базы кода с собственным пользовательским интерфейсом и доступом к собственным API. |
.NET также поддерживает популярные сторонние и открытые игровые среды разработки и подсистемы, такие как Unity.
Использование средств .NET для создания приложений .NET
Разработчики программного обеспечения используют средства для написания кода, добавления ссылок на библиотеки кода, компиляции кода и отладки кода. В этом разделе описано несколько инструментов .NET, которые будут использоваться для создания приложений .NET.
Visual Studio 2022 — это флагманская среда разработки Майкрософт. Миллионы разработчиков используют его для создания приложений .NET. Графический пользовательский интерфейс (в том числе меню, окна, визуальные конструкторы, диалоговые окна и мастера) позволяет разработчикам выполнять процесс разработки приложений. Visual Studio 2022 доступен в трех выпусках: Community, Professional и Enterprise. Каждый выпуск включает различные инструменты и лицензируется для разных целей.
Visual Studio Code — это флагманский редактор кода Майкрософт, который поддерживает несколько языков программирования и поддерживается в Windows, Mac и Linux. расширение комплекта средств разработки C# обеспечивает улучшенную разработку C# в Visual Studio Code и улучшает возможности работы с проектами .NET с поддержкой обозревателя решений, системы проектов, улучшений и обозревателя тестирования, разработки с поддержкой ИИ и мощных языковых служб для лучших функций языка C#, таких как навигация по коду, рефакторинг, семантическое понимание и многое другое.
Разработчики, которые предпочитают рабочий процесс командной строки, могут использовать сочетание Visual Studio Code, самый популярный редактор кода в мире и интерфейс командной строки .NET, также известный как .NET CLI.
Кроме того, вы можете выбрать из множества внутренних и сторонних инструментов для многих сложных случаев использования .NET. Варианты включают профилировщики кода, модули выполнения модульных тестов и анализаторы покрытия кода.
Другие средства .NET можно найти для других сценариев. Например, далее в этом модуле вы будете работать с Try .NET. Этот интерфейс на основе браузера используется для написания простых приложений, которые помогут вам узнать язык программирования C#.
Поиск решений и ответов в документации и руководствах
Корпорация Майкрософт активно предоставляет широкий набор документации, учебников и обучения. Вы найдете учебные материалы в популярных форматах, которые помогут вам на каждом шаге процесса обучения.
В следующей таблице представлены несколько отличных ресурсов, которые вы, возможно, захотите добавить в закладки и к которым вы можете вернуться позже.
Ресурс | Цель |
---|---|
Microsoft Learn | Содержит краткие руководства и авторитетную справочную документацию. |
Шаблоны и практики | Помогает разработчикам и архитекторам программного обеспечения находить решения для распространенных потребностей разработки приложений. Ресурсы часто выходят за рамки низкоуровневых сведений о написании кода и углубляются в выбор продуктов и служб, которые позволяют казалось бы бесконечно масштабируемые архитектуры. |
видео о .NET | Предоставляет видеоуроки от команды .NET. Эти видео помогают разработчикам разобраться в распространенных сценариях использования. |
Начало работы с языком программирования C# | Предоставляет практические лаборатории, которые помогут вам создать свои навыки, сочетая инструкции, упражнения, средства массовой информации, проверки знаний и средства отслеживания вашего прогресса. |
Взаимодействие с сообществом .NET для изучения и совместного использования решений
Экосистема .NET выходит за рамки языков, библиотек и инструментов для людей. Вы можете учиться у сообщества и вносить в него свой вклад.
- Learn: участники сообщества .NET размещают трансляции онлайн-мероприятий и встречи с пользователями. Они создают программное обеспечение с открытым исходным кодом, участвуют в форумах Q&A и записывают видеоуроки. Они пишут книги и посты в блоге, которые помогают вам учиться и находить выход из тупика, если вы не знаете, что делать дальше.
- Участие: .NET с открытым исходным кодом на платформе GitHub. Проекты в этом репозитории управляются .NET Foundation. Эта независимая организация посвящена росту доверенной, коммерческой экосистемы с открытым исходным кодом вокруг платформы разработки .NET. В этом репозитории вы можете поделиться уникальной перспективой и голосом, чтобы помочь другим учиться.
Как экосистема .NET сравнивается с другими?
Если вы знакомы с миром разработки программного обеспечения, вы можете задаться вопросом, как экосистема .NET сравнивается с другими. Честно говоря, другие экосистемы могут предъявлять аналогичные претензии к некоторым или многим заявлениям, сделанным до сих пор в этом уроке.
Однако одной из самых отличительных особенностей .NET является то, что ее продолжающаяся разработка и поддержка приходит не только от крупного лидера технологий, но и сообщества. Значительные части .NET были разработаны с помощью средств с открытым кодом. Участие и вклад сообщества приветствуются и поощряются. На самом деле 87 процентов участников находятся за пределами Корпорации Майкрософт. Основываясь на входе сообщества, корпорация Майкрософт активно перемещает платформу вперед с улучшениями функций, исправлениями ошибок и улучшениями производительности. Более 100 000 запросов на вытягивание было принято от сообщества.
Кроме того, экосистема .NET имеет импульс:
- Разработчики .NET более 5 миллионов!
- Результаты опросов Stack Overflow последовательно показывают, что .NET Core & .NET являются самой любимой платформой.
- Студенты любят .NET; 40 процентов разработчиков, которые являются новыми для .NET, являются студентами.
- Репозитории GitHub для .NET и ASP.NET ранжируются среди первых 30 проектов программного обеспечения с открытым исходным кодом (OSS).
- GitHub включает C# в пятерку лучших языков программирования, и этот язык набирает популярность согласно индексу сообщества программирования TIOBE 2020 года.
- .NET имеет самый быстрый веб-фреймворк на планете согласно тестам TechEmpower , независимому набору открытых тестов производительности, которые измеряют десятки языков программирования и платформ приложений.
Краткая история .NET
Исходный .NET Framework был впервые выпущен в начале 2002 года. С тех пор многие обновления и гораздо больше функций последовали. После многих лет усовершенствований и новых функций исходный .NET Framework, особенно ключевые библиотеки кода, значительно вырос.
После 2002 года корпорация Майкрософт работала над версией .NET, которая была совместима с различными платформами. Цель заключалась в том, чтобы разработчики могли писать одну базу кода и использовать ее в операционных системах macOS, Linux и Windows.
Благодаря этим усилиям .NET Core был представлен примерно в 2014 году. Корпорация Майкрософт поддерживала исходную платформу .NET Framework, но новые функции и улучшения зарезервированы для .NET Core. Core позже был удален из имени. Следующие основные версии: .NET 5, .NET 6, .NET 7, .NET 8 и т. д. Версии обычно выпускаются каждый ноябрь.
Почему история .NET стоит упомянуть? Так как вы, скорее всего, найдете записи блога, видео и исходный код, предназначенные для исходной платформы .NET Framework. В некоторых случаях инструкции или код по-прежнему работают, но в других случаях может потребоваться внести корректировки в соответствии с новым .NET.