Выбираем лучший бэкенд-фреймворк 2021 года

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.

Node.js/Express

▍Сильные стороны Node.js

  • Появление Node.js сделало возможным фуллстек-разработку веб-проектов на JavaScript. В результате в распоряжении разработчиков серверных частей приложений оказались и сильные возможности JavaScript, и наработки экосистемы JS, библиотеки, которыми стало реально воспользоваться в серверном окружении.
  • JavaScript-код, аналогичный по функционалу, например, коду, написанному на C, оказывается компактнее. Производительность JavaScript-кода при этом достаточно высока для применения его в проектах, в которых важна скорость работы кода.
  • Код клиентских и серверных частей проектов легче поддерживать в согласованном состоянии, так как и там и там используется один и тот же язык.
  • Один и тот же код можно совместно использовать и на клиенте, и на сервере.
  • Благодаря существованию модулей Node.js, которые, в сущности, представляют собой особым образом оформленные фрагменты кода, разработчики могут с удобством использовать в своих проектах чужой код, а так же собственные наработки.
  • Платформа Node.js, и, соответственно, основанные на ней фреймворки, отличаются нетребовательностью к ресурсам и масштабируемостью. Именно поэтому Node.js — это платформа, к которой часто прибегают те, кто пользуется микросервисными архитектурами.
  • Эта платформа хорошо подходит для разработки микросервисов ещё и из-за существования системы модулей Node.js, которые можно представить себе в виде строительных блоков серверных приложений.
  • В Node.js JavaScript код компилируется в машинный код, что позволяет получить гораздо более высокую производительность, чем при интерпретации кода. Сообщество JavaScript-разработчиков видит постоянное улучшение производительности Node.js за счёт того, что Google постоянно работает над совершенствованием V8.
  • Благодаря тому, что в Node.js имеется система ввода-вывода, не блокирующая главный поток, эта платформа демонстрирует высокую производительность. Достойная скорость обработки запросов достигается благодаря использованию JavaScript-механизмов конкурентного однопоточного выполнения кода.
  • Node.js — это опенсорсный проект, вокруг которого собралось огромное сообщество разработчиков. Это значит, что тот, кто столкнётся с какой-то проблемой, сможет достаточно быстро найти её решение.
  • Node.js, в ближайшем будущем, может стать платформой, которую будут использовать для проведения «тяжёлых» вычислений, наподобие тех, которые применяются для решения задач машинного обучения.

.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.

  1. .NET Framework is the original implementation of .NET. It supports running websites, services, desktop apps, and more on Windows.
  2. .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.
  3. Xamarin/Mono is a .NET implementation for running apps on all the major mobile operating systems, including iOS and Android.

.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.

Фреймворки

Пред­ставь­те: вам нуж­но постро­ить дом. Мож­но выбрать гото­вый типо­вой про­ект и немно­го поиг­рать с пла­ни­ров­кой, пока архи­тек­тор не про­тив и вы не тро­га­е­те капи­таль­ные сте­ны. А мож­но нари­со­вать план само­му и полу­чить имен­но тот дом, кото­рый хоти­те — даже если вы хоти­те цилин­дри­че­ский дом со вхо­дом на вто­ром этаже.

Раз­ни­ца в том, что в типо­вом про­ек­те уже всё про­ду­ма­но: опти­маль­ное рас­по­ло­же­ние ком­му­ни­ка­ций, теп­ло­изо­ля­ция стен, спо­со­бы залив­ки фун­да­мен­та, и еще мил­ли­он вещей, кото­рые со сто­ро­ны не вид­ны. Вы полу­ча­е­те тёп­лый и уют­ный дом, но в рам­ках гото­во­го проекта.

Так же рабо­та­ет фрейм­ворк. Вы исполь­зу­е­те гото­вый шаб­лон и напол­ня­е­те его сво­им кодом. Вы теря­е­те в гиб­ко­сти, зато про­грам­ма рабо­та­ет ста­биль­но: всё основ­ное фрейм­ворк берёт на себя. Под капо­том фрейм­вор­ка мил­ли­он нюан­сов: напри­мер, рабо­та с фай­ло­вой систе­мой и база­ми дан­ных, обра­бот­ка оши­бок, защи­та паролем.

Без фрейм­вор­ка вам нуж­но будет обо всём думать само­сто­я­тель­но. Это даёт боль­ше сво­бо­ды, но и боль­ше ответ­ствен­но­сти. Если кри­во реа­ли­зо­ва­на авто­ри­за­ция в базу дан­ных, через эту кри­виз­ну код смо­гут взло­мать. Если не напи­са­ли обра­бот­ку оши­бок, про­грам­ма может не рабо­тать. На язы­ке стро­и­тель­ства это экви­ва­лент дома без кана­ли­за­ции или когда в сте­нах не преду­смот­ре­ли дыр­ки под розетки.

При­ме­ры фреймворков:

  • Bootstrap — созда­ние сай­тов с адап­тив­ной вёрст­кой. Мож­но рисо­вать кра­си­вые кноп­ки, вер­стать текст во мно­го коло­нок, включать-выключать бло­ки в зави­си­мо­сти от шири­ны экра­на, делать выпа­да­ю­щие меню и мно­гое другое
  • Vue.js — обес­пе­чи­ва­ет еди­но­об­ра­зие ком­по­нен­тов и модуль­ный под­ход к раз­ра­бот­ке. Мож­но созда­вать соб­ствен­ные стро­и­тель­ные бло­ки для стра­ни­цы, делать шаблоны
  • Angular.JS — JavaScript фрейм­ворк от Google для дина­ми­че­ских веб-приложений, похож на Vue
  • django — фрейм­ворк для Python, наце­лен­ный на ско­рость: гото­вые ком­по­нен­ты для баз дан­ных, рисо­ва­ния стра­ниц, адми­нок, окон вхо­да на сайт, шаб­ло­нов и мно­же­ства дру­гих вещей
  • Ruby on Rails — тоже силь­но уско­ря­ет раз­ра­бот­ку сайтов

Вывод: фрейм­ворк даёт ста­биль­ность и удоб­ство раз­ра­бот­ки, но огра­ни­чи­ва­ет про­грам­ми­ста сво­ей архитектурой.

Улучшения в Preview 1

Улучшение качества кода в RyuJIT

  • Улучшения для фолдинга null checks – Удалите необходимость генерировать null checks в большем количестве случаев, наблюдая больше шаблонов, где null checks, вероятно, не нужны.
  • Настройка общего подвыражения (CSE) – JIT ищет и сворачивает дублирующиеся выражения, которые нужно оценивать только один раз.
  • Оптимизация «constant_string».Length – Оптимизация этого шаблона и свертывание кода до правильного целочисленного значения.
  • JIT: создание базовых списков блоков перед морфингом – Переупорядочевание фазы в JIT, чтобы раньше можно было использовать ключевые оптимизации, что привело к лучшему качеству кода и меньшему количеству работы для следующих фаз, что увеличивает пропускную способность JIT («TP» в ссылочном PR).

Консолидация репозиториев GitHub

сократили количество репозиториев на GitHub

  • dotnet/runtime (были dotnet/corefx, dotnet/coreclr, и dotnet/core-setup)
  • dotnet/aspnetcore (было множество репозиториев в aspnet org)
  • dotnet/sdk (были dotnet/sdk, dotnet/cli)

Поиск версий CLRFind CLR versions

.NET Framework CLR, установленный с .NET Framework, имеет отдельную версию.The .NET Framework CLR installed with .NET Framework is versioned separately. Есть два способа определить версию среды выполнения .NET Framework CLR:There are two ways to detect the version of the .NET Framework CLR:

Инструмент Clrver.exeThe Clrver.exe tool
Для определения версий среды CLR, установленных на компьютере, можно использовать средство CLR Version (Clrver.exe).Use the CLR Version tool (Clrver.exe) to determine which versions of the CLR are installed on a computer

Откройте командную строку разработчика для Visual Studio и введите .Open the Developer Command Prompt for Visual Studio and enter .
Пример результатов выполнения:Sample output:

Класс The class

Важно!
Для .NET Framework 4.5 и более поздних версий не следует использовать свойство Environment.Version для определения версии среды CLR.For .NET Framework 4.5 and later versions, don’t use the Environment.Version property to detect the version of the CLR. Вместо этого выполните запрос к реестру, как описано в разделе .Instead, query the registry as described in .

Выполните запрос к свойству , чтобы получить объект Version.Query the property to retrieve a Version object.
Возвращенный объект указывает версию среды выполнения, в которой в настоящее время выполняется код.The returned object identifies the version of the runtime that’s currently executing the code

Он не содержит версий сборок или других версий среды выполнения, которые установлены на компьютере.It doesn’t return assembly versions or other versions of the runtime that may have been installed on the computer.
Для платформы .NET Framework версий 4, 4.5, 4.5.1 и 4.5.2 возвращаемый объект Version имеет строковое представление 4.0.30319.xxxxx, где xxxxx меньше 42000.For .NET Framework versions 4, 4.5, 4.5.1, and 4.5.2, the string representation of the returned Version object has the form 4.0.30319.xxxxx, where xxxxx is less than 42000. Для .NET Framework 4.6 и более поздних версий оно имеет форму 4.0.30319.42000.For .NET Framework 4.6 and later versions, it has the form 4.0.30319.42000.

Получив объект Version, выполните к нему запрос:After you have the Version object, query it as follows:

Чтобы получить идентификатор основного выпуска (например, 4 в случае версии 4.0), используйте свойство Version.Major.For the major release identifier (for example, 4 for version 4.0), use the Version.Major property.

Чтобы получить идентификатор дополнительной версии (например, в случае версии 4.0), используйте свойство Version.Minor.For the minor release identifier (for example, for version 4.0), use the Version.Minor property.

Чтобы получить всю строку версии (например, 4.0.30319.18010), используйте метод Version.ToString.For the entire version string (for example, 4.0.30319.18010), use the Version.ToString method. Он возвращает одно значение, соответствующее версии среды выполнения, в которой выполняется код.This method returns a single value that reflects the version of the runtime that’s executing the code. Он не возвращает версий сборок или других версий среды выполнения, которые установлены на компьютере.It doesn’t return assembly versions or other runtime versions that may be installed on the computer.

В следующем примере свойство Environment.Version используется для получения сведений о версии среды CLR:The following example uses the Environment.Version property to retrieve CLR version information:

В этом примере отобразятся выходные данные, аналогичные следующим:The example displays output similar to the following:

Установка

Устанавливать среду выполнения вручную нужно только в тех случаях, когда версия на вашем ПК устарела и не позволяет запускать нужные пользователю программы. Обновляется автоматически, с помощью обновлений Windows, но вручную вы можете установить версии 4.x в Windows 7.

Скачайте .NET Framework с сайта Майкрософт.

Какие версии .NET Framework применяют в 2019 году

На 14 декабря 2019 года для загрузки предлагаются следующие версии:

  • 4.8
  • 4.7.2
  • 4.7.1
  • 4.7
  • 4.6.2
  • 4.6.1
  • 4.6
  • 4.5.2
  • 4.5.1
  • 4.5
  • 4.0
  • 3.5 SP1

Майкрософт рекомендует использовать самую свежую версию платформы.

Пользователям, не занимающимся созданием ПО, понадобится среда выполнения (Runtime). Инструментарий разработчика (Developer Pack) необходим программистам.

Прокрутите страницу. Выберите язык и перейдите по соответствующей ссылке. Скачивание стартует автоматически.

.NET Framework 3.5 в Windows 10

Перед установкой на ноутбук убедитесь, что батарея заряжена и подключен кабель питания.

Скачайте 3.5 SP1. Запустите загруженный исполняемый файл с расширением EXE. Чтобы началась установка, пользователю придется позволить ПО вносить изменения на компьютере.

Необходимо дополнительно загрузить и поставить в систему .NET 3.5 (в комплекте: .NET 2.0 и 3.0).

На экране отображается прогресс выполнения загрузки, время которой зависит от скорости интернет-соединения.

Следующий этап — установка компонентов операционной системы осуществляется автоматически. Не требует вмешательства пользователя.

Для завершения установки нужно перезагрузить компьютер. Нажмите соответствующую кнопку (выделена на иллюстрации).

Не выключайте компьютер во время работы с обновлениями. Прогресс выполнения задачи динамически отображается на экране (в процентах).

Чтобы включить поддержку версии 3.5 в «десятке»:

  • Нажмите кнопку со значком-лупой на Панели задач
  • В строке напечатайте: «Включение или отключение компонентов Windows»
  • Щелкните по выведенному в качестве результата поиска параметру Панели управления

Щелчком мыши включите компонент, если его поддержка отключена. Отключено: белый квадрат слева от названия пуст. Включено: в нем располагается черный квадратик.

Обратите внимание, что поддержка версии 3.5, необходимой для совместимости со старым софтом, является дополнением к версии 4.x. Нажмите «OK»

Нажмите «OK».

Установка языковых пакетовTo install language packs

Языковые пакеты — это исполняемые файлы, содержащие локализованные ресурсы (например, переведенные тексты сообщений об ошибках и пользовательского интерфейса) для поддерживаемых языков.Language packs are executable files that contain the localized resources (such as translated error messages and UI text) for supported languages. Если языковой пакет не установлен, сообщения об ошибках платформы .NET Framework и другой текст отображаются на английском.If you don’t install a language pack, .NET Framework error messages and other text are displayed in English

Обратите внимание, что веб-установщик автоматически устанавливает языковой пакет, который соответствует операционной системе, но можно загрузить на компьютер дополнительные языковые пакеты.Note that the web installer automatically installs the language pack that matches your operating system, but you can download additional language packs to your computer. Автономные установщики не содержат языковых пакетов.The offline installers don’t include any language packs

Важно!

Языковые пакеты не содержат компоненты платформы .NET Framework, необходимые для запуска приложения, поэтому перед установкой языкового пакета необходимо запустить веб-установщик или автономный установщик.The language packs don’t contain the .NET Framework components that are required to run an app, so you must run the web or offline installer before you install a language pack. Если вы уже установили языковой пакет, удалите его, установите .NET Framework и переустановите языковой пакет.If you have already installed a language pack, uninstall it, install the .NET Framework, and then reinstall the language pack.

  1. Откройте страницу загрузки языковых пакетов для установленной версии платформы .NET Framework:Open the language pack download page for the .NET Framework version you’ve installed:

    • .NET Framework 4.8.NET Framework 4.8
    • .NET Framework 4.7.2.NET Framework 4.7.2
    • .NET Framework 4.7.1.NET Framework 4.7.1
    • .NET Framework 4.7.NET Framework 4.7
    • .NET Framework 4.6.2.NET Framework 4.6.2
    • .NET Framework 4.6.1.NET Framework 4.6.1
    • .NET Framework 4.6.NET Framework 4.6
    • .NET Framework 4.5.2.NET Framework 4.5.2
    • .NET Framework 4.5.1.NET Framework 4.5.1
    • .NET Framework 4.5.NET Framework 4.5
  2. Выберите требуемый язык в списке и подождите несколько секунд, чтобы страница перезагрузилась на этом языке.In the language list, choose the language you want to download, and wait a few seconds for the page to reload in that language.

  3. Выберите Загрузить.Choose Download.

В приведенной ниже таблице перечислены поддерживаемые языки.The following table lists the supported languages.

ЯзыкLanguage cultureCulture
АрабскийArabic arar
ЧешскийCzech cscs
ДатскийDanish dada
ГолландскийDutch nlnl
ФинскийFinnish fifi
Английский (США)English (USA) en-USen-US
ФранцузскийFrench frfr
НемецкийGerman dede
ГреческийGreek elel
ИвритHebrew hehe
ВенгерскийHungarian huhu
ИтальянскийItalian itit
ЯпонскийJapanese jaja
КорейскийKorean koko
НорвежскийNorwegian Нетno
ПольскийPolish plpl
Португальский (Бразилия)Portuguese (Brazil) pt-BRpt-BR
Португальский (Португалия)Portuguese (Portugal) pt-PTpt-PT
РусскийRussian ruru
Китайский, упрощенное письмоSimplified Chinese zh-CHSzh-CHS
ИспанскийSpanish eses
ШведскийSwedish svsv
Китайский (традиционный)Traditional Chinese zh-CHTzh-CHT
ТурецкийTurkish trtr

Предназначение .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

Выделяются три уровня:

  1. Языки программирования. Часто используемые: VB.NET и C#
  2. Компиляторы. Для каждого языка программирования предусмотрен отдельный компилятор. Для VB.NET — один, для C# — другой
  3. Интерпретатор «Common Language Interpreter» используется для запуска приложения, написанного на любом языке программирования. Поэтому компилятор отравит программу в него для последующего запуска приложения

Библиотеки

.NET Framework включает в себя набор стандартных библиотек классов: методов и функций. Например, есть библиотека классов для обработки всех операций на уровне файлов. Есть метод чтения текста из файла и есть метод записи текста в файл.

Типы основанных на платформе приложений

ПО, которое может работать на основе .NET Framework:

  • WinForms: программы, которые будут работать на компьютере пользователя. Пример клиентского приложения: текстовый редактор «Блокнот»
  • ASP.NET применяется для разработки веб-приложений, которые станут работать в любом браузере, в том числе: Chrome, Edge, Firefox. При этом:
    • Веб-приложение будет обрабатываться на сервере, на котором установлены информационные службы интернета (IIS)
    • IIS — это компонент Microsoft, который применяется для запуска приложения ASP.NET
    • Результат выполнения отправляется на компьютер пользователя и отображается в браузере
  • Технология ADO.NET применяется для создания приложений, предназначенных для работы с базами данных, такими как Microsoft SQL Server и Oracle
Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector