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

Xamarin *

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

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

Как просто подключить и начать печатать через портативный Bluetooth принтер EPS/POS в приложении Xamarin Android

Время на прочтение2 мин
Количество просмотров4.1K
С чего же мы начнём?

Добавим в проект 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

Время на прочтение4 мин
Количество просмотров3.1K
На прошлой неделе на Xamarin Developer Summit мы анонсировали «Горячую перезагрузку (Hot Reload) XAML для Xamarin.Forms», которая позволяет вносить изменения в пользовательский интерфейс XAML и просматривать их в режиме реального времени, не требуя другой сборки и развертывания.

Горячая перезагрузка 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! для путешественников — история одного домашнего проекта

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

— Скажите, вы любите путешествия?


Уверен, что вы ответите "да", вряд ли в другом случае вы бы обратили внимание на эту статью :)


— Интересна ли вам тема мобильной разработки?


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


— А как насчет кроссплатформенной мобильной разработки?


Знаю, знаю, холивар, но, что поделать — будем спорить и рождать истины.


Так или иначе, в этой душераздирающей истории данные темы будут затронуты, так что — самое время закрыть статью, если вы ожидаете чего-то другого ;) Хотя, я постараюсь написать так, чтобы тут были не только технические детали.

Стойте, стойте, куда вы, я же пошутил! Тут будет и про котиков! Читать далее...

Документация по API Xamarin теперь в открытом доступе

Время на прочтение2 мин
Количество просмотров4.5K
Мы рады объявить о выпуске всей документации по API Xamarin в формате Open-Source! Документация по API помогает улучшить взаимодействие с IntelliSense и является одним из лучших способов помочь разработчикам достичь своих целей.

Документация по API Xamarin


Кроме того, мы также перенесли хостинг с сайта Xamarin на docs.microsoft.com:

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

.NET зоопарк под призмой NET Core

Время на прочтение3 мин
Количество просмотров15K
Всем привет! Сегодня мы рассмотрим разные фишки и изменения, которые появились в .NET Core платформе и сравним их с Framework. Я разбил статью на модули для более лучшего понимания. Эта статья будет интересна тем кто собирается переходить на .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


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

Готовимся к Hardened Runtime и Notary Service в macOS Mojave

Время на прочтение2 мин
Количество просмотров3.3K
С выходом macOS Mojave Apple представила поддержку служб Hardened Runtime и Notary. Эти две службы предназначены для повышения безопасности приложений в macOS. Недавно компания заявила:
Начиная с macOS 10.14.5, все новые или обновленные расширения ядра и все программы от разработчиков, впервые освоивших распространение с Developer ID, для запуска должны быть заверены через Hardened Runtime и Notary. В будущей версии macOS заверение потребуется по умолчанию для всех программ.
Сегодня поможем вам разобраться в новых требованиях с точки зрения Xamarin.

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

Умный дом / Обновления в Lazurite

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

Всем добрый день! Продолжаю развивать свой проект Lazurite. За последние несколько месяцев было проведено много работы по оптимизации и улучшению программы. Об основных изменениях хочу рассказать вам. Прошлая публикация.


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

Работа Xamarin c SDK, написанном на C

Время на прочтение6 мин
Количество просмотров3.4K
Не так давно у меня был интересный проект на Xamarin Forms для нескольких платформ:

  • Android
  • iOS
  • UWP
  • MacOS

Нам было необходимо создать библиотеку, которая смогла бы подключаться к нескольким нашим проектам: Xamarin.Forms, Android на Java, Cordova, а также позволять сторонним разработчикам использовать наше SDK в своих проектах с минимальными усилиями для интеграции.

Командой было решено написать библиотеку на C и подключать ее к нашим проектам по мере необходимости. Такое решение позволило нам иметь одну кодовую базу для SDK проекта и нам не пришлось дублировать библиотеку отдельно под разные платформы с возможными проблемами при переносе кода и дублировании тестов для покрытия и проверки кода.

Правда в итоге оказалось достаточно тяжело «подружить» библиотеку на C с разными платформами на Xamarin платформе. В данной небольшой статье будет расписано как нам удалось это сделать, и возможно, кому-то это пригодится и позволит сэкономить время на проекте.
Итак, если вам интересно то добро пожаловать под кат

Как мы удвоили скорость работы с Float в Mono

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

Мой друг Aras недавно написал один и тот же трассировщик лучей на разных языках, в том числе на C++, C# и компиляторе Unity Burst. Разумеется, естественно ожидать, что C# будет медленнее, чем C++, но мне показалось интересным, что Mono настолько медленнее .NET Core.

Опубликованные им показатели были плохими:

  • C# (.NET Core): Mac 17.5 Mray/s,
  • C# (Unity, Mono): Mac 4.6 Mray/s,
  • C# (Unity, IL2CPP): Mac 17.1 Mray/s

Я решил посмотреть, что происходит, и задокументировать места, которые можно улучшить.

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

  • Во-первых, необходимо улучшить параметры Mono по умолчанию, потому что пользователи обычно не настраивают параметры у себя
  • Во-вторых, нам нужно активнее знакомить мир с бекэндом оптимизации кода LLVM в Mono
  • В-третьих, мы улучшили настройку некоторых параметров Mono.

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

Результаты на моём домашнем iMac для Mono и .NET Core были следующими:

Рабочая среда Результаты, MRay/sec
.NET Core 2.1.4, отладочная сборка dotnet run 3.6
.NET Core 2.1.4, релизная сборка dotnet run -c Release 21.7
Ванильный Mono, mono Maths.exe 6.6
Ванильный Mono с LLVM и float32 15.5
Читать дальше →

Комбинация кроссплатформенного и нативного подхода в разработке мобильных приложений

Время на прочтение11 мин
Количество просмотров8.2K
Выпускать приложения для лишь одной мобильной платформы – не актуально и нужно заботиться о разработке сразу двух версий, для iOS и Android. И здесь можно выбрать два пути: работать на «нативных» языках программирования для каждой операционной системы или использовать кроссплатформенные фреймворки.

При разработке одного из проектов в компании DD Planet я сделал ставку на последний вариант. И в этой статье расскажу об опыте разработки кроссплатформенного приложения, проблемах, с которыми мы столкнулись, и найденных решениях.
Читать дальше →

Распространение приложения под iOS внутри компании (Enterprise Distribute iOS App in-house)

Время на прочтение7 мин
Количество просмотров28K
(Осторожно, под катом трафик)
Подготовка и распространение приложения IOS внутри компании весьма непростая задача, особенно когда приложение написано на Windows с использованием Visual studio, а большинство туториалов в интернете описывают исключительно MacOS с использованием Xcode. Однако после часов сражения с детищем Apple, нам удалось свершить казалось бы невозможное, а именно: скрестить жирафа с носорогом собрать IOS приложение на Xamarin в архив Xcode, сразу на MacOS, после получить нужные файлы для распространения, и в завершении создать ссылку, по которой будет распространяться приложение.

Да, на слух вроде не очень сложно. Однако когда дело касается разработки приложений под устройства Apple, всё становится в несколько раз непонятней и сложней. И после триумфальной, но нелёгкой победы, нам захотелось оставить свой след в истории, написав сей туториал.

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

Программное обеспечение для умного дома #2

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

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


image

Далее...

Распознавание экомаркировок с использованием Azure Custom Vision из мобильного приложения

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

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


Сервис CustomVision является частью облачного Cognitive Services на платформе Azure.
О том, какие технологии пришлось изучить, как работать с CustomVision, что он из себя представляет и что позволяет достичь — далее.


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

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

Достоинства и недостатки Xamarin

Время на прочтение7 мин
Количество просмотров36K
Привет, Хабр! Сегодня расскажем вам о том, что пользователям нравится в Xamarin, нашем инструменте для кросс-платформенной разработки мобильных приложений. Кроме того, затронем и недостатки платформы. Кстати, под катом вы найдете много кода и показательные примеры, а не только текст с перечислением. Присоединяйтесь!

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

Единые инструменты в IT: хорошо или плохо?

Время на прочтение6 мин
Количество просмотров5.5K
А вы бы хотели всегда работать в одной среде? Так, чтобы не приходилось скакать туда-сюда по средам разработки и при использовании инструментов. До идеала, конечно, еще далеко, но IT-мир стремится к этому. Сегодня рассказываем о единой кросс-платформенной библиотеке API. Присоединяйтесь!

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

8 новинок Xamarin

Время на прочтение4 мин
Количество просмотров8.5K
Не так давно прошла конференция Microsoft Build 2018. Это хорошая новость для разработчиков, работающих с продуктами и технологиями Microsoft, включая Xamarin. Для тех, кто следил за событиями из дома, мы собрали все анонсы и объявления, сделанные на конференции. Под катом вы найдете новости, касающиеся Xamarin, которые, мы уверены, порадуют разработчиков.

А что понравилось больше всего вам и чего не хватило?

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

Опыт создания мобильного приложения: получилось не с первого раза

Время на прочтение8 мин
Количество просмотров13K
Только что мы закончили наш цикл статей по квантовому программированию. Теперь ненадолго вернемся к более понятному — мобильной разработке, и в серии из нескольких статей поговорим о конструкторе для разработки мобильных приложений для интернет-магазинов. Это уже вторая попытка ребят создать такой конструктор и теперь она успешна. Заряжайтесь опытом под катом!

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

Property Injection своими руками (Xamarin/.Net)

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

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

UI-автотесты для Xamarin

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

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

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

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

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