Введение в разработку для мобильных устройств

Создание мобильных приложений может быть таким простым, как открыть ваш IDE, смешать компоненты, сделать быстрое бит тестирование и выложить на App Store — все это делается за один день. Или это может быть чрезвычайно сложным процессом, который включает в себя строгий предварительный дизайн, юзабилити-тестирование, тестирование на тысячах устройств, полный жизненный бета-цикл, а затем продвижение целым рядом различных способов.

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

  1. Требования для разработки под iOS  – Мы рассмотрим и исследуем требования к построению приложений для Android и iOS.
  2. Особенности Xamarin — Перечень особенностей платформы Xamarin.
  3. Как работает Xamarin? – Краткий обзор того, как работает Xamarin, чтобы донести функционал C# в iOS и Android.
  4. Начало работы– Перейдите к созданию вашего первого приложения в Xamarin для IOS, Android или всех платформ с использованием Xamarin.Forms.

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

 

Требования для разработки под iOS

Если вы хотите разрабатывать под iOS, хотите ли вы работать в Xamarin Studio или Visual Studio, вы должны иметь компьютер Apple Macintosh, который работает под управлением как минимум  OS X Yosemite. Хотя приложения Xamarin основаны на .NET BCL и написаны на C#, Xamarin.iOS требуется iOS SDK и Xcode для компиляции. Кроме того, эмулятор iOS устройства является частью iOS SDK и поэтому доступен только на Mac. Чтобы скачать iOS SDK, необходимо установить Xcode, который можно бесплатно загрузить в App Store. В дополнение к iOS SDK Xcode также нужно будет установить iOS эмулятор для разработки и тестирования, который бесплатно прилагается к Xcode 7, позволяющий производить тестирование на физическом устройстве, не являясь участником программы разработчиков Apple.

Обратите внимание, что для того, чтобы распространять ваш Xamarin.iOS вы должны быть участником программы разработчиков Apple (Apple’s Developer Program). Эта программа требует ежегодного обновление членства, что стоит $99 USD/год.

 

Особенности Xamarin

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

Xamarin уникален в этом пространстве, предлагая один язык – C#, библиотеку классов и среды выполнения, которая работает во всех из трех из мобильных платформ —  iOS, Android и Windows Phone (родной язык Windows Phone это уже C#), оставаясь родной (не интерпретированной) средой приложений, которая является достаточно мощной, даже для требовательных игр.

Каждая из существующих платформ разработки  мобильных приложений имеет множество специфических особенностей и каждая различается своими возможностями создавать нативные приложения — то есть, приложениям, которые компилируются в родной для конечного устройства машинный код и которые плавно взаимодействуют с базовой подсистемой Java. Например некоторые платформы позволяют создавать приложения только в HTML и JavaScript, а некоторые из них очень низкого уровня и разрешают использовать только C/C++. Некоторые платформы даже не задействуют нативный инструментарий управления.

Xamarin является уникальным в том, что он сочетает в себе всю силу родных платформ и добавляет целый ряд мощных функций, включая:

  1. Целевые модели к базовым SDKs – Xamarin содержит целевые модели почти ко всей базовой платформе SDK в iOS и Android. Кроме того эти модели, являются строго типизированными (strongly-typed), что подразумевает их удобное  использование и обеспечивают надежную модель времени компиляции при отладке и во время разработки. Это приводит к минимизации ошибок времени выполнения и высокого качества приложений.
  2. ObjectiveC, Java, C, и C++ взаимодействие –Xamarin обеспечивает возможности для непосредственного вызова Objective-C, Java, C и C ++ библиотек, предоставляя вам эффективные средства для использование широкого спектра кода уже созданных сторонних библиотек. Это позволяет воспользоваться уже существующими iOS и Android библиотеками, написанные на Objective-C, Java или C ++. Кроме того, Xamarin предлагает целевые проекты, которые позволяют легко связать нативные Objective-C и Java библиотеки с помощью декларативного синтаксиса.
  3. Современная конструкция языка – приложения Xamarin написаны на C #. Это современный язык, который включает в себя значительные улучшения по сравнению с Objective-C и Java, такие как динамические языковые особенности, функциональные конструкты, такие как Лямбда-выражения, LINQ, функции параллельного программирования, универсальные шаблоны, и многое другое.
  4. Замечательная базовая библиотека классов (BCL) – приложения Xamarin используют .NET BCL, крупную коллекцию классов, которые содержат обширные и оптимизированные функции, такие как мощный XML, работа с базами данных, сериализация, функции ввода-вывода, работы со строками, поддержка сети, и прочие. Кроме того, существующий C# код может быть скомпилирован для использования в приложениях, что обеспечивает доступ к тысячам из тысяч библиотек, которые позволят вам делать вещи, которые еще не охвачены в BCL.
  5. Современная интегрированная среда разработки (IDE) – Xamarin предлагает использовать Xamarin Studio на Mac OS X, а также Xamarin Studio или Visual Studio на Windows. Это оба современных IDE которые включают в себя такие функции, как автоматическое завершение кода, усовершенствованная системы управления проектом и решением, библиотека шаблонов комплексного проекта, встроенную систему управления версиями и многие другие.
  6. Поддержка мобильной кросс-платформенной разработки – Xamarin предлагает усовершенствованную поддержку кросс-платформенной разработки для трех основных мобильных платформ iOS, Android и Windows Phone. Создаваемые приложения могут использовать до 90% общего кода, а библиотека Xamarin.Mobile предлагает единый API для доступа к общим ресурсам на всех трех платформах. Это может значительно снизить затраты на разработку и время выхода на рынок для разработчиков мобильных приложений, нацеленных на три наиболее популярных мобильных платформы.

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

Это статья фокусируется на том, чтобы начать создавать приложения для iOS и Android. Если вы заинтересованы в получении дополнительной информации о кросс-платформенной разработки с Xamarin (включая Windows Phone), вы можете ознакомиться с руководством здесь.

Давайте посмотрим, как это все работает.

 

Как работает Xamarin?

Xamarin предлагает два коммерческих продукта: Xamarin.iOS и Xamarin.Android. Они оба построены поверх платформы Mono, версии .NET Framework с открытым исходным кодом на основе опубликованных стандартов .NET ECMA. Моно повсеместно известна почти так же долго, как .NET Framework и работает на практически всех мыслимых платформах, включая Linux, Unix, FreeBSD и Mac OS X.

Для iOS Xamarin- компилятор компилирует приложение Xamarin.iOS в Ahead-of-Time (АОТ), непосредственно в машинный ARM ассемблер-код. Для Android Xamarin-компилятор компилирует приложение вплоть до промежуточного языка (Intermediate Language — IL), который затем компилируется в собственную Just-in-Time (JIT) сборку при запуске приложения.

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

MonoTouch.dll и Mono.Android.dll

Приложения Xamarin построены на подмножестве .NET BCL известном как Xamarin Mobile Profile. Этот профиль был создан специально для мобильных приложений, и упакован в MonoTouch.dll и Mono.Android.dll (для iOS и Android соответственно).

Профиль приложения включает методы, очень похожих на методы Silverlight (и Moonlight), построенных параллельно Silverlight / Moonlight .NET Profile. На самом деле, Xamarin Mobile Profile эквивалентен Silverlight Profile 4.0, с массой обратно включенных BCL классов.

Для получения полного списка доступных сборок и классов, смотрите Список сборки Xamarin.iOS и Список сборки Xamarin.Android

В дополнение к BCL, эти .dll включают библиотеки оболочек для почти всего iOS SDK и Android SDK, которые позволяют ссылаться на базовые интерфейсы API SDK непосредственно из C#.

Окончательная сборка приложения

При окончательной сборке приложения, результатом является пакет приложения, либо файл .app в iOS, либо файл .apk в Android. Эти файлы ничем не отличаются от пакетов прикладных программ, построенных в IDE на платформе нативных библиотек платформ и развертываемых аналогичным образом.

Начало работы

Теперь вы немного узнали о том, как работает Xamarin, пора начинать!

Следующий шаг — построить свое первое приложение, используя одно из этих руководств:

Hello iOS!
Hello iOS!
Hello, Android
Hello, Android

Резюме

Эта статья просто представила платформу Xamarin. Самое интересное начнётся, когда вы создадите свое первое отлаженное приложение. Попробуйте создать Hello, iOS, Hello, Android, и Введение в Xamarin.Forms.

Оригинал статьи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *