Рубрика «xamarin»

В данной статье мы рассмотрим, чем отличается Property Injection от Constructor Injection и реализуем первое в дополнение к последнему на базе небольшого DI-контейнера в исходниках.

Это обучающий материал начального уровня. Будет полезен тем, кто ещё не знаком с DI-контейнерами или интересуется, как оно устроено изнутри.
Читать полностью »

Тестирование является неотъемлемым элементом любой разработки программного обеспечения. На него выделяется достаточно много времени в общем объеме трудозатрат, однако само по себе тестирование вещь монотонная и однообразная, поэтому хорошо поддается автоматизации. В нашей сегодняшней статье мы рассмотрим то, как использовать UI-тесты в ваших проектах на Xamarin, в том числе в больших бизнес-приложениях.

UI-автотесты для Xamarin - 1Читать полностью »

Смартфоны продолжают отвоевывать все больше места под солнцем не только как инструмент потребления фотографий котиков, но и в качестве рабочего инструмента. Поэтому и спрос на мобильную разработку растет. Принято считать, что тру и кул — это Objective-C/Swift для iOS и Java/Kotlin для Android. Спору нет, тру и кул, но существует большое количество реальных сценариев, в которых использование кросс-платформенных фреймворков более предпочтительно в сравнении с нативными инструментами. Подробнее под катом!

Нативно или нет? 4 мифа о кросс-платформенной разработке - 1Читать полностью »

С недавнего времени занялся разработкой мобильных приложений с помощью Xamarin.Forms в связи с производственной так сказать необходимостью. Не буду конечно рассказывать про танцы с бубнами чтобы написать и запустить на эмуляторе приложение «Hello, World!», но главное разработка пошла достаточно плавно.

Благо и понимание задачи было — а именно — взаимодействие мобильного приложения с базой данных внутренней CRM системы в компании, добавить сотрудникам мобильности, но при этом не забывать и о безопасности. Было принято решение создать WebAPI, ибо чтобы работать с уже привычными ASMX веб-сервисами в Xamarin нужно плясать с бубнами.

Как сказал выше, в том числе хотелось сделать «связующее звено» достаточно безопасным, а значит мобильное приложение должно иметь авторизацию (до кучи и удобства с возможностью сохранения авторизации и автоматического входа.

Не хотелось глубоко копаться в реализации WebAPI с авторизацией на уровне Token, а хотелось сделать что-то попроще, тем более пока «гуглил» видел что такого желания у людей с избытком, но все отсылы отвечающих были либо к стандартным механизмам, либо использования каких-нибудь пакетов из NuGet, чего хотелось бы по максимуму избежать.

В базе собственной CRM и так уже есть вся информация для авторизации и городить что-то лишнее тупо не хотелось.

В итоге, после долгих мытарств, поисков и т.п. — думаю у меня получилось достаточно неплохое решение, которым мне и хочется поделится с сообществом.
Читать полностью »

В последнее время многие разработчики приложений склонны соглашаться с тем, что Xamarin может считаться нативным инструментом разработки. В самом деле, существует мнение, что «все, что можно сделать в приложении iOS с использованием Objective-C или Swift, и все, что можно сделать в приложении Android с помощью Java, можно сделать и на языке C# при помощи Xamarin».

Тем не менее существует много подводных камней в соперничестве нативной платформы и платформы Xamarin. Итак, давайте сравним Xamarin с нативными инструментами разработки и разработкой гибридных платформ (Ionic, PhoneGap/Cordova).

Xamarin

Стек технологий: один стек, одна кодовая база (C#, .Net framework + нативные библиотеки)
Совместное использование кода: да, до 96% с использованием Xamarin.Forms
UI/UX (User Interface/User Expierence): возможна полная настройка UI для каждой платформы
Производительность: хорошая, близкая к родной
Возможности аппаратных средств: высокие. Xamrin использует платформо-зависимые API и поддерживает связь с нативными библиотеками
TTM (время выхода на рынок): c Xamarin.Forms TTM происходит быстро из-за ограниченной настройки и расширенного обмена кодами.Читать полностью »

В новом дайджесте мы собрали истории про A/B-тестирование в Яндексе, про Google и Swift, про закрытие проектов, про новых тамагочи, про автоматизацию всего сущего и многое другое.

Дайджест интересных материалов для мобильного разработчика #231 (20 ноября — 26 ноября) - 1Читать полностью »

Всем привет! Хочу рассказать о запущенном мною проекте, направленным на упрощение жизни разработчиков под Xamarin Forms.

LiveXAML в процессе

Суть LiveXAML очень проста. Вы устанавливаете его себе в проект, и после этого можете разрабатывать XAML интерфейс прямо в рантайме. То есть, как обычно, запускаете своё приложение в эмуляторе или на телефоне, и при этом можете менять XAML в реальном времени, без перекомпиляции или каких-либо задержек. Разработка «вживую» позволяет всегда видеть своё приложение в скомпонованном виде с настоящими данными.

Читать полностью »

Привет! Представляю вашему вниманию перевод статьи Updating Xamarin.iOS Apps for the iPhone X автора John Miller.

Самым значительным событием в компании Apple в этом году, безусловно, стал выход Iphone X. Новейший дисплей Super Retina создает потрясающий эффект погружения по сравнению с тем, что нам когда-либо доводилось испытывать при взаимодействии с айфоном. И, вероятно, в связи с такими переменами, разработчики мобильных приложений на Xamarin задаются вопросом о том, какие изменения нужно внести в свои приложения. Итак, сначала давайте ознакомимся с тем, как подготовить приложения для Iphone X.

Анализ приложения с помощью iPhone X Simulator

Чтобы проверить, совместимо ли ваше приложение с iPhone X, в первую очередь обновите Xamarin.iOS до версии 11+ и скачайте и установите Xcode 9. Если вы еще этого не сделали, то вам нужно ознакомиться с документацией о начале работы с iOS 11. Затем, после обновления, вы сможете запустить ваш симулятор Iphone и понаблюдать, как приложение будет себя вести. Обратите особое внимание на области приложения, которые не используют автоматическую компоновку элементов интерфейса (Auto Layout), и те, что отображают содержимое в полноэкранном режиме. Если ваше приложение поддерживает горизонтальный режим, не забудьте повернуть симулятор и убедиться в том, что интерфейс и в этом режиме отображается корректно. И если приложение на Iphone запускается, но не использует разрешение экрана в полной мере, то, скорее всего, причина в отсутствии раскадровки экрана запуска (Launch Screen Storyboard). Вы можете прочесть документацию о получении этой настройки на официальном сайте.

image

Читать полностью »

Привет! В Нью-Йорке в эти дни проходит ежегодная конференция Microsoft Connect 2017. На ней уже анонсировали множество обновлений существующих продуктов и большое количество новых инструментов. Под катом читайте о самых интересных из них.

Ключевые анонсы Connect(); 2017 - 1
Читать полностью »

Приглашаем вас посмотреть прямую трансляцию Connect(); 2017, которая будет проходить на русском языке. В рамках неё Скотт Гатри и Скотт Хансельман представят самые крутые новости про Azure, Data, AI, DevOps, Visual Studio, Xamarin, и не только. Плеер можно найти под катом.

Connect(); 2017: прямая трансляция - 1
Читать полностью »