В статье представлены обобщённые подходы применения конвертеров значений при написании XAML-кода.
Xamarin *
Инструменты для кросс-платформенной разработки
Использование SVG ресурсов в Xamarin
При разработке мобильного приложения есть масса моментов, на которые необходимо обращать внимание. Это и выбор технологии, на которой оно будет написано, и разработка архитектуры приложения, и, собственно, написание кода. Рано или поздно наступает момент, когда костяк приложения есть, вся логика прописана и приложение , в общем-то, работает, но… нет внешнего вида. Тут стоит задуматься о графических ресурсах, которые будут использованы, поскольку графика составляет львиную долю размера итоговой сборки, будь то .apk на Android или .ipa на iOS. Сборки огромных размеров в принципе ожидаемы для мобильных игр, уже сейчас из PlayMarket порой приходится загружать объемы данных вплоть до 2 Гб и хорошо, если во время загрузки есть возможность подключиться к Wi-Fi или мобильный оператор предоставляет скоростное безлимитное подключение. Но для игр это ожидаемо, а бизнес-приложение, обладающее таким размером, невольно вызывает вопрос “Откуда столько?”. Одной из причин большого размера сборки бизнес-приложения может стать значительное количество иконок и картинок, которые в нем приходится отображать. А также не следует забывать о том, что большое количество графики пропорционально влияет на быстродействие приложения.
При создании графической составляющей приложения часто возникает серьезная проблема. Мобильных устройств существует великое множество начиная с часов и заканчивая планшетами, и разрешения их экранов очень разнятся. Из-за этого зачастую приходится включать в сборку графические ресурсы отдельными файлами для каждого из существующих типов. По 5 копий для Android и по 3 для iOS. Это существенно влияет на размер итоговой сборки, которую Вы будете выкладывать в сторы.
О том, что можно сделать для того, чтобы не попасть в такую ситуацию, мы расскажем в этой статье.
Темы приложений для Xamarin.Forms
Подготовка приложений для Google Play к требованиям Android 10
Требования и даты по Android 10
- 3 августа 2020 г. — новые приложения должны быть ориентированы на Android 10 (API 29).
- 2 ноября 2020 г. — все приложения и обновления приложений должны быть ориентированы на Android 10 (API 29).
Сегодня давайте пройдемся по обновлению существующего приложения Android, чтобы оно полностью соответствовало требованиям.
Истории
Xamarin.Forms. Личный опыт использования
«Каких Марин?» или управляем контроллером через bluetooth с помощью мобильного приложения на Xamarin (Android)
Поэтому мы не просто всё подключим, но еще и напишем для нашей схемы примитивнейшее приложение для Android используя C# и Xamarin.
Если вы любите мониторить «концевики» и герконы, так как это люблю я, милости прошу под кат.
[По докам] Flutter. Часть 5. Для Xamarin.Forms-разработчиков
Подарок всем под Ёлочку
Нет, под Ёлочку! Теперь точно с Ё, потому что это статья про ёфикацию!
И не просто теория или скрипты из командной строки, а настоящая рабочая программа, которую можно использовать как на компе так и на телефоне.
Продолжайте полет с Xamarin.Forms 4.4
CarouselView
в Xamarin.Forms 4.4.0. Кроме того также представляем IndicatorView
для отображения страниц и элементов с каруселью. А также SwipeView
для предоставления контекстных действий для любого элемента в CollectionView
. Тема выпуска каруселей была бы неполной без демонстрации новой поддержки GIF-анимации для изображений. Приступим.Почему я отказался от кросс-платформенных решений в мобильной разработке
Позвольте мне с вами кое-чем поделиться. Мне нравится идея кросс-платформенной разработки. Возможность использовать один набор инструментов для всех моих задач — это мечта. Кто не хотел бы использовать только один инструмент, чтобы успешно выполнять свои задачи? Пиши один раз, запускай везде? Я хочу!
10 самых популярных курсов Microsoft на русском
Темы курсов в этой подборке:
- Python
- Xamarin
- Visual Studio Code
- Microsoft 365
- Power BI
- Azure
- ML
Новая серия статей
- 8 самых новых курсов Microsoft Learn
- 10 бесплатных курсов для начинающих специалистов
- 10 бесплатных курсов для продвинутых специалистов
Следующая серия статей, начало 2020 года
- 5 бесплатных курсов для ИИ-инженеров
- 6 бесплатных курсов для безопасников
- 7 бесплатных курсов для специалистов по работе с данными (Data-Science и Data-Engineering)
Эта серия статей, 2019 год
Xamarin.Forms — декоративное отображение QRCode с помощью SkiaSharp
Для вывода/чтения штрихкодов есть популярная библиотека ZXing. Она умеет выводить и считывать много разных форматов: QRCode, Aztec и другие, более 2 десятков. Для считывания кодов в ней есть готовый контрол ZXingScannerView. Требуется минимум кода, чтобы добавить этот функционал в ваше приложение.
Однако, при помощи этой библиотеки код будет изображён канонически, чёрным по белому. Рассмотрим случай, когда надо изобразить код нестандартного вида, например цветной, со скруглёнными элементами или украшенный каким-либо другим способом (и чтобы он при этом продолжал хорошо считываться).
И настоящая свобода творчества открывается только если нарисовать код самому — тогда всё полностью в ваших руках. Этим и займёмся на примере QR-кода.
Xamarin.Forms — простой пример Host-based Card Emulation
Сценариев использования очень много: система пропусков, карты лояльности, транспортные карты, получение дополнительной информации об экспонатах в музее, менеджер паролей.
При этом приложение на телефоне, эмулирующем карту, может быть запущено или нет и экран вашего телефона может быть заблокирован.
Ближайшие события
Xamarin.Forms Shell
Xamarin.Forms — удобное использование иконочных шрифтов в приложении
Постановка задачи
Для отображения иконок в приложении Xamarin.Forms можно использовать изображения в различных форматах, например png, svg или шрифты ttf. Чаще всего для добавления стандартных иконок удобен шрифт с иконками, например google material icons. Шрифт с иконками имеет размер около 200КБ и удобство использования здесь обычно важнее экономии на размере приложения. Иконки будут хорошо смотреться при любом разрешении экрана и будут чёрно-белыми.
Для использования иконок есть готовые nuget-пакеты. Я долгое время использовал iconize (nuget — www.nuget.org/packages/Xam.Plugin.Iconize; git — github.com/jsmarcus/Iconize). Он позволяет подключать более десяти шрифтов, добавляет новые контролы, такие как IconButton, IconImage, IconLabel и т.п. Но тут есть обычные аргументы против готовых библиотек: лишний функционал, лишний размер файлов, не полностью устраивает поведение, баги и т.п. Поэтому в определённый момент решил отказаться от готовой библиотеки и заменить ее на простейший велосипед из пары классов + шрифт.
Как просто подключить и начать печатать через портативный Bluetooth принтер EPS/POS в приложении Xamarin Android
Добавим в проект Nuget пакет для работы с EPS/POS командами. Для этого откройте Package Manager Console и добавьте Zebra.Printer.SDK командой
Install-Package Zebra.Printer.SDK
По сути, не имеет значения какую модель принтера вы используете и кто производитель. Вам нужно убедиться в том, что принтер поддерживает работу с EPS/POS командами (их большинство). В этом случае библиотека сможет работать с ним без проблем.
Все дальнейшие действия описаны с предположением того, что вы зашли в настройки Android устройства и подключились к принтеру.
В первую очередь добавим разрешения в файл AndroidManifest.xml:
<manifest ....>
...
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
...
</manifest>
Вышла Preview-версия XAML Hot Reload для Xamarin.Forms
Горячая перезагрузка XAML для Xamarin.Forms ускоряет разработку и упрощает сборку, экспериментирование и итерации в пользовательском интерфейсе. А это значит, что вам больше не нужно перестраивать свое приложение каждый раз, когда вы настраиваете свой пользовательский интерфейс — все изменения мгновенно показываются в запущенном приложении.
Когда ваше приложение скомпилировано с использованием XAML Hot Reload, оно работает со всеми библиотеками и сторонними элементами управления. Эта фича будет доступна для iOS и Android в Visual Studio 2019 и Visual Studio 2019 для Mac. Все работает на всех допустимых целях развертывания, включая симуляторы, эмуляторы и физические устройства.
Горячая перезагрузка XAML будет доступна позже в 2019 году, но вы можете зарегистрироваться для участия в preview:
Sign Up for the Preview Now
GoSh! для путешественников — история одного домашнего проекта
— Скажите, вы любите путешествия?
Уверен, что вы ответите "да", вряд ли в другом случае вы бы обратили внимание на эту статью :)
— Интересна ли вам тема мобильной разработки?
Тут я уже не так уверен, и надеюсь, этой статьей я не отобью вам интерес. В любом случае, тут будет некоторое количество технических подробностей, которые могут быть вам немного полезными, но не обязательно.
— А как насчет кроссплатформенной мобильной разработки?
Знаю, знаю, холивар, но, что поделать — будем спорить и рождать истины.
Так или иначе, в этой душераздирающей истории данные темы будут затронуты, так что — самое время закрыть статью, если вы ожидаете чего-то другого ;) Хотя, я постараюсь написать так, чтобы тут были не только технические детали.
Документация по API Xamarin теперь в открытом доступе
Документация по API Xamarin
Кроме того, мы также перенесли хостинг с сайта Xamarin на docs.microsoft.com:
.NET зоопарк под призмой NET Core
Stack technology
В данный момент у нас есть три платформы: .NET Framework, Mono и .NET Core. Каждая платформа включает в себя следующие технологии:
NET Framework — WPF, WinForms, ASP.NET (DNX реализация), WCF
NET Core — UWP, ASP.NET Core, WA, Xamarin (.NET Standard), Avalonia and other
Mono — Xamarin (PCL, Share project), Unity, ASP.NET, WinForms (cross platform)
NET Core (3.0) — Всё тоже самое, что и у .NET Core выше + WPF и WinForms, ML.NET
NET Standard
Ещё есть .NET Standard. Это набор классов, методов и интерфейсов, которые позволяют писать и использовать общий код под все перечисленные выше платформы. Ещё на ней можно писать консольные приложения. Вкратце это тот же PCL, но работает на всех перечисленных выше платформах.
Cross Platform
Вклад авторов
Schvepsss 391.0maria_gore 182.0xakpc 175.0sahsAGU 138.0Mirimon 89.0Nomad1 88.0phillennium 71.0AndreyShelehin 63.0KAW 42.0SeOd 42.0