Главная
Блог разработчиков phpBB
 
+ 17 предустановленных модов
+ SEO-оптимизация форума
+ авторизация через соц. сети
+ защита от спама

Детально о Xamarin

Anna | 18.06.2014 | нет комментариев
Вы недурно обладаете языком C# и платформой .NET в целом? Вам наскучило стоять в стороне и глядеть, как кто-то иной пишет резкие мобильные приложения взамен вас? У меня есть для вас кое-что увлекательное! То, что поможет вам изменить сложившуюся обстановку и дозволит писать хорошие мобильные приложения, не требуя отдельного постижения Objective-C и Java. Я расскажу вам о продукте Xamarin. Детально и истинно.

Что это?


Xamarin — это фреймворк для кроссплатформенной разработки мобильных приложений (iOS, Android, Windows Phone) с применением языка C#. Идея дюже простая. Вы пишете код на своем любимом языке, с использованием всех знакомых для вас языковых фич типо LINQ, лямбда-выражений, Generic`ов и async`ов. При этом вы имеете полный доступ ко каждому вероятностям SDK платформы и родному механизму создания UI, получая на выходе приложение, которое, сурово говоря, ничем не отличается от нативных и (по крайней мере по заверениям) не уступает им в продуктивности.

Фреймворк состоит из нескольких основных частей:

  • Xamarin.IOS — библиотека классов для C#, предоставляющая разработчику доступ к iOS SDK;
  • Xamarin.Android — библиотека классов для C#, предоставляющая разработчику доступ к Android SDK;
  • Компиляторы для iOS и Android;
  • IDE Xamarin Studio;
  • Плагин для Visual Studio.

Давай подробнее

Некоторое время назад довольно широкую популярность получили ряд фреймворков(скажем PhoneGap), которые предлагают разработку кроссплатформенных мобильных приложений на HTML5 с применением JavaScript. Идея заключается в том, что приложение разрабатывается как обыкновенный сайт для мобильных устройств с применением соответствующих js-библиотек, скажем, Jquery Mobile. После этого все это упаковывается в некоторый контейнер, тот, что для пользователя выглядит как нативное приложение. Минусы этих фреймворков очевидны: во-первых, вы не имеете доступа к нативным элементам UI. То есть даже если вы хотите применять стандартную кнопку «Назад» для iPhone, вы обязаны ее нарисовать и сверстать. Во-вторых, вы получаете урезанный и обобщенный API для работы с платформой. Таким образом, те либо иные фичи, присущие какой-то отдельной платформе будут вам недостижимы. Ну и третье и самое значимое — такое приложение физически запускается внутри браузера телефона (вернее внутри контрола WebView). Не необходимо расписывать длинно, что это значит: низкая продуктивность (исключительно «отменен» WebView на ветхих версиях Android) и громадные задачи с отображением (ну, господа, это же — браузер). Правда, безусловно, в определенных случаях эти фреймворки могут оказаться дюже уместны.

Xamarin — это про другое. Т.к. я верю, что мы тут все — неглупые пацаны разработчики, я расскажу о том, как он устроен внутри. Это дозволит осознать потенциал данной спецтехнологии. Xamarin основан на open-source реализации платформы .NET — Mono. Эта реализация включает в себя личный компилятор C#, среду выполнения, а так же основные .NET библиотеки. Цель плана — дозволить запускать программы, написанные на C#, на операционных системах, чудесных от Windows — Unix-системах, Mac OS и других. Значимо, что разработкой Xamarin занимаются те же люди, что и разработкой Mono. И (здесь внимание) — это НЕ Microsoft со всеми вытекающими плюсами и минусами.

С точки зрения исполнения приложений между iOS и Android есть одно ключевое отличие — метод их заблаговременной компиляции. Как вестимо, для выполнения приложений в Android применяется виртуальная Java-машина Dalvik. Нативные приложения, которые пишутся на Java, компилируются в некоторый промежуточный байт-код, тот, что интерпретируется Dalvik`ом в команды процессора в момент исполнения программы(т.е. подобно тому, как работает CLR в .NET). Это так называемая Just-in-time компиляция (компиляция на лету). В iOS применяется иная модель компиляции —Ahead-of-Time (компиляция перед исполнением). Xamarin учи

Источник: programmingmaster.ru

Оставить комментарий
Форум phpBB, русская поддержка форума phpBB
Рейтинг@Mail.ru 2008 - 2017 © BB3x.ru - русская поддержка форума phpBB