Представляем вам пятничную подборку полезных гайдов и шпаргалок от Джеймса Монтеманьо для разработчиков разного уровня.
Дальнейшее повествование будет вестись от имени автора.
Меня очень вдохновило недавнее быстрый Скотт Хансельман в своем блоге о том, что должны знать разработчики .
NET с начала 2017 года.
Поэтому я решил пойти немного дальше и написать небольшое руководство для разработчиков Xamarin, создающих приложения для iOS, Android и macOS в .
NET. Поэтому я связался Крис Харди , и мы вместе составили обширный список концепций и полезных ресурсов, связанных с Xamarin. Прежде чем мы начнем, вам обязательно стоит заглянуть в замечательный блог Скотта, поскольку он полон полезной информации.
Кроме того, чтобы сделать этот пост максимально полезным, я разделил его на специальные разделы: «нужно знать», «нужно знать» и «приятно знать», а также подготовил специальные разделы для iOS и Android. Когда вы будете готовы начать работу с Xamarin, перейдите по ссылке портал , что определенно является идеальным местом для начинающих разработчиков.
Именно там я еще в 2011 году начал работать в сфере мобильной разработки.
Итак, начнем!
С чего начать?
Тем, кто хочет много читать, скачивать, изучать и смотреть по теме Xamarin, рекомендуем сразу обратить внимание на следующие порталы:- Читать и скачать Ксамарин! связанный контент
- Бесплатное самообучение в Университете Ксамарин.
- Книги Xamarin позволяет разработчикам тестировать API в интерактивном режиме.
- xamarinshow.com : Еженедельное шоу на канале CH9, посвящённое разработке и ведущее мной.
- Здесь представляет проекты Xamarin на основе открытого исходного кода.
Необходимо знать: Xamarin
Что такое Хамарин? С помощью платформы Xamarin разработчики могут создавать полностью собственные приложения для iOS, Android и macOS, используя C#, F# или даже VB.NET. При этом имеется 100% доступ к нативному API и возможность совместного использования логики с другими .NET-приложениями.
У нас есть одна супероптимизированная среда выполнения .
NET. , который предоставляет .
NET для iOS, Android, macOS, IoT, Linux, PS4, Xbox и т. д. Он реализует API .
NET и поддерживает стандарт .
NET, поэтому вам не нужно беспокоиться о внутренней реализации.
Традиционная разработка на Xamarin Также известная как собственная разработка Xamarin, она дает разработчикам возможность совместно использовать бизнес-логику приложений и создавать собственные пользовательские интерфейсы для каждой платформы со 100% доступом к каждому API. Разработка Xamarin.Forms предлагает разработчикам абстракцию кроссплатформенного пользовательского интерфейса для iOS, Android и Windows. Пользовательские интерфейсы могут быть созданы в XAML или другом коде, а встроенные элементы управления устанавливаются во время выполнения для каждой платформы.
Он также предлагает функции MVVM (Model-View-ViewModel), такие как привязка данных и манипулирование ими.
Вы можете получить доступ к собственным API через платформу проекта и службы зависимостей.
Межплатформенное совместное использование кода
Существует несколько способов использования общего кода в разных приложениях:
- PCL (переносная библиотека классов) .
Эта библиотека, также известная как Pickle, дает разработчикам возможность создавать «библиотеку классов», охватывающую несколько платформ.
Эта библиотека по сути действует как основа, предоставляя кроссплатформенный API, доступный на каждой платформе.
Чем больше платформ вы выберете, тем меньший уровень API будет доступен.
- Генеральный проект .
Самый простой способ поделиться кодом на разных платформах.
Он функционирует как «связывающий файл», разделяя код с целевой платформой.
Преимущество в том, что здесь доступны все целевые API, поэтому вы можете компилировать их по условию.
Однако такой подход может привести к путанице в коде, к тому же в этом случае сборка не создается: файлы связываются между собой в проект платформы.
- .
NETStandard или «нетстандарт»
.Библиотека netstandard — это следующий этап эволюции, и она вполне может заменить PCL. Разработчики получают по-настоящему кроссплатформенную библиотеку, и она может работать в любой среде выполнения, реализующей такие API, как Mono, .
NET Framework и .
NET Core.
Источники библиотеки
В .NET и на любой платформе доступно множество API, но иногда хочется большего! И вы можете получить их здесь:
- NuGet — менеджер пакетов для платформы разработки Microsoft, включающей .
NET. Клиентские инструменты NuGet предоставляют возможность создавать и использовать пакеты.
Галерея NuGet — это центральный репозиторий пакетов, который используется всеми авторами и пользователями пакетов.
- Компонент — Магазин компонентов — это тщательно подобранная галерея библиотек и менеджер платформ для Xamarin. Он предлагает платные и бесплатные библиотеки, которые можно устанавливать непосредственно в приложения iOS и Android. Эти библиотеки создаются как разработчиками компонентов Xamarin, так и сторонними разработчиками.
- Плагин — Если честно, плагины для Xamarin и Windows просто отличные.
Они позволяют вам получить доступ к собственным функциям кросс-платформенного API непосредственно из общего кода! Они имеют открытый исходный код и содержат много интересных вещей, включая геолокацию, подключение и фотографии.
Каждый плагин доступен по лицензии MIT и может быть установлен в любую стандартную библиотеку iOS, Android, Windows, PCL или .
NET через NuGet.
Библиотеки
Давайте посмотрим на некоторые действительно интересные библиотеки, созданные или поддерживаемые Xamarin:- Моноигра — это эффективный, гибкий и кроссплатформенный API для разработки 2D- и 3D-игр.
Он обеспечивает основу для многих кроссплатформенных игровых движков.
Однако его также можно использовать непосредственно в играх, не заключая в игровой движок.
- УрхоШарп — это кроссплатформенный движок высокого уровня (3D и 2D), который можно использовать для создания анимированных 3D и 2D игр и сцен в приложениях с использованием геометрических фигур, материалов, источников света и камер.
UrhoSharp совместим с мобильными и настольными приложениями, а также с HoloLens и VR.
- SkiaSharp предлагает богатый и мощный графический API, который можно использовать для рендеринга в 2D-буферах.
Вы можете использовать их для реализации элементов пользовательского интерфейса и 2D-графики, которые можно включить в приложение.
SkiaSharp — это привязка .
NET к библиотеке Skia, которая наследует функциональность и мощь этой библиотеки.
- CocosSharp — простая библиотека для 2D-игр, использующая C# и F#.
Это .
NET-порт популярного движка Cocos2D.
Что нужно знать: iOS
Расширения — это виджеты, предоставляемые iOS в стандартных обстоятельствах, например, в Центре уведомлений, когда пользователь запрашивает клавиатуру или редактирует фотографии.Все расширения устанавливаются вместе с приложением-контейнером и активируются из определенной «точки расширения» в приложении-хосте.
WatchOS — это особая версия iOS, предназначенная для устройств Apple Watch. tvOS — Apple выпустила четвертое поколение оборудования Apple TV с обновленным сенсорным пультом дистанционного управления и новой операционной системой (на базе iOS9).
Регистрационные профили — когда вам нужно установить приложение на устройство или выпустить его в App Store, вам необходимо получить учетную запись разработчика и создать регистрационный профиль.
Они должны связать устройства, учетные записи и компьютеры разработчика вместе.
Что нужно знать: Android
Android одежда — это версия Android, предназначенная для носимых устройств, таких как умные часы.хранилище ключей — используется для подписи Android-приложений с целью размещения их в соответствующих магазинах.
Анализ API и SDK - компиляции, минимизация, планирование - все, что важно и стоит изучить.
Посмотрите короткое видео по теме.
Необходимо знать: Xamarin
Линкер используется для уменьшения размера приложений для iOS И Андроид , выполняет статический анализ приложения, чтобы определить, какие узлы, типы и члены классов оно использует. Благодаря этому любой неиспользованный предмет будет выброшен.Иллинойс — своего рода промежуточный язык, который создается при компиляции.
Как писал Скотт: C# — это яблоки, из которых IL делает яблочное пюре, а JIT/AOT и среда выполнения делают яблочный сок.
АОТ - означает Ahead of Time Compilation, принимает IL и компилирует его в машинный код, чтобы выполнить полученный двоичный файл в собственной форме.
Это то, что использует Xamarin.iOS. ТОЧНО в срок - Означает «компиляция точно в срок», берет IL и компилирует его, подготавливая к запуску как машинный код. Это то, что использует Xamarin.Android.
Что нужно знать: iOS
Раскадровка позволяет разработчику определять оба контроллера грантов и перемещаться между ними в области дизайна, а также предлагает WYSIWYG-редактирование пользовательского интерфейса приложения.XIB — Шаблон iOS View XIB, который позволяет добавлять отдельный файл .
xib, который можно прикрепить к определенному обратному классу.
Регистраторы — код, который предоставляет управляемый код в Objective-C. Это достигается путем создания списка каждого управляемого класса, наследуемого от NSObject.
Следует знать: Android
Далвик и АРТ .ART — это среда выполнения Android, которая используется приложениями и некоторыми системными службами Android. ART и его предшественник Dalvik изначально создавались специально для проекта Android. Мульти-Декс - Приложение Android (APK) состоит из исполняемых файлов байт-кода в форме исполняемого файла Dalvik (DEX), которые содержат скомпилированный код, используемый для запуска приложения.
Спецификации DalvikExecutable ограничивают общее количество методов, на которые можно ссылаться в одном файле DEX, до 65 536. Multi-Dex создает несколько файлов DEX для APK, поэтому ограничения можно обойти.
ABI (двоичный интерфейс приложения) - Один APK может содержать собственный код для поддержки нескольких разных архитектур.
Каждая коллекция кода, зависящего от архитектуры, связана с двоичным интерфейсом приложения (ABI).
Android и управляемые вызываемые оболочки это то, что позволяет .
NET взаимодействовать с Java и наоборот. Виртуальные устройства Android — это эмуляторы Android, которые используются для отладки приложений.
HAXM (Менеджер аппаратного ускорения выполнения) — это программное обеспечение Intel для виртуализации для Windows и macOS, обеспечивающее потрясающие возможности AVD.
Было бы здорово, если бы все знали
План развития Xamarin.Forms — Отличный стратегический план будущих функций и исправлений для Xamarin.Forms. Профайлер Xamarin интегрируется с существующими инструментами для сбора информации о приложениях Xamarin. Используйте его, чтобы найти утечки памяти, устранить узкие места в производительности и доработать приложение, прежде чем выпустить его бесплатно.Модель-Представление-ViewModel (MVVM) — это архитектурный шаблон, созданный с учетом XAML. Шаблон устанавливает разделение между пользовательским интерфейсом XAML (представлением) и базовыми данными (моделью) посредством класса, который является посредником между представлением и моделью (ViewModel).
View и ViewModel часто соединяются посредством привязок данных, определенных в файле XAML. BindingContext для представления обычно является экземпляром ViewModel. Пользовательский компоновщик — если набора опций, доступного по умолчанию, недостаточно, то управлять процессом компоновки можно с помощью XML-файла, который будет описывать то, что нужно от компоновщика.
Порталы, на которые стоит обратить внимание
- Блог релизов - Будьте в курсе происходящего.
- Хамарин в Твиттере — чирикать и ещё раз чирикать!
- События Xamarin — все, что происходит в мире Xamarin.
- Подкаст Xamarin - пока ты не слушаешь Объединение конфликтов , я настоятельно рекомендую послушать подкаст Xamarin.
- Еженедельный Xamarin — специально отобранные еженедельные материалы в рассылке «все о Xamarin»!
Спасибо за перевод
Александр Алексеев — Разработчик Xamarin, фрилансер.
Работаем с платформой .
NET с 2012 года.
Принимал участие в разработке системы автоматизации закупок в компании Digamma. С 2015 года он стал фрилансером и переключился на мобильную разработку с использованием Xamarin. В настоящее время работаю в StecPoint над приложением для iOS. Управляет ресурсом XamDev.ru и сообщество разработчиков Xamarin в социальных сетях: ВК , Фейсбук , Телеграмма .
Теги: #разработка iOS #разработка Android #microsoft #разработка мобильных приложений #разработка мобильных приложений #xamarin #xamarin.forms ##xamarincolumn
-
Основы Использования Google Adwords
19 Oct, 24 -
Как Мы (Не) Нашли Снайпера С Квадрокоптера
19 Oct, 24 -
Високосные Годы
19 Oct, 24