Реклама
Home Softnews Microsoft снимает листы с первого превью .NET 6 и … это все...

Microsoft снимает листы с первого превью .NET 6 и … это все еще беспорядок. Тем не менее, встроенная поддержка Apple Silicon °

Реклама


Microsoft представила первую предварительную версию .NET 6.0, первую версию с долгосрочной поддержкой своей новой унифицированной платформы приложений, обещающую встроенную поддержку Apple Silicon, настольные приложения на ARM64 и массу обновлений для ключевых платформ, таких как ASP.NET Core.

Реклама

Программный менеджер Ричард Ландер описал .NET 6 как «заключительную часть плана унификации .NET, который начался с .NET 5» в длинный пост о новом выпуске. Предварительная версия доступна для Windows, macOS и Linux, хотя обратите внимание, что среды настольных приложений, Windows Forms и Windows Presentation Foundation, предназначены только для Windows.

Основные упомянутые «заключительные части» — это интеграция кроссплатформенных инструментов Xamarin для мобильных устройств и macOS. Бренд Xamarin в основном уходит, и Xamarin Forms для приложений, которые совместно используют код пользовательского интерфейса (UI) на разных платформах, теперь носит броское название MAUI (Multi-Platform App UI). Но действительно ли это единое целое — вопрос определения.

Технологии Xamarin теперь являются частью .NET SDK, хотя они являются необязательными «рабочими нагрузками», и существует больше кода, совместно используемого Xamarin и другими платформами .NET, включая единую библиотеку базовых классов (BCL).

Установка первой предварительной версии .NET 6 SDK

Установка первой предварительной версии .NET 6 SDK

Тем не менее, теперь в .NET 6 SDK есть две среды выполнения .NET: CoreCLR (Common Language Runtime), которая является основной версией, и Mono, которая является средой выполнения Xamarin. Существование этих двух сред выполнения означает, что некоторые аспекты этого объединения являются косметическими. Еще одна давняя проблема заключается в том, что диалект XAML, используемый Xamarin, а теперь и MAUI, сильно отличается от XAML, используемого для Windows Presentation Foundation (WPF).

Читайте также:
Automotive Grade Linux: Платформа с открытым исходным кодом для всей автомобильной промышленности

Microsoft также предлагает еще один подход к кроссплатформенному приложению с графическим пользовательским интерфейсом в виде Blazor, веб-фреймворк, который может запускать .NET в браузере путем компиляции среды выполнения — фактически среды выполнения Mono — в WebAssembly (Wasm). Blazor использует HTML и CSS для визуальных элементов управления. Blazor для Wasm в .NET 6 улучшен тем, что он компилируется непосредственно в Wasm, а не просто компилирует среду выполнения в Wasm и заставляет ее выполнять сборки .NET.

.NET 6.0 представляет настольные приложения Blazor, которые по-прежнему используют веб-технологии, но работают как собственные приложения. «Он в первую очередь нацелен на веб-разработчиков, которые хотят предоставить своим пользователям богатый клиентский и офлайн-опыт», — сказал Ландер.

Контейнер для настольного приложения Blazor предоставляется MAUI, что означает, что вы можете дополнительно добавить собственные элементы управления вместе или вместо элементов управления HTML. Также возможно иметь «остров Blazor» в других фреймворках, таких как WPF. Планируется также Blazor для Android и iOS.

«Остров Блазор» в приложении WPF

«Основная цель .NET 6 — поддержка настольных платформ Windows и macOS, но у нас наверняка будет код, работающий также на Android и iOS, но в то время он может не поддерживаться полностью», сказал Инженер Microsoft Эйлон Липтон.

Как Blazor, так и MAUI привлекают все возможности C # полного стека, так что разработчикам нужно работать только с C # и .NET. Проблема в том, что у Microsoft слишком много разных подходов, что сводит на нет как усилия, так и предложения разработчикам. Также почему-то все еще отсутствует легкий кроссплатформенный графический интерфейс для .NET Core.

Читайте также:
Skype получил невероятную функцию

Похоже, что использование ARM будет расти, и Microsoft улучшает свою поддержку .NET, включая поддержку Windows Forms и WPF в сборках ARM64 для Windows. Разработчики также могут теперь нацеливаться на Apple Silicon, который, по словам Ландера, «потребовал достаточно большого набора изменений кода, поэтому мы не рассматриваем возможность их обратного переноса в .NET 5».

Чтобы поддерживать этот новый процессор, Microsoft должна соответствовать требования «усиленной среды выполнения» Apple, предназначенной для повышения безопасности. Тем не менее, Microsoft не будет поддерживать универсальные двоичные файлы. «В этом выпуске мы не будем включать рабочий процесс для публикации универсальных двоичных файлов для приложений .NET. Мы пересмотрим эту потребность в .NET 7», — сказал Ландер.

Эти дополнения вместе с интеграцией Xamarin означают, что .NET 6 официально нацелен на большее количество платформ, чем раньше, включая Android, iOS и Apple Silicon, а также Windows ARM64, помимо существующих платформ Windows и Linux.

Еще одна новинка .NET 6 — однофайловые приложения для Windows и macOS, использующие статическое связывание. Раньше это было возможно только в Linux.

Возможно, наиболее важной частью .NET является ASP.NET Core для веб-приложений и микросервисов. В планы входит горячая перезагрузка, функция повышения производительности разработчика, при которой изменения кода могут применяться к работающему приложению без перезапуска и потери состояния.

Еще одна особенность — это Micro API. Это решает проблему для начинающих разработчиков .NET — что есть чему поучиться при начале работы с существующей структурой веб-API, основанной на контроллерах ASP.NET MVC. Идея состоит в том, чтобы извлечь функции из существующей структуры, чтобы их можно было использовать независимо, формирование «новая облегченная модель программирования».

Читайте также:
Система Google AMP шокирует свою систему, когда советник увольняется, судебный иск заявляет о нечестной игре °

Microsoft также планирует добавить поддержку HTTP / 3 и QUIC, а также улучшить поддержку одностраничных приложений для работы с современными платформами JavaScript.

Лендер описал многие изменения в .NET 6.0, включая лучшую оптимизацию для развертывания контейнеров. Еще одна большая проблема — это новая реализация пула потоков .NET, которая теперь является управляемой реализацией, написанной на C #. Одна из целей состоит в том, чтобы его можно было использовать как в CoreCLR, так и в Mono, чтобы его поведение было одинаковым.

Платформа .NET существует очень давно. Прошло более 20 лет с момента первого предварительного просмотра ответа Microsoft на Java и 19 лет с момента его первого полного выпуска в феврале 2002 года. Комбинация переделки .NET как кроссплатформенного .NET Core с открытым исходным кодом и приобретение Microsoft Xamarin для мобильных приложений поддерживает платформу в актуальном состоянии.

Но задача состоит в том, чтобы распространить свою привлекательность за пределы среды разработчиков Windows, выросших с этой платформой. Ключом к этому является ASP.NET Core, а не увеличение количества способов, которыми разработчики могут создавать кроссплатформенное приложение с графическим интерфейсом (и все еще проигрывать JavaScript и Flutter), поэтому среди всех новых функций идея упрощения платформа ASP.NET Core для новых разработчиков может оказаться наиболее важной.

Microsoft обещает новые предварительные версии .NET 6 «как часы, раз в месяц» в период с сегодняшнего дня и до ожидаемого выпуска общедоступной версии в ноябре. ®

Реклама

NO COMMENTS