×
=0) { let js = text.slice(pos1, pos2); + '<\/' + "script" + '>'; arrText.push(js); // next pos1 = pos2; continue; } } } break; } return arrText; } function OpenDialog(parentDiv, urlContent) { parentDiv = document.getElementById('modal-background'); // new !!!!!!! parentDiv.appendChild(document.getElementById('modal-template')); document.getElementById('modal-background').style.display = "block"; document.getElementById('modal-template').style.display = "flex"; // !!!!! document.getElementById('modal-body').innerHTML = ""; post_url(urlContent, "", function(text_from_server) { var element = document.getElementById('modal-body'); element.innerHTML = text_from_server; // add scripts var arrJSText = get_scripts(text_from_server); for (var i=0; i
dir.by
Праздники ...
Праздники ...
День Святого Валентина (14 Февраля)
Концерты, выставки, цирки ...
Концерты, выставки, цирки ...
Детский мюзикл "Буратино.by" г. Минск 24 января, 14 февраля, 15 марта, 11 апреля 2026
Афишу
Спорт занятия ...
Спорт занятия ...
Занятия в тренажерном зале
Спорт занятие
Компьютеры, игры, программирование
Компьютеры, игры, программирование
Объявления ...
Объявления ...
Продаю байки мальчуковые на рост 128 см
Объявление
Форум (ваши вопросы, обсуждение)
Форум (ваши вопросы, обсуждение)
Поиск
Программирование, разработка, тестирование
→
Xamarin (приложение на C# для Windows, iOS, Android)
→
Xamarin Forms (Maui элементы)
→
Что такое Xamarin.Forms (Maui) ?
Посмотрели
8705
раз(а)
Что такое Xamarin.Forms (Maui) ?
последнее обновление: 14 октября 2025
Xamarin.Forms
— позволяет использовать одну библиотеку элементов (текстовые поля, кнопки, переключатели, надписи, списочные представления и т.д.) для всех систем (Android, iOS, Windows)
Вы добавляете элементы у себя в Xamari приложении, а на конкретной платформе(iOS или Android или Windows) для каждого вашего элемента вызывается генерация и рисуются родные элементы(на iOS свои кнопки, для Android свои кнопки и т.д.)
Добавлять элементы можно как в Xamarin c# коде так и в XAML-формате.
Примущества Xamarin.Forms
•
Во-первых, это хорошо знакомый C# и .NET
. Если вы давно уже пишите на шарпах, то вам не надо тратить много времени на изучение нескольких новых фреймворков, а то и языков. Ну или, по крайней мере, в начале не надо, и вы можете достаточно быстро стартануть, используя свои текущие знания.
•
Во-вторых, подход к созданию и работе с пользовательским интерфейсом близок к тому, к чему мы все привыкли в Windows. Особенно рады будут разработчики WPF
, так как Xamarin Forms поддерживает работу с XAML, биндинги, темплейты, стили и прочие радости жизни. Думаю, понятно, что они несколько урезаны и не стоит ожидать всей мощи WPF, но все-таки удобства это добавляет.
•
Можно повторно использовать уже написанный код.
В большей части он будет работать корректно. Есть у платформ ограничения, но они не столь велики.
•
Из того, что Xamarin.Forms схож с WPF
, вытекает следующий плюс этой платформы: MVVM. Действительно, Xamarin.Forms имеет XAML, визуальные элементы имеют BindingContext (аналог DataContext в WPF), есть BindableProperty (аналог DependencyProperty). Таким образом, можно связывать View с ViewModel аналогично тому, как в WPF.
•
Еще одно преимущество
данной платформы в том, что так как UI описывается только в одном месте, то приложения под разными системами будут выглядеть очень похоже. Что может быть важно, например, в корпоративных разработках.
Недостатки Xamarin.Forms
• Неполная реализация функционала
WPF ...
• Компромиссные решения в реализации функционала, различающегося на разных платформах
• Различное поведение на разных платформах
• Производительность
Как решать проблемы?
Для решения проблем приходится залезать в нативные мобильные части и писать свои рендереры на элементы и в них уже решать то, с чем не справляются дефолтные рендереры.
Вывод
Xamarin.Forms
можно использовать, когда нужен быстрый старт сразу на нескольких платформах, когда не сильно важна производительность, или когда очень много старого кода, который хочется повторно использовать в новом приложении.
Если вам важен какой-то необычный дизайн, или высокая скорость работы, и вы пишете приложения для продажи в магазинах, то, может, лучше написать в нативе или в Xamarin Mobile.
Хотя в данный момент команда
Xamarin
активно развивает свой продукт, достаточно часто выходят обновления.
← Предыдущая тема
Запуск и отладка Xamarin.iOS приложения на компьютере c операционной системой MacOSX
Следующая тема →
(ContentPage, FlyoutPage, NavigationPage, TabbedPage) это страница в Xamarin.Forms | C# | MAUI
Ваши Отзывы ... комментарии ...
Вашe имя
Ваш комментарий
(www ссылки может добавлять только залогиненный пользователь)
+ картинку
Экскурсии по Москве: пешеходные, автобусные и речные прогулки на любой вкус
Объявления
Объявления
Xamarin
•
Что такое Xamarin?
Скачиваем и устанавливаем Xamarin
•
Скачиваем и устанавливаем Microsoft Visual Studio для написания Miaui приложений на компьютере с системой Windows
•
Открываем Visual Studio (для написания на Xamarin)
Создаем Xamarin приложение
•
Создаем новое Xamarin приложение на компьютере Windows
Запускаем Xamarin.UWP приложение на компьютере Windows
•
Запуск и отладка Xamarin.UWP приложения на компьютере Windows
•
Делаем App Packages для Xamarin.UWP приложения на компьютере Windows | Запускаем Xamarin.UWP приложение используя App Packages
Запускаем Xamarin.Android приложение на компьютере Windows
•
Запуск и отладка Xamarin.Android приложения на компьютере(Windows) в режиме эмулятора Android
•
Запуск и отладка Xamarin.Android приложения на телефоне через USB
•
Запуск Xamarin.Android приложения на телефоне (создание apk файла)
•
Тестирование Xamarin.Android приложения на телефоне
Android (устанавливаем)
•
Создаем Android виртуальное устройство в Visual Studio 2017
•
Инсталлирование платформы Android (SDK 7.1.1 API 25) в Visual Studio 2017...
•
Ошибки в Xamarin.Android приложении: Error IDE0006 | Error "Could not find android.jar for API Level"
Запускаем Xamarin.iOS приложение на компьютере с системой iOS
•
Запуск и отладка Xamarin.iOS приложения на компьютере(Windows) в режиме эмулятора iOS
•
Запуск и отладка Xamarin.iOS приложения на компьютере c операционной системой MacOSX
Xamarin Forms (Maui элементы)
•
Что такое Xamarin.Forms (Maui) ?
•
(ContentPage, FlyoutPage, NavigationPage, TabbedPage) это страница в Xamarin.Forms | C# | MAUI
•
(Grid, StackLayout) это компоновка графических элементов в Xamarin.Forms (Maui)
•
Графический элемент в Xamarin.Forms (это кнопка, текстовое поле и т.д наследуется от класса View) | Xamarin.Forms | C# | Maui
•
Графический редактор для XAML файла в Xamarin.Forms
База данных в Xamarin
•
Скачиваем и устанавливаем DB Browser for SQLite (программа для работы с sqlite)
•
Открывем (запускаем) DB Browser for SQLite
Дополнительные темы, вопросы
•
Почему в минимальной программе Xamarin.Android получается apk файл больше 5 mb ?
Книги о Xamarin
•
Книги для изучения Xamarin
Ваши вопросы присылайте по почте:
info@dir.by