Фреймворки - IsuiGit/borodaedu GitHub Wiki
Что такое framework (фреймворк)?
Фреймворк - набор различных библиотек (системных, специализированных или коммерческих), объединенных в одну платформу взаимодействия (API), с целью облегчения разработки и проектирования ПО.
Чаще всего под словом framework подразумевается ПО, позволяющее добавлять свои функции, либо проектировать "поверх" себя новое ПО, объединяющее в себе функционал определенной направленности: например фреймворк Django для языка Python позволяет не только разрабатывать на своей основе веб-сервисы, но и администрировать его, контролировать и отслеживать процесс работы, моделировать данные и т.д.
Как устроен фреймворк?
Для того чтобы представить фреймворк мы вообразим жизненную ситуацию - ремонт в квартире. В таком контексте библиотекой будет являться любой инструмент, который позволит ускорить процесс ремонта, тем или иным способом. Возьмем молоток - это наша базовая библиотека, позволяющая реализовывать функцию вбивания гвоздей в поверхность. Представим ситуацию в виде кода на Rust:
use crate::hammer::hammer_a_nail;
В нашей "программе" ремонта теперь доступна функция hummer_a_nail - вбить гвоздь. Это всё круто, но как-будто одного молотка будет недостаточно. Добавим новые инструменты в наш набор: ударный шуруповерт и дрель.
use crate::hammer::hammaer_a_nail;
use crate::screwdriver;
use crate::drill;
Теперь у нас есть набор инструментов, куда можно включить и валик для покраски стен, гвоздодер, пилу, долото (О_о вспомнил же) и так далее. Самое главное - это инструменты предназначенные для конкретной задачи - ремонт (при этом, в задачу "ремонт" может входить множество других подзадач, которые решаются с помощью того же набора инструментов). Поместим эти инструменты в коробку и получим (хлам на балконе) - фреймворк.
Фреймворк - набор инструментов, решающий обширный класс задач конкретной предметной направленности, в которых инструменты синхронизированы в своих исполнениях и объединены общим интерфейсом доступа.
.NET
Описание .NET от Microsoft
.NET — это бесплатная кроссплатформенная платформа разработчика с открытым кодом для создания различных видов приложений. Он может запускать программы, написанные на нескольких языках, с C# самым популярным. Она использует высокопроизводительную среду выполнения, которая используется в рабочей среде многих высокомасштабируемых приложений.
Что же такое .NET?
.NET — это платформа разработки программного обеспечения, созданная Microsoft, которая предоставляет разработчикам инструменты и библиотеки для создания различных типов приложений. Она включает в себя несколько ключевых компонентов:
-
.NET Framework: Это оригинальная версия платформы, предназначенная в первую очередь для разработки приложений под Windows. Она включает в себя обширную библиотеку классов (BCL), которая предоставляет готовые функции для работы с файлами, базами данных, сетями и многим другим.
-
.NET Core: Это кроссплатформенная версия .NET, которая позволяет разработчикам создавать приложения, работающие на Windows, macOS и Linux. .NET Core был разработан с учетом модульности и производительности, что делает его более легким и гибким.
-
.NET 5 и выше: С выходом .NET 5 Microsoft объединила .NET Framework и .NET Core в единую платформу, которая поддерживает создание приложений для всех типов устройств и операционных систем. Это упрощает разработку и поддержку приложений.
-
Языки программирования: .NET поддерживает несколько языков, включая C#, F# и VB.NET. C# является наиболее популярным языком на платформе и используется для создания большинства приложений.
-
CLR (Common Language Runtime): Это виртуальная машина, которая управляет выполнением приложений .NET. CLR отвечает за управление памятью, обработку исключений и выполнение кода, что позволяет разработчикам сосредоточиться на логике приложения, а не на низкоуровневых аспектах.
-
Библиотеки и API: .NET предоставляет обширные библиотеки и API, которые упрощают разработку. Например, ASP.NET используется для создания веб-приложений, а Entity Framework — для работы с базами данных.
-
Инструменты разработки: Microsoft предоставляет мощные инструменты, такие как Visual Studio и Visual Studio Code, которые облегчают процесс разработки, отладки и развертывания приложений.
-
Кроссплатформенность и контейнеризация: С помощью .NET разработчики могут создавать приложения, которые легко развертываются в контейнерах (например, с использованием Docker), что упрощает управление зависимостями и развертывание в облачных средах.
Иными словами
.NET - это набор библиотек для взаимодействия с компонентами ОС, предоставляющая единый интерфейс, паттерны написания кода, запуска и отладки программ, с целью ускорения разработки и выпуска приложений: от веб-приложений до прикладного ПО.
Если бы не .NET, пользователям пришлось бы устанавливать среду исполнения для программ на каждом языке. То есть чтобы запустить приложение на Visual Basic, нужно скачать среду выполнения для Visual Basic. Если же программа написана на C#, то придётся скачивать среду и для неё.
Summary
- Фреймворк - набор библиотек, предоставляющий единый интерфейс взаимодействия и разработки, с целью увеличения скорости разработки и срока поддержания ПО
- .NET - фреймворк от Microsoft, позволяющий создавать код на любом из включенных в фреймворк языков, и разрабатывать ПО вне зависимости от платформы и среды выполнения
[sitemap]] ](/IsuiGit/borodaedu/wiki/[[C)++