Как стать автором
Поиск
Написать публикацию
Обновить
0.5

Xamarin *

Инструменты для кросс-платформенной разработки

Сначала показывать
Порог рейтинга
Уровень сложности

Использование сервисов и обработка их результатов в Xamarin

Время на прочтение9 мин
Количество просмотров2.3K

Продолжим обсуждать различные задачи для Xamarin с которыми приходится регулярно сталкиваться, так как статьи по данной тематике появляются не очень часто. Данная статья больше будет полезна начинающим разработчикам, но и более опытным тоже может быть интересно.

Итак, почему такая тема? Поработав на разных проектах, словил себя на мысли, что на каждом из них для вызова сервисов и обработки ошибок используются совершенно разные подходы. В этой статье я решил собрать все, с чем приходилось столкнуться, показать, какие есть варианты, и подумать, какие у каждого есть плюсы и минусы.

Рассмотрим различные подходы на простом примере, где у нас будет запрос списка стандартных моделек с бекенда, а затем преобразование их в список вью-моделек для отображения коллекции. UI часть мы здесь рассматривать не будем, ограничимся только работой сервисов и вью-модели.

Итак, наша простая модель, которую мы и будем запрашивать с бекенда:

Читать далее

Xamarin.Forms 5.0 уже здесь, уже доступен

Время на прочтение2 мин
Количество просмотров5.7K
Сегодня мы публикуем финальный стабильный выпуск Xamarin.Forms версии 5.0. Этот основной выпуск содержит сотни улучшений качества и включает новые функции, включая темы приложений, кисти, CarouselView, RadioButton, Shapes and Paths и SwipeView.

Команда Xamarin хотела бы выразить огромное спасибо многим участникам и рецензентам, которые помогли сделать этот выпуск. Вы великолепны!

Под катом немного подробностей и много полезных ссылок, связанных с Xamarin.Forms 5.0.

Читать дальше →

Экраны отсутствующего контента в мобильном приложении на примере Xamarin

Время на прочтение5 мин
Количество просмотров3.3K

Очень часто, работая с Enterprise приложениями, приходится сталкиваться с подобными экранами при отсутствии получаемых данных с бекенда, когда нам на экране попросту нужно отобразить список.

Читать далее

Оживляем деревья выражений кодогенерацией

Время на прочтение8 мин
Количество просмотров12K

Expression Trees — это, пожалуй, самое удобное средство манипуляции кодом в run-time.

Расширять код метапрограммами в compile-time позволяют Roslyn Source Generators, с ними это стало проще, чем когда-либо.

Пора использовать одно во благо другого, даже если мир к этому еще не совсем готов.

Читать далее

Мигель де Икаса: от Midnight Commander до Mono в .NET 5

Время на прочтение8 мин
Количество просмотров9.9K


Мигель де Икаса создал целый ряд громких проектов: GNOME, Mono, Xamarin, Midnight Commander… Для одних айтишников это человек-легенда, сделавший поразительно много для опенсорса и .NET-экосистемы. Другие ничего не знают о нём, но постоянно пользуются плодами его трудов.


На Хабре есть множество постов с его упоминанием, но не было поста о нём самом. А завтра Мигель выступит на нашей конференции DotNext, и я решил, что это отличный повод исправить ситуацию.


Как человек, создавший GNOME, мог оказаться в Microsoft? СЕО какого ключевого IT-проекта современности долго был его главным сподвижником? Почему Ричард Столлман назвал Мигеля «предателем сообщества свободного ПО», а некоторые другие говорят, что он всю жизнь занимается клонированием?

Читать дальше →

Эстетика XAML: конвертеры значений [WPF]

Время на прочтение6 мин
Количество просмотров5.1K

В статье представлены обобщённые подходы применения конвертеров значений при написании XAML-кода.

>> Читать на английском

Читать на русском

Использование SVG ресурсов в Xamarin

Время на прочтение12 мин
Количество просмотров6.5K

При разработке мобильного приложения есть масса моментов, на которые необходимо обращать внимание. Это и выбор технологии, на которой оно будет написано, и разработка архитектуры приложения, и, собственно, написание кода. Рано или поздно наступает момент, когда костяк приложения есть, вся логика прописана и приложение , в общем-то, работает, но… нет внешнего вида. Тут стоит задуматься о графических ресурсах, которые будут использованы, поскольку графика составляет львиную долю размера итоговой сборки, будь то .apk на Android или .ipa на iOS. Сборки огромных размеров в принципе ожидаемы для мобильных игр, уже сейчас из PlayMarket порой приходится загружать объемы данных вплоть до 2 Гб и хорошо, если во время загрузки есть возможность подключиться к Wi-Fi или мобильный оператор предоставляет скоростное безлимитное подключение. Но для игр это ожидаемо, а бизнес-приложение, обладающее таким размером, невольно вызывает вопрос “Откуда столько?”. Одной из причин большого размера сборки бизнес-приложения может стать значительное количество иконок и картинок, которые в нем приходится отображать. А также не следует забывать о том, что большое количество графики пропорционально влияет на быстродействие приложения.


При создании графической составляющей приложения часто возникает серьезная проблема. Мобильных устройств существует великое множество начиная с часов и заканчивая планшетами, и разрешения их экранов очень разнятся. Из-за этого зачастую приходится включать в сборку графические ресурсы отдельными файлами для каждого из существующих типов. По 5 копий для Android и по 3 для iOS. Это существенно влияет на размер итоговой сборки, которую Вы будете выкладывать в сторы.

О том, что можно сделать для того, чтобы не попасть в такую ситуацию, мы расскажем в этой статье.

Читать дальше →

Темы приложений для Xamarin.Forms

Время на прочтение5 мин
Количество просмотров5.5K
Все основные ОС теперь поддерживают темные и светлые темы приложений, и появился Xamarin.Forms 4.7, чтобы упростить добавление этой фичи в ваши приложения. Фактически, если вы ничего не сделаете, ваши приложения Xamarin.Forms будут соответствовать предпочтениям ОС пользователя. Зачем останавливаться на достигнутом? Вы также можете настроить светлые и темные цвета, используемые в пользовательском интерфейсе вашего приложения, и даже предоставить пользователю возможность самостоятельно управлять темой своего приложения. Давайте начнем с самого начала.

Читать дальше →

Подготовка приложений для Google Play к требованиям Android 10

Время на прочтение2 мин
Количество просмотров5.1K
В северном полушарии настало лето! А это означает, что к публикации в Google Play теперь предъявляются новые требования. За прошедшие годы было несколько обновлений требований для публикации новых приложений. А также обновлений для Google Play. В этом году все сводится к обновлению вашего приложения до работы на Android 10 (API 29). Ниже приведены важные даты, которые должны быть восприняты всерьез всеми разработчиками.

Требования и даты по Android 10


  • 3 августа 2020 г. — новые приложения должны быть ориентированы на Android 10 (API 29).
  • 2 ноября 2020 г. — все приложения и обновления приложений должны быть ориентированы на Android 10 (API 29).


Сегодня давайте пройдемся по обновлению существующего приложения Android, чтобы оно полностью соответствовало требованиям.
Читать дальше →

Xamarin.Forms. Личный опыт использования

Время на прочтение10 мин
Количество просмотров19K
В статье речь пойдет о Xamarin.Forms на примере живого проекта. Кратко поговорим о том, что такое Xamarin.Forms, сравним с похожей технологией WPF, увидим, как достигается кроссплатформенность. Также разберём узкие места, с которыми мы столкнулись в процессе разработки, и добавим немного реактивного программирования с ReactiveUI.

image
Читать дальше →

«Каких Марин?» или управляем контроллером через bluetooth с помощью мобильного приложения на Xamarin (Android)

Время на прочтение16 мин
Количество просмотров12K
В прошлой статье я пообещал рассказать, о том как подключать CANNY 3 tiny с помощью UART к bluetooth. И поскольку на этих майских особо не разгуляешься, было принято решение провести время с пользой и таки сдержать обещание. Но просто подключить контроллер к Bluetooth адаптеру HC-06, было бы слишком просто для Хабра.

Поэтому мы не просто всё подключим, но еще и напишем для нашей схемы примитивнейшее приложение для Android используя C# и Xamarin.

Если вы любите мониторить «концевики» и герконы, так как это люблю я, милости прошу под кат.


Читать дальше →

[По докам] Flutter. Часть 5. Для Xamarin.Forms-разработчиков

Время на прочтение20 мин
Количество просмотров4.3K
Это заключительная часть лаконичной интерпретации документации по Flutter, которая будет полезна Xamarin.Forms-разработчикам. Учитывая текущую ситуацию, сейчас самое время изучать что-то новое! Под катом вы сможете найти для себя информацию, достаточную, чтобы оценить, стоит ли переходить с одного кросплатформенного фреймворка на другой и сколько времени это займёт.


Читать дальше →

Подарок всем под Ёлочку

Время на прочтение2 мин
Количество просмотров12K
Или всё-таки под Елочку?

Нет, под Ёлочку! Теперь точно с Ё, потому что это статья про ёфикацию!

И не просто теория или скрипты из командной строки, а настоящая рабочая программа, которую можно использовать как на компе так и на телефоне.
Читать дальше →

Ближайшие события

Продолжайте полет с Xamarin.Forms 4.4

Время на прочтение4 мин
Количество просмотров4.1K
Мы пообщались с нашими разработчиками, которые делают уйму мобильных приложений каждый год, и они сказали: «Мы не можем вспомнить, когда в последний раз мы делали мобильное приложение, которое НЕ включало бы в себя карусель.» Итак, мы рады представить новый элемент управления CarouselView в Xamarin.Forms 4.4.0. Кроме того также представляем IndicatorView для отображения страниц и элементов с каруселью. А также SwipeView для предоставления контекстных действий для любого элемента в CollectionView. Тема выпуска каруселей была бы неполной без демонстрации новой поддержки GIF-анимации для изображений. Приступим.

Читать дальше →

Почему я отказался от кросс-платформенных решений в мобильной разработке

Время на прочтение9 мин
Количество просмотров11K
image
Позвольте мне с вами кое-чем поделиться. Мне нравится идея кросс-платформенной разработки. Возможность использовать один набор инструментов для всех моих задач — это мечта. Кто не хотел бы использовать только один инструмент, чтобы успешно выполнять свои задачи? Пиши один раз, запускай везде? Я хочу!
Читать дальше →

10 самых популярных курсов Microsoft на русском

Время на прочтение5 мин
Количество просмотров41K
Привет, Хабр! Совсем недавно мы выложили первую часть серии подборок полезных обучающий курсов для программистов. И вот незаметно подкралась последняя пятая часть. В ней мы перечислили некоторые из самых популярных IT-курсов, которые доступны на нашей учебной платформе Microsoft Learn. Все они, конечно же, бесплатны. Подробности и ссылки на курсы под катом!

Темы курсов в этой подборке:

  • Python
  • Xamarin
  • Visual Studio Code
  • Microsoft 365
  • Power BI
  • Azure
  • ML

Новая серия статей


Следующая серия статей, начало 2020 года


Эта серия статей, 2019 год


Читать дальше →

Xamarin.Forms — декоративное отображение QRCode с помощью SkiaSharp

Время на прочтение2 мин
Количество просмотров5.4K


Для вывода/чтения штрихкодов есть популярная библиотека ZXing. Она умеет выводить и считывать много разных форматов: QRCode, Aztec и другие, более 2 десятков. Для считывания кодов в ней есть готовый контрол ZXingScannerView. Требуется минимум кода, чтобы добавить этот функционал в ваше приложение.

Однако, при помощи этой библиотеки код будет изображён канонически, чёрным по белому. Рассмотрим случай, когда надо изобразить код нестандартного вида, например цветной, со скруглёнными элементами или украшенный каким-либо другим способом (и чтобы он при этом продолжал хорошо считываться).

И настоящая свобода творчества открывается только если нарисовать код самому — тогда всё полностью в ваших руках. Этим и займёмся на примере QR-кода.
Читать дальше →

Xamarin.Forms — простой пример Host-based Card Emulation

Время на прочтение10 мин
Количество просмотров8K
В этой статье будем реализовывать так называемую Host-based Card Emulation (HCE, Эмуляция банковской карты на телефоне). В сети много подробных описаний этой технологии, здесь я сделал акцент именно на получении работающих приложений эмулятора и ридера и решении ряда практических задач. Да, понадобятся 2 устройства с nfc.

Сценариев использования очень много: система пропусков, карты лояльности, транспортные карты, получение дополнительной информации об экспонатах в музее, менеджер паролей.

При этом приложение на телефоне, эмулирующем карту, может быть запущено или нет и экран вашего телефона может быть заблокирован.
Читать дальше →

Xamarin.Forms Shell

Время на прочтение8 мин
Количество просмотров17K
В конце мая Microsoft выпустила в релиз Xamarin.Forms Shell — оболочку нацеленную на упрощение создания кроссплатформенных мобильных приложений и включающий в себя следующий функционал: боковое меню, вкладки, навигация, поиск.
Читать дальше →

Xamarin.Forms — удобное использование иконочных шрифтов в приложении

Время на прочтение5 мин
Количество просмотров4.3K

Постановка задачи


Для отображения иконок в приложении 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 и т.п. Но тут есть обычные аргументы против готовых библиотек: лишний функционал, лишний размер файлов, не полностью устраивает поведение, баги и т.п. Поэтому в определённый момент решил отказаться от готовой библиотеки и заменить ее на простейший велосипед из пары классов + шрифт.
Читать дальше →