Начинающим программистам: что такое фреймворки и библиотеки
Содержание:
- .NET Framework for users
- Установка языковых пакетов
- Сравнение чистого кода, фреймворка и CMS
- .NET, .NET Framework, and .NET Core
- .NET Framework for developers
- Случаи использования .NET Core/5+
- Как научиться пользоваться веб-фреймворками
- Связанные разделы
- What is .NET Framework?
- Remarks for older versions
- Python-фреймворки
- Фреймворки
- Next steps
- Как установить Microsoft NET Framework
.NET Framework for users
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. For the most part, the framework is completely transparent to users.
If you’re using the Windows operating system, .NET Framework may already be installed on your computer. 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. In some cases, you may see a dialog box that asks you to install .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.
In general, you shouldn’t uninstall versions of .NET Framework that are installed on your computer. There are two reasons for this:
-
If an app that you use depends on a specific version of .NET Framework, that app may break if that version is removed.
-
Some versions of .NET Framework are in-place updates to earlier versions. 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. For more information, see .NET Framework Versions and Dependencies.
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. Never remove a version of .NET Framework manually. On Windows 8 and above, .NET Framework is an operating system component and cannot be independently uninstalled.
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.
Установка языковых пакетов
Языковые пакеты — это исполняемые файлы, содержащие локализованные ресурсы (например, переведенные тексты сообщений об ошибках и пользовательского интерфейса) для поддерживаемых языков. Если языковой пакет не установлен, сообщения об ошибках платформы .NET Framework и другой текст отображаются на английском
Обратите внимание, что веб-установщик автоматически устанавливает языковой пакет, который соответствует операционной системе, но можно загрузить на компьютер дополнительные языковые пакеты. Автономные установщики не содержат языковых пакетов
Важно!
Языковые пакеты не содержат компоненты платформы .NET Framework, необходимые для запуска приложения, поэтому перед установкой языкового пакета необходимо запустить веб-установщик или автономный установщик. Если вы уже установили языковой пакет, удалите его, установите .NET Framework и переустановите языковой пакет.
-
Откройте страницу загрузки языковых пакетов для установленной версии платформы .NET Framework:
- .NET Framework 4.8
- .NET Framework 4.7.2
- .NET Framework 4.7.1
- .NET Framework 4.7
- .NET Framework 4.6.2
- .NET Framework 4.6.1
- .NET Framework 4.6
- .NET Framework 4.5.2
- .NET Framework 4.5.1
- .NET Framework 4.5
-
Выберите требуемый язык в списке и подождите несколько секунд, чтобы страница перезагрузилась на этом языке.
-
Выберите Загрузить.
В приведенной ниже таблице перечислены поддерживаемые языки.
Язык | culture |
---|---|
Арабский | ar |
Чешский | cs |
Датский | da |
Голландский | nl |
Финский | fi |
Английский (США) | en-US |
Французский | fr |
Немецкий | de |
Греческий | el |
Иврит | he |
Венгерский | hu |
Итальянский | it |
Японский | ja |
Корейский | ko |
Норвежский | нет |
Польский | pl |
Португальский (Бразилия) | pt-BR |
Португальский (Португалия) | pt-PT |
Русский | ru |
Китайский, упрощенное письмо | zh-CHS |
Испанский | es |
Шведский | sv |
Китайский (традиционный) | zh-CHT |
Турецкий | tr |
Сравнение чистого кода, фреймворка и CMS
Перед созданием сайта программисту нужно решить, по какому из трех возможных путей разработки сайта он хочет пойти.
Первый вариант – это написание исходного кода с нуля. Такой путь удобен, так как дает свободу действий и практически неограниченный функционал, который можно реализовать. Среди минусов необходимо выделить трудоемкость и растянутость во времени, а также необходимость тщательно тестировать готовый продукт на предмет ошибок и недоработок.
Второй вариант – это использование фреймворков. Безусловно, этот вариант имеет ряд ограничений, если сравнивать его с предыдущим путем: у вас уже будет готовая основа, которую необходимо будет заполнить нужными компонентами. Естественно, даже такой вариант не подойдет тем, кто мало знаком с программированием, и именно поэтому на свет появился третий способ создания сайта.
Третий вариант – установка готовой CMS. Этот путь популярен у людей, далеких от веб-разработки, так как он позволяет легко и быстро создать свой собственный сайт, при этом все необходимые действия можно выполнять из административной панели. Но в то же время этот подход является самым несвободным по сравнению с предыдущими двумя и обладает массой ограничений.
Таким образом, фреймворк – это некий компромисс между написанием собственного кода и использованием готовой системы управления контентом. Фреймворк обеспечивает проект уже готовым каркасом, при этом не лишает его функциональной гибкости.
Необходимые для веб-разработки фреймворки чаще всего делят по принципу языка, к которому они относятся. В данной и следующей статьях я последовательно рассмотрю, какие фреймворки существуют, и в чем заключаются их особенности.
.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 for developers
If you’re a developer, choose any programming language that supports .NET Framework to create your apps. 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.
To develop .NET Framework apps or components, do the following:
-
If it’s not preinstalled on your operating system, install the version of .NET Framework that your app will target. The current version is .NET Framework 4.8. It is preinstalled on Windows 10 May 2019 Update, Windows 10 November 2019 Update, Windows 10 May 2020 Update, and Windows 10 October 2020 Update, and it’s available for download on earlier versions of the Windows operating system. For .NET Framework system requirements, see System Requirements. For information on installing other versions of .NET Framework, see Installation Guide. 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. For information about these packages, see .NET Framework and Out-of-Band Releases.
-
Select the language or languages supported by the .NET Framework version that you intend to use to develop your apps. A number of languages are available, including Visual Basic, C#, F#, and C++/CLI from Microsoft. (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. The Microsoft integrated development environment (IDE) for .NET Framework apps is Visual Studio. It’s available in a number of editions.
For more information on developing apps that target .NET Framework, see the Development Guide.
Случаи использования .NET Core/5+
В следующих разделах более детально описаны указанные ранее причины для выбора платформы .NET Core/5+.
Создание кроссплатформенных приложений
Если вам нужно создать приложение (веб-приложение или службу) с поддержкой разных платформ (Windows, Linux и macOS), рекомендуется использовать .NET Core/5+.
В среде .NET Core/5+ также можно использовать упомянутые ранее операционные системы в качестве рабочих станций для разработки. Visual Studio предоставляет интегрированную среду разработки (IDE) для Windows и macOS. Можно также использовать редактор Visual Studio Code, который выполняется на платформах macOS, Linux и Windows. Visual Studio Code поддерживает .NET Core/5+, включая технологию IntelliSense и отладку. С .NET Core/5+ работает большинство сторонних редакторов, например Sublime, Emacs и VI. Эти сторонние редакторы получают доступ к функциям в редакторе IntelliSense с помощью Omnisharp. Вы также можете использовать вместо редакторов кода непосредственно .NET CLI, доступный для всех поддерживаемых платформ.
Архитектура микрослужб
Архитектура микрослужб позволяет использовать сочетание технологий за пределами службы. Такое сочетание технологий позволяет постепенно добавлять новые микросолужбы в .NET Core/5+ для параллельного использования с другими микрослужбами и службами. Например, можно комбинировать микрослужбы или службы, созданные на основе .NET Framework, Java, Ruby или других монолитные технологий.
Пользователям на выбор предоставляется множество инфраструктурных платформ. Для больших и сложных систем микрослужб можно использовать Azure Service Fabric. Служба приложений Azure лучше всего подойдет для микрослужб без сохранения состояния. Альтернативы микрослужб на основе Docker поддерживают любые подходы, как описано в разделе . Все эти платформы поддерживают .NET Core/5+ и идеально подходят для размещения микрослужб.
Дополнительные сведения об архитектуре микрослужб см. в статье Микрослужбы .NET: архитектура контейнерных приложений .NET.
Контейнеры
Контейнеры обычно используются вместе с архитектурой микрослужб. Их также можно использовать, чтобы поместить в контейнер веб-приложения или службы на базе любого архитектурного шаблона. Среду .NET Framework можно использовать для контейнеров Windows, но упрощенные возможности и модульный принцип среды .NET Core/5+ делают ее оптимальной для контейнеров. При создании и развертывании контейнера размер его образа гораздо меньше в среде .NET Core/5+. Так как эта среда поддерживает разные платформы, серверные приложения можно развертывать, например, в контейнеры Docker в Linux.
Затем эти контейнеры можно размещать в собственной инфраструктуре Linux или Windows или в облачной службе,такой как Служба Azure Kubernetes. Служба Azure Kubernetes может выполнять оркестрацию и масштабировать приложения на основе контейнеров, а также управлять ими в облаке.
Масштабируемые системы с высокой производительностью
Если для вашей системы требуется максимальная производительность и возможности масштабирования, мы рекомендуем использовать среды .NET Core/5+ и ASP.NET Core. Высокопроизводительная серверная среда выполнения для Windows Server и Linux делает ASP.NET Core самой эффективной веб-платформой в .
Производительность и масштабируемость особенно важны для архитектур микрослужб, где могут выполняться сотни микрослужб. Среда ASP.NET Core позволяет уменьшить количество серверов и виртуальных машин, необходимых для системы. В конечном счете это способствует сокращению расходов на архитектуру и размещение.
Создание приложений с поддержкой разных версий .NET
Если требуется установить приложения с зависимостями в разных версиях платформ .NET, рекомендуется использовать среду .NET Core/5+. Такая реализация .NET поддерживает параллельную установку разных версий среды выполнения .NET Core/5+ на том же компьютере. За счет простой параллельной установки на одном сервере можно размещать несколько служб, каждая из которых устанавливается в собственной версии .NET Core/5+. Это позволяет устранить риски и сократить расходы на обновление приложений и ИТ-операции.
Параллельная установка невозможна при использовании .NET Framework. Это компонент Windows, и на компьютере может существовать только одна версия этого компонента. Каждая версия .NET Framework заменяет предыдущую версию. При установке нового приложения, предназначенного для более поздней версии .NET Framework, может быть нарушена работа существующих приложений, запущенных на компьютере, поскольку предыдущая версия была заменена.
Как научиться пользоваться веб-фреймворками
Научиться пользоваться фреймворками можно самостоятельно. Чтобы найти руководство по веб-фреймворкам, изучите их документацию. Главный плюс официальных источников — актуальность. В таких обучающих материалах используются возможности последних версий фреймворков.
Если в документации нет простых гайдов, можно поискать их на других площадках. Например, на freeCodeCamp есть бесплатный курс по React, а на сайте Tutorialspoint — туториалы по разным языкам и технологиям.
Неплохой источник информации — YouTube. На видеохостинге выкладывают обзоры и пошаговые руководства. Просмотр таких роликов поможет выбрать подходящий фреймворк, если вы пока сомневаетесь. Не забывайте и про StackOverflow. Но туда нужно приходить уже с конкретными вопросами, которые возникли при изучении или использовании фреймворка.
По материалам поста Web Frameworks: How To Get Started
Связанные разделы
Начало работы. Здесь содержится комплексный обзор платформы .NET Framework и ссылки на дополнительные ресурсы.
Новые возможности. Здесь приводится описание ключевых новых возможностей и изменений в последней версии .NET Framework. Сюда включены списки новых и устаревших типов и членов; также здесь приводится руководство по переносу приложений из предыдущей версии .NET Framework.
Инструменты. Инструменты, описанные в этом разделе, помогут в разработке, настройке и развертывании приложений с помощью технологий .NET Framework.
Примеры и руководства .NET. Предоставляет ссылки на примеры и руководства для изучения .NET.
What is .NET Framework?
.NET Framework is a managed execution environment for Windows that provides a variety of services to its running apps. It consists of two major components: the common language runtime (CLR), which is the execution engine that handles running apps, and the .NET Framework Class Library, which provides a library of tested, reusable code that developers can call from their own apps. The services that .NET Framework provides to running apps include the following:
-
Memory management. In many programming languages, programmers are responsible for allocating and releasing memory and for handling object lifetimes. In .NET Framework apps, the CLR provides these services on behalf of the app.
-
A common type system. In traditional programming languages, basic types are defined by the compiler, which complicates cross-language interoperability. In .NET Framework, basic types are defined by the .NET Framework type system and are common to all languages that target .NET Framework.
-
An extensive class library. Instead of having to write vast amounts of code to handle common low-level programming operations, programmers use a readily accessible library of types and their members from the .NET Framework Class Library.
-
Development frameworks and technologies. .NET Framework includes libraries for specific areas of app development, such as ASP.NET for web apps, ADO.NET for data access, Windows Communication Foundation for service-oriented apps, and Windows Presentation Foundation for Windows desktop apps.
-
Language interoperability. Language compilers that target .NET Framework emit an intermediate code named Common Intermediate Language (CIL), which, in turn, is compiled at runtime by the common language runtime. With this feature, routines written in one language are accessible to other languages, and programmers focus on creating apps in their preferred languages.
-
Version compatibility. With rare exceptions, apps that are developed by using a particular version of .NET Framework run without modification on a later version.
-
Side-by-side execution. .NET Framework helps resolve version conflicts by allowing multiple versions of the common language runtime to exist on the same computer. This means that multiple versions of apps can coexist and that an app can run on the version of .NET Framework with which it was built. Side-by-side execution applies to the .NET Framework version groups 1.0/1.1, 2.0/3.0/3.5, and 4/4.5.x/4.6.x/4.7.x/4.8.
-
Multitargeting. By targeting .NET Standard, developers create class libraries that work on multiple .NET Framework platforms supported by that version of the standard. For example, libraries that target .NET Standard 2.0 can be used by apps that target .NET Framework 4.6.1, .NET Core 2.0, and UWP 10.0.16299.
Remarks for older versions
.NET Framework versions 2.0, 3.0, and 3.5 are built with the same version of the CLR (CLR 2.0). These versions represent successive layers of a single installation. Each version is built incrementally on top of the earlier versions. It’s not possible to run versions 2.0, 3.0, and 3.5 side by side on a computer. When you install version 3.5, you get the 2.0 and 3.0 layers automatically, and apps that were built for versions 2.0, 3.0, and 3.5 can all run on version 3.5. However, .NET Framework 4 ends this layering approach, and it and later releases (.NET Framework 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, and 4.8) also represent successive layers of a single installation. Starting with .NET Framework 4, you can use in-process, side by side hosting to run multiple versions of the CLR in a single process. For more information, see Assemblies and Side-by-Side Execution.
In addition, if your app targets version 2.0, 3.0, or 3.5, your users may be required to enable .NET Framework 3.5 on a Windows 8, Windows 8.1, or Windows 10 computer before they can run your app. For more information, see Install the .NET Framework 3.5 on Windows 10, Windows 8.1, and Windows 8.
Python-фреймворки
Django – это один из самых известных фреймворков в целом и, безусловно, самый популярный фреймворк на языке Python. Удивительно, но для того, чтобы начать использовать Django, вам даже не нужны глубокое знание языка Python. Отличительной особенностью Django является его принцип DRY, который расшифровывается как “Don’t repeat yourself”. Мысль, выраженная в этой фразе, ведет к тому, что разработчикам не следует повторять те строки кода, которые они уже использовали, и благодаря этому исходный код выглядит более лаконично и понятно. К преимуществам фреймворка можно также отнести стандартную структуру (благодаря которой даже сторонний программист сможет разобраться в коде) и наследование шаблонов. Многие знакомы с Django в качестве системы администрирования, однако эта CMS подойдет только опытным пользователям, знакомым с программированием.
Flask – данный фреймворк также называют расширяемым микрофрейморком. Это связано с тем, что изначально в Flask заложен лишь самый необходимый функционал, который затем можно расширять до уровня, который необходим проекту. Обилие расширений решит практически любую задачу, которую вы перед собой поставите. Поэтому свое ознакомление с Python-фреймворками многие советуют начать именно с Flask.
TurboGears – известный Python-фреймворк с более чем 10-летней историей. Он предназначен для разработки веб-проектов и состоит из различных WSGI-компонентов, в том числе Pylons и CherryPy. Благодаря этому можно говорить о TurboGears как о мощном фреймворке с богатым функционалом. Он поддерживает множество баз данных и форматов обмена данными, также поддерживает различные JavaScript-библиотеки и горизонтальное масштабирование данных.
Tornado – этот фреймворк выделяется на фоне остальных своей главной особенностью, а именно способностью решить проблему 10 тысяч соединений. Неблокирующая природа сервера, использующего Torando, позволяет ему легко выдерживать тысячи недлительных подключений, которые произведены в одно время.
Web2spy – этот фреймворк, как и некоторые другие, основывается на концепции RAD (rapid application development)
Иными словами, при его разработке особое внимание было уделено оптимизации процесса создания проекта, чтобы программист мог как можно быстрее создать хороший продукт. Фреймворк имеет открытый исходный код и помогает создавать динамические сайты при помощи языка Python
Это полнофункциональный фреймворк, который содержит компоненты для всех основных функций.
Во второй части будут рассмотрены фреймворки следующих языков программирования: Ruby, Java, JavaScript.
Фреймворки
Представьте: вам нужно построить дом. Можно выбрать готовый типовой проект и немного поиграть с планировкой, пока архитектор не против и вы не трогаете капитальные стены. А можно нарисовать план самому и получить именно тот дом, который хотите — даже если вы хотите цилиндрический дом со входом на втором этаже.
Разница в том, что в типовом проекте уже всё продумано: оптимальное расположение коммуникаций, теплоизоляция стен, способы заливки фундамента, и еще миллион вещей, которые со стороны не видны. Вы получаете тёплый и уютный дом, но в рамках готового проекта.
Так же работает фреймворк. Вы используете готовый шаблон и наполняете его своим кодом. Вы теряете в гибкости, зато программа работает стабильно: всё основное фреймворк берёт на себя. Под капотом фреймворка миллион нюансов: например, работа с файловой системой и базами данных, обработка ошибок, защита паролем.
Без фреймворка вам нужно будет обо всём думать самостоятельно. Это даёт больше свободы, но и больше ответственности. Если криво реализована авторизация в базу данных, через эту кривизну код смогут взломать. Если не написали обработку ошибок, программа может не работать. На языке строительства это эквивалент дома без канализации или когда в стенах не предусмотрели дырки под розетки.
Примеры фреймворков:
- Bootstrap — создание сайтов с адаптивной вёрсткой. Можно рисовать красивые кнопки, верстать текст во много колонок, включать-выключать блоки в зависимости от ширины экрана, делать выпадающие меню и многое другое
- Vue.js — обеспечивает единообразие компонентов и модульный подход к разработке. Можно создавать собственные строительные блоки для страницы, делать шаблоны
- Angular.JS — JavaScript фреймворк от Google для динамических веб-приложений, похож на Vue
- django — фреймворк для Python, нацеленный на скорость: готовые компоненты для баз данных, рисования страниц, админок, окон входа на сайт, шаблонов и множества других вещей
- Ruby on Rails — тоже сильно ускоряет разработку сайтов
Вывод: фреймворк даёт стабильность и удобство разработки, но ограничивает программиста своей архитектурой.
Next steps
-
If you’re new to the .NET Framework, see the overview for an introduction to key concepts and components.
-
For new features and improvements in the .NET Framework 4.5 and all later versions, see What’s New.
-
For detailed information about deploying the .NET Framework with your app, see Deployment Guide for Developers.
-
For changes that affect the deployment of the .NET Framework with your app, see Reducing System Restarts During .NET Framework 4.5 Installations.
-
For information about migrating your app from the .NET Framework 4 to .NET Framework 4.5 or later versions, see the migration guide.
-
See .NET Framework Reference Source to browse through .NET Framework source code online. The reference source is also available on GitHub. You can download the reference source for offline viewing and step through the sources (including patches and updates) during debugging. For more information, see the blog entry A new look for .NET Reference Source.
Как установить Microsoft NET Framework
На большинстве компьютеров на Windows уже установлен Microsoft NET Framework, но его версия может быть устаревшей. Например, с Windows 8 и 8.1 поставляется версия 4.5.1, а с Windows 10 — версия 4.6, 4.6.1 или 4.6.2.
На момент написания статьи самая свежая версия — Microsoft NET Framework 4,7. Именно её мы и будем устанавливать:
Центр обновления WindowsWindows
Перед установкой — Microsoft Net Framework можно установить на Windows 10, Windows 8.1 и Windows 7 SP1 как на 32-битные, так и на 64-битные системы. Чтобы установка прошла без ошибок, Microsoft рекомендует иметь на жестком диске минимум 2.5 ГБ свободного пространства.
Оба установщика содержат одинаковые версии NET Framework, но мы предпочитаем использовать автономный установщик. Он надёжнее, и всегда будет под рукой, если потребуется переустановить NET Framework. После скачивания процесс установки не должен вызвать затруднений — просто следуйте инструкциям, появляющимся на экране. И тогда вы быстрее поймете, зачем нужен NET Framework 4.
.NET Framework 4.7 Веб-установщик
.NET Framework 4.7 Автономный установщик
версия 4.744.54.5.14.5.24.64.6.14.6.2NET Framework 3.5 SP1
По умолчанию NET Framework инсталлирует английскую версию независимо от того, какой вы используете установщик. Для локализации нужно скачать соответствующий языковой пакет. На данный момент языковые пакеты для версии 4.7 доступны только в виде автономных установщиков.
Языковой пакет .NET Framework 4.7