Microsoft открыла двери для Xamarin Forms 5.0, новой крупной версии своей кроссплатформенной платформы, ориентированной на iOS, Android и Windows 10.

Яндекс

Другие целевые платформы, такие как macOS и WPF (Windows Presentation Foundation), находятся в разной степени готовности.

Однако компания заявила, что предстоящий пользовательский интерфейс многоплатформенного приложения (MAUI) заменит Xamarin Forms, поэтому переходить сейчас стоит только разработчикам, которые планируют миграцию MAUI позже.

Первый выпуск Xamarin Forms был в 2014 году когда Xamarin еще была независимой компанией. Технология компании, основанная на реализации .NET Framework с открытым исходным кодом Mono, включает компиляторы C # для Android и iOS.

Первоначальная линия компании заключалась в том, что кросс-платформенным должен быть только невизуальный код, и разработчиков просили создать собственный пользовательский интерфейс для каждой целевой платформы. Несмотря на то, что этот подход хорош для нативного внешнего вида, этот подход требует много работы, и Xamarin Forms был представлен в 2014 году, чтобы обеспечить совместное использование кода основного пользовательского интерфейса между платформами. Разработчики Xamarin с энтузиазмом восприняли его, и последующие выпуски расширили его возможности. Фирма была приобретена Microsoft в 2016 году..

Еще в 2016 году казалось, что Xamarin и Xamarin Forms могут быть важны для Microsoft и для экосистемы .NET. Возможность писать код .NET и запускать его как на мобильных, так и на настольных платформах, казалось, решила большую проблему для компании. В Microsoft, однако, это был один из многих вариантов разработки, при этом команда Windows вложила свой вес в платформу Windows 8 Modern, которая превратилась в UWP (универсальная платформа Windows), а также в кроссплатформенные варианты на основе JavaScript.

Читайте также:
Nvidia сокращает количество графических процессоров, чтобы втиснуть ИИ в ваш центр обработки данных и укрепить дружбу с VMware • The Register

Также были некоторые неприятности с Xamarin Forms, включая тот факт, что используемый им диалект XAML отличается от того, который используется для Silverlight и WPF. UWP была добавлена ​​в качестве целевой платформы для Xamarin Forms, но в ней все еще были пробелы, такие как Windows Desktop и macOS (объявил в начале 2017 года, но все еще в предварительной версии).

Другая проблема заключается в том, что вариант (или, точнее, варианты) .NET, используемый Xamarin Forms, отличается как от .NET Framework только для Windows, так и от .NET Core с открытым исходным кодом.

Xamarin Forms объединится с .NET Core с выпуском .NET 6.0, после чего будет развился в MAUI.

По словам Скотта Хантера, директора Microsoft по управлению программами, MAUI предоставит «единый стек, который поддерживает все современные рабочие нагрузки: Android, iOS, macOS и Windows».

Благодаря Blazor и WebAssembly со временем может появиться поддержка веб-приложений.

Хантер также сообщил, что недавно выпущенный Xamarin Forms 5.0 будет иметь недолгий срок службы. «Xamarin.Forms выпустит новую основную версию позже в этом году и продолжит выпускать второстепенные и служебные выпуски каждые 6 недель в рамках .NET 6 GA в ноябре 2021 года. Окончательный выпуск Xamarin.Forms будет обслуживаться в течение года после доставки, и вся современная работа будет переведена на .NET MAUI », — сказал он.

Версия 5.0 — это «новая основная версия», о которой он говорил, а активная поддержка Xamarin Forms (любой версии) запланирована на конец ноября 2022 года, согласно Заметки MAUI на GitHub.

Читайте также:
Uni boffins тренирует модель машинного обучения на основе данных спасательных команд °

Переход от Xamarin Forms к MAUI должен быть плавным, но, тем не менее, это будет миграция, а не просто перекомпиляция исходного кода. «Мы намерены предоставить поддержку и руководства по переходу на пробную версию, аналогичные тем, которые у нас есть сегодня для перехода на .NET Core», — сказал Хантер.

Хотя вышесказанное означает, что Xamarin Forms 5.0 в лучшем случае является переходной версией, разработчики, воодушевленные перспективой MAUI, могут использовать это сейчас. Flutter от Google — очевидный конкурент, но у него другая философия: он рисует собственные элементы управления пользовательским интерфейсом, а не использует то, что является родным для платформы, на которой он работает. Достоинства этого подхода постоянно обсуждаются, но для разработчиков, которые предпочитают отображать пользовательский интерфейс с использованием собственных элементов управления, Xamarin Forms — привлекательное решение.

5.0 имеет множество новых функций, включая поддержку тем приложений, таких как темный режим, классы кистей для рисования области, новые формы и контуры для рисования, более сложные переключатели, включая шаблоны управления для разнообразных эффектов, и контейнер SwipeView для отображения меню жестом смахивания. Теперь также поддерживаются жесты перетаскивания при условии наличия минимальной версии iOS 11 на мобильной платформе Apple.

Новый CarouselView предназначен для отображения коллекции элементов, которые пользователь может пролистывать. Разработчиков, ориентированных на iOS, просят не использовать элемент управления UIWebView, который был заменен элементом управления WKWebView; Apple исключила UIWebView. Кроме того, некоторые элементы, которые раньше находились в основной структуре Xamarin Forms, были перемещены в библиотеку Community Toolkit. Сюда входят MediaElement и Expander. Некоторые «экспериментальные» пакеты, включая DataPages и Themes, были удалены из фреймворка.

Читайте также:
Microsoft выпускает новый «офис»

Пользователи, комментирующие после Представление Xamarin Forms 5.0 выявило некоторые проблемы с первым выпуском. «Есть много ошибок и проблем, связанных с компоновкой справа налево», — сказал один из них. Другой «столкнулся с двумя довольно очевидными проблемами.[s] с Shell. Во-первых, если у вас есть Shell.FlyoutBackgroundImage, он отображается поверх пунктов меню, так что они не видны. Во-вторых, Shell.TitleView вообще не отображается в iOS ».

Дэвид Ортинау, главный программный менеджер Microsoft по мобильным инструментам, ответил, что «эти проблемы будут решены и появятся в очень скором времени в сервисном выпуске», но наличие таких проблем предполагает осторожность при немедленном принятии нового выпуска.

Формы «мастер-детали» теперь переименованы в «Всплывающие окна» из соображений конфиденциальности — а также, по словам Ортино, это более точное название.

Несмотря на все предостережения, Xamarin Forms — это быстрый способ переноса существующего .NET-приложения в мобильное приложение. ®