Ubuntu давно зарекомендовала себя как одна из самых гибких и удобных платформ для разработчиков по всему миру. Её стабильность, широкая поддержка инструментов и открытая экосистема делают её выбором №1 для создания и запуска приложений самых разных направлений. Однако с развитием технологий и обновлением инструментов разработчикам требуются новые возможности и улучшенный пользовательский опыт. Особенно это актуально для пользователей .NET — мощного фреймворка от Microsoft, который стремительно завоевывает популярность в экосистеме Linux.
В этой статье мы рассмотрим ключевые аспекты и нововведения, которые Canonical реализует для повышения качества работы с .NET на Ubuntu, подчеркнем важность своевременных обновлений, расширенную поддержку архитектур и интеграцию с современными средствами доставки приложений, такими как snaps и контейнеры. Все это позволяет разработчикам создавать, тестировать и распространять приложения .NET легко и эффективно прямо на Ubuntu. Одной из главных задач команды Ubuntu является обеспечение быстрого и безопасного доступа к последним версиям .
NET. С конца 2022 года у разработчиков появился мощный союзник – Microsoft. Сотрудничество между этими компаниями позволяет Canonical получать ранний доступ к обновлениям и патчам безопасности для .NET, включая даже те, которые скоро будут официально выпущены со стороны Microsoft. Это сотрудничество гарантирует, что пользователи Ubuntu получают своевременную защиту от угроз, существующих уязвимостей и могут поддерживать актуальность своих приложений без задержек.
Важным этапом на пути к качественной поддержке стало тщательное тестирование и упаковка всех ежемесячных обновлений .NET для Ubuntu 22.04 и более поздних релизов. Действительно, актуальность версий платформы – частая потребность как начинающих, так и опытных разработчиков. Для эффективной работы важна доступность последних релизов независимо от версии Ubuntu.
Это особенность учтена и реализована в так называемом PPA с backports для .NET. Например, Ubuntu 22.04 LTS по умолчанию предлагает .NET 6 LTS и .
NET 8 LTS, а также возможность установки .NET 9 через данный PPA. Аналогично, на Ubuntu 24.04 LTS доступна версия .NET 8 LTS, а с выходом новых релизов Ubuntu продолжит своевременно поддерживать .
NET 10 LTS. Такая масштабируемость и внимание к обратной совместимости делают работу с .NET на Ubuntu удобной и гибкой. Еще одним важным аспектом является архитектурная совместимость .NET на Ubuntu.
В условиях быстро меняющегося мира программирования поддержка различных вычислительных платформ становится все более значимой. Помимо архитектур amd64 и arm64, поддерживаемых Microsoft, Canonical берет на себя обязательство поддерживать и развивать .NET для s390x и ppc64el. Для предприятий и организаций, использующих IBM Z и Power Systems, такая возможность чрезвычайно важна. Благодаря этому расширению можно запускать и масштабировать .
NET-приложения во всем спектре специализированных вычислительных сред с гарантией надежности и безопасности. Команда Ubuntu не забывает и об экспериментальных версиях .NET. Перед выпуском каждого крупного релиза Microsoft выпускает несколько превью-версий для тестирования. Ubuntu предлагает их в специальном PPA с превью, позволяя сообществу разработчиков опробовать новые возможности и выявлять ошибки еще до официального релиза.
Такой подход способствует более плавному переходу на новые версии и помогает разработчикам быстрее адаптироваться к изменениям. Огромным шагом вперед стало внедрение .NET в экосистему snap. Snap – это современный формат упаковки приложений для Linux, обеспечивающий удобство установки, обновления и изоляции программ. Новый .
NET snap решает множество проблем предыдущих реализаций, позволяя параллельно устанавливать несколько SDK и сред выполнения, используя одни и те же бинарные файлы из Ubuntu-репозиториев. Благодаря размещению в Snap Store, установка .NET на Ubuntu 22.04 и новее становится значительно проще и удобнее. В дополнение к основному snap, предоставляются специализированные content snaps для разных сред выполнения и SDK, которые позволяют нескольким приложениям делить общие зависимости, экономя место на диске и ускоряя процесс инсталляции.
Еще одним важным улучшением является развитие плагина .NET для Snapcraft, инструмента создания snap-пакетов. Этот плагин теперь основан на использовании Ubuntu-сборок .NET SDK и предлагает улучшенную поддержку монорепозиториев и интеграцию с MSBuild. Поскольку разработка ведется открыто, плагин доступен в ветке edge Snapcraft и вскоре появится в стабильной версии.
С новыми возможностями создатели приложений .NET смогут более комфортно создавать и поддерживать snap-пакеты, что улучшит общее качество поставки и пользователей. Среда контейнеризации также играет ключевую роль в современной разработке. С ноября 2023 года Canonical предоставляет так называемые "chiseled" .NET-контейнеры.
Это облегчённые, оптимизированные образы, содержащие только необходимые библиотеки для выполнения приложений .NET без избыточных операционных компонентов. Такие образы не только занимают минимум дискового пространства, но и обеспечивают повышенную безопасность и эффективность запуска в облаке, дата-центрах и контейнерных оркестраторах, таких как Kubernetes. Для разработчиков еще одним плюсом является новое и постоянно расширяемое руководство по работе с .NET на Ubuntu.
В нем представлены подробные инструкции по установке, обучениям основам разработки, объяснения ключевых концепций .NET, а также советы по отладке и управлению версиями. Хорошо структурированная документация — важный элемент для повышения продуктивности и устранения возможных сложностей, с которыми может столкнуться программист. Также стоит отметить расширение пакета snaps для PowerShell — популярной оболочки и языка сценариев, тесно связанного с .NET.
Теперь PowerShell и его превью-версии собираются с использованием того же источника Ubuntu-сборок .NET SDK и runtime. Это означает согласованность версий и высокое качество сборки, что важно для автоматизации, администрирования и разработки на Ubuntu. Заглядывая в будущее, стоит выделить планы по поддержке .NET 10, выход которого запланирован на ноябрь следующего года.
Ubuntu уже приступила к упаковке превью-версий .NET 10 в соответствующий PPA, и после выпуска релизной кандидатуры они попадут в официальные репозитории Ubuntu. Это гарантирует полную совместимость с уже существующими и будущими версиями дистрибутива, такими как Ubuntu 24.04 LTS и 26.04 LTS.
Также в скором времени ожидается выпуск .NET расширения для Snapcraft, которое позволит разработчикам ещё проще включать поддержку .NET в свои приложения. Оно обеспечит обновление и безопасность через динамически обновляемые content snaps для среды выполнения, освобождая разработчиков от необходимости вручную поддерживать отдельные версии .NET в каждом приложении.
Еще одним важным направлением является кастомизация .NET CLI инструментов для Ubuntu. В настоящее время многие команды и справочная документация ссылаются на ресурсы Microsoft. В ближайшем будущем планируется адаптация этих инструментов под особенности Ubuntu, что улучшит взаимодействие с системой, сделает подсказки более релевантными и упростит установку необходимых компонентов. Подводя итог, можно уверенно сказать, что Ubuntu становится всё более привлекательной платформой для разработчиков .
NET. Благодаря синхронной работе с Microsoft, регулярным обновлениям, расширенной поддержке архитектур, удобным форматам упаковки и контейнерам, а также обширной документации, разработчики получают все необходимые инструменты для эффективной работы и развертывания приложений. Эти изменения подтверждают стремление Canonical не только поддерживать актуальность технологий, но и создавать максимально комфортную и безопасную среду разработки на своем дистрибутиве. Развитие .NET на Ubuntu — это отличная новость для специалистов, работающих в облачных технологиях, контейнеризованных приложениях и корпоративных решениях на базе Linux.
В ближайшем будущем можно ожидать дальнейшее улучшение интеграции, расширение функционала и новые возможности для разработчиков, подтверждая статус Ubuntu как современного и универсального инструмента для профессиональной разработки.