Решетнеескцие чтения. 2015
УДК 004.021
ОБЗОР ФРЕЙМВОРКА XAMARIN
В. В. Бастрикина
Сибирский государственный аэрокосмический университет имени академика М. Ф. Решетнева Российская Федерация, 660037, г. Красноярск, просп. им. газ. «Красноярский рабочий», 31
Е-mail: [email protected]
Представлено описание кроссплатформенного фреймворка Xamarin. Приведен пример использования фреймворка в спутниковой связи. Приведено описание основных частей. Описаны ограничения, которые могут возникнуть при использовании в разных операционных системах.
Ключевые слова: мобильные приложения, Xamarin, фреймворк, язык программирования C#.
OVERVIEWING XAMARIN FRAMEWORKS V. V. Bastrikina
Reshetnev Siberian State Aerospace University 31, Krasnoyarsky Rabochy Av., Krasnoyarsk, 660037, Russian Federation E-mail: [email protected]
The research presents the description of the cross-platform Xamarin framework. The article gives an example of the use of the framework in satellite communications. The paper describes main parts. The limitations that may arise when using different operating systems are outlined.
Keywords: mobile applications, Xamarin, framework, programming language C#.
На сегодняшний день мобильные приложения находятся на пике своей популярности. Количество разработчиков мобильных приложений увеличивается, количество доступных приложений растет, а также и число их загрузок. В связи с этим развивается большое количество кроссплатформенных мобильных фрейм-ворков для успешного создания приложений. Повсеместно мобильные приложения используют данные со спутников, при этом фреймворк позволяет сделать общение с модулями спутниковой связи намного удобнее, поскольку не требуется писать отдельные натив-ные приложения для каждой платформы.
Перед нами стоит задача разработать мобильное приложение, которое будет собирать информацию со всех интернет-магазинов, а также порталов, связанных с книжной индустрией. Для этого нам нужно выбрать кроссплатформенный мобильный фреймворк, в котором создание приложений осуществляется на языке программирования C#.
На данный момент существует семь популярных кроссплатформенных мобильных фреймворков, таких как Appcelerator Titanium, Kony Platform, Adobe PhoneGap, IBM Worklight, Telerik Platform, Verivo Akula и Xamarin [1]. Но только Xamarin создает приложения с помощью языка C#.
Xamarin - это фреймворк для кроссплатформенной разработки мобильных приложений (iOS, Android, Windows Phone) с использованием языка C#. Xamarin основан на open-source реализации платформы .NET -Mono. Код программы пишется на широко используемом языке программирования C# с применением всех привычных языковых особенностей, к примеру, LINQ, лямбда-выражений, Generic и Async. При этом
имеется полный доступ ко всем возможностям SDK платформы и механизму создания UI (user interface), получая на выходе приложение, которое, строго говоря, ничем не отличается от нативных и не уступает им в производительности.
Фреймворк Xamarin состоит из нескольких основных частей:
- Xamarin.IOS - библиотека классов, предоставляющая разработчику доступ к iOS SDK;
- Xamarin.Android - библиотека классов, предоставляющая доступ к Android SDK;
- компиляторы для iOS и Android;
- IDE Xamarin Studio;
- плагин для Visual Studio [2].
Ограничения в Xamarin.IOS связаны в тем, что в iOS, в отличие от .NET и Mono нет виртуальной машины. Поэтому возникают трудности с поддержкой Generic. Отсюда возникают такие ограничения:
- нельзя использовать Virtual Generic методы, так как компилятор не может учесть все возможные варианты использования;
- нельзя создавать Generic-наследников от класса NSObject, который является базовым в иерархии Objective-C [3].
Для каждой платформы Xamarin предоставляет возможность использовать нативные средства разработки UI и нативные элементы пользовательского интерфейса. Для Android создание UI может происходить непосредственно в коде или же при помощи декларативного подхода с описанием интерфейса в XML. Для iOS это также либо код, либо использование нативных средств проектирования интерфейса.
Программные средства и информационные технологии
Для каждой из платформы потребуется реализовать собственный слой UI, т. е. код, который отвечает за внешний вид приложения, придется написать для каждой платформы отдельно. Если разбивать приложение на слои, то получается такая схема:
- Data Layer (DL) - хранилище данных, например, база SqlLite или xml-файлы;
- Data Access Layer (DAL);
- Business Layer (BL) - слой, содержащий бизнес-логику приложения;
- Service Access Layer (SAL) - слой, отвечающий за взаимодействие с удаленными сервисами;
- Application Layer (AL) - слой, содержащий платформозависимый код;
- User Interface Layer (UI) - слой пользовательского интерфейса [4].
Кроссплатформенными являются все слои, расположенные выше Application Layer.
Разработчики Xamarin в качестве среды разработки предлагают использовать либо собственную IDE -Xamarin Studio, либо Visual Studio. Xamarin Studio -кроссплатформенная IDE, которая работает как на Mac OS X, так и на Windows [2]. Также Xamarin предлагает возможность вести разработку в Visual Studio после установки специального плагина [5].
Таким образом, можно сделать вывод, что фреймворк Xamarin удовлетворяет всем необходимым возможностям и может использоваться при дальнейшей разработке мобильного приложения.
Библиографические ссылки
1. Корпоративный блог «Центр высоких технологий» [Электронный ресурс]. URL: http://blog.htc-cs.ru/ post/nativevsframeworks (дата обращения: 26.08.2015).
2. Официальный сайт Xamarin [Электронный ресурс]. URL: http://xamarin.com/ (дата обращения: 05.09.2015).
3. Arstechnisa [Электронный ресурс]. URL: http://arstechnica.com/information-technology/2014/05/ xamarin-3-review-making-cross-platform-mobile-develop-ment-painless/ (дата обращения: 27.08.2015).
4. ПрогХаус [Электронный ресурс]. URL: http ://www.proghouse.ru/programming/27-xamarin (дата обращения: 05.09.2015).
5. Блюстайн М. Изучаем Mo no Touch. Создание приложений на платформе iOS с помощью C# и .NET. М. : ДМК Пресс, 2012. 336 с.
References
1. Corporate Blog "Center of High Technologie". Available at: http://blog.htc-cs.ru/post/nativevsframe-works (accessed: 26.08.2015).
2. Official Website "Xamarin". Available at: http:// xamarin.com/ (accessed: 05.09.2015).
3. Arstechnisa. Available at: http://arstechnica.com/ information-technology/2014/05/xamarin-3-review-making-cross-platform-mobile-development-painless/ (accessed: 27.08.2015).
4. ProgHaus. Available at: http://www.proghouse.ru/ programming/27-xamarin (accessed: 05.09.2015).
5. Blyustayn M. Learning MonoTouch. Creating application an iOS using C # and .NET. M. M. : DMK Press, 2012. 336 p.
© Бастрикина В. В., 2015
УДК 65.011.56
ПРОБЛЕМЫ МОНИТОРИНГА ПРОЦЕССОВ УПРАВЛЕНИЯ КОСМИЧЕСКИМИ АППАРАТАМИ
В СИСТЕМЕ ОБРАБОТКИ ТЕЛЕМЕТРИИ
Е. О. Благова1, М. В. Некрасов2, Д. Н. Пакман3
АО «Информационные спутниковые системы» имени академика М. Ф. Решетнева» Российская Федерация, 662972, г. Железногорск Красноярского края, ул. Ленина, 52 E-mail: [email protected], [email protected], [email protected]
Рассматривается общая структура автоматизированной системы управления космическим аппаратом, а также проблемы обработки и представления телеметрии в части мониторинга процессов управления космическими аппаратами. Предлагаются пути развития и модернизации системы обработки телеметрической информации для центра управления полётом космических аппаратов.
Ключевые слова: система управления, космический аппарат, телеметрия.
SPACECRAFT CONTROL MONITORING ISSUES IN THE TELEMERY PROCESSING SYSTEM
E. O. Blagova1, M. V. Nekrasov2, D. N. Packman3
JSC "Academician M. F. Reshetnev "Information satellite systems" 52, Lenin Str., Zheleznogorsk, Krasnoyarsk region, 662972, Russian Federation E-mail: [email protected], [email protected], [email protected]