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

Библиографическое описание статьи для цитирования:
Карпюк И. А., Куляшова Н. М. Сравнительный анализ мобильных приложений и инструментальных средств их разработки // Научно-методический электронный журнал «Концепт». – 2017. – Т. 31. – С. 826–830. – URL: http://e-koncept.ru/2017/970180.htm.
Аннотация. В настоящее время активно развиваются информационные технологии разработки приложений для мобильных устройств. В статье приводится классификация мобильных приложений по сфере использования и с точки зрения их структуры. Анализируются некоторые инструменты создания мобильных приложений, приводятся примеры их использования. Рассмотрены основные этапы разработки мобильных приложений.
Комментарии
Нет комментариев
Оставить комментарий
Войдите или зарегистрируйтесь, чтобы комментировать.
Текст статьи
Карпюк Ирина Алексеевна,кандидат педагогических наук, доцент кафедры фундаментальной информатики ФГБОУ ВО «Национальный исследовательский Мордовский государственный университет имени Н. П. Огарёва», г. Саранскiren_karpyuk@mail.ru

Куляшова Наталья Михайловна,кандидат физикоматематических наук, доцент кафедры фундаментальной информатики ФГБОУ ВО «Национальный исследовательский Мордовский государственный университет имени Н. П. Огарёва», г. Саранскkafivt@mail.ru

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

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

Информационные ресурсы, системы и технологии –неотъемлемые, стремительно развивающиесяэлементы современной жизнедеятельности человека. Об этом свидетельствует статистика и исследования зарубежных и отечественных компаний. В 1997 году на рынке сотовой связипоявилась технология WAP, позволяющая устанавливать программы на мобильные телефоны прямо из интернета, не используя кабель для подключения к компьютеру. С этого времени начался процесс «мобилизации» общества. Качественным рывком в создании мобильных приложений стало

производство в начале 2000х годов мобильных устройств с большими сенсорными экранами, что позволилосоздавать мобильные приложения нового уровня. В 2010е годымобильные девайсы оснащаются все более мощными процессорами, позволяющимиприменять современные информационные технологии для разработки мобильных приложений. Большинство программистов стали осваивать новые направления профессиональной деятельности и адаптироваться под рыночные тенденции[1].

Разработка мобильных приложений внастоящее время является одной из самых популярных задач в сфере информационных технологий. Мобильная разработка нацелена на создание приложений, которые могутпредсказывать потребительские предпочтения; решать задачи, алгоритм решения которых заранее неизвестен.Теперь приложения могут производить аналитический анализ информации, полученной из нескольких источников, и помогать пользователю принимать решения, контролировать процессы и решать другие важные задачи с наименьшими временными и аналитическими затратами для него самого. Что в свою очередь способствует оптимизации бизнеспроцессов, повышению производительности и эффективности принимаемых решений.Мобильное приложение–специальная программадля телефона, установленная на той или иной платформе, обладающая определенным функционалом, позволяющим выполнять определенные действияв зависимости от тех задач, которые необходимо решить [2].Этосвоего рода адаптер, помогающий пользователю взаимодействовать с разнообразнойинформацией.В связи с этим различают:

–приложениясобытия, предназначенные для трансляции спортивных или иных событий;

–приложения службы, являющиеся аналогами сайтов, отражающих деятельность организаций;–игры, в том числе развивающие и обучающие;–интернет магазины,разрабатываемые для покупок в онлайн режиме;–промоприложения, использующиеся для рекламы различных брендов;–бизнесприложения,позволяющие оптимизировать процесс работы организации, обеспечивая доступ к деловой информациии интеграцию с базами данных;–системные приложения, использующие дополнительные настройки и опции телефона и его программного обеспечения;–навигационные и поисковые сервисы, применяющие GPSмодуль, что позволяет использовать телефон как полноценный навигатор;–мультимедийные приложения, расширяющие возможности телефона при работе с видео и аудио информацией;–социальные сети, представляющие собой онлайнсервисы для общения, распространения информации и организации социальных взаимоотношений;–контентные приложения и др.В связи с новой концепцией образования возрастает значимость мобильных приложений для учебного процесса. Это обусловлено в первую очередь их общедоступностью, широким возможностям и привлекательностью с точки зрения новых информационных технологий. Образовательные мобильные приложения обеспечивают совместную работу учащихся над заданиями, обучение за рамками учебных заведений, равные возможности участия в процессе обучения[3]. Использование мобильных приложений для образовательных учреждений позволяет:–реализовать унифицированный контроль за уровнем знаний студентов;–упростить проведение зачетов и контрольных работ;–ускорить обмен информацией между всеми участниками образовательного процесса, упростить процесс взаимодействия преподавателей и студентов;–провести интенсификацию и модернизацию учебного процесса;–использовать мобильное устройство для дистанционного образования.Говоря о мобильных приложениях для образования, стоит отметить и их возможность доступа к облачным сервисам, которые используют как единое информационное поле для хранения информации об учениках и преподавателях, показателях учебной деятельности.Современные мобильные технологии компьютерного, или машинного, зрения строятся на сравнении и нахождении закономерностей в изображениях. Благодаря компьютерному зрению приложения могут считывать штрихкоды, распознавать лица, быстро подсчитывать необходимые объекты и т.д. Технология компьютерногозрения широко применяется в разработке ПО для медицины, где для определения диагноза очень важно сравнение огромного количества медицинских показателей, в том числе, снимков разных пациентов. Технология дополненной реальности это однаиз самых перспективных областей развития компьютерного зрения (распознанный объект дополняется информацией, другим объектом или провоцирует дальнейшие действия приложения). Компьютерное зрение невозможно без машинного обучения.Машинное обучение–это обучение приложения распознавать информацию или объекты внешнего мира, анализировать данные и выдавать решение в зависимости от алгоритма. Это могут быть мобильные решения для прогноза прибыли от сделок, автоматического принятия решения о выдаче кредита, распознавания эмоций, мобильные помощники для повышения качества жизни и т.д.Технологии построения нейронной сети, которые совсем недавно стали развиваться в мобильной среде, ценны тем, что для получения решения или прогноза нам не нужно знать критерии выбора решения –сеть обучается и находит алгоритмы сама, под руководством разработчика. Действие сети похоже на действие мозга. Обученная искусственная нейронная сеть способна реагировать на внешнюю информацию определенным образом согласно алгоритму, полученному в процессе машинного самообучения. Так, современные мобильные технологии делают возможным создание мобильных приложений и сервисов, которые выдают ответы, решения и прогнозы, заранее неизвестные.Для разработчиков мобильных приложений более важна классификация мобильных приложений с точки зрения их структуры[2].Нативные приложения пишутся на языках программирования под конкретную платформу и встраиваются в операционную систему, работают быстро и корректно, обладают преимуществом, как по функционалу, так и по скорости работы других мобильных приложений. Они предоставляют возможность реализовать интерфейс и общее поведение программы наиболее естественным для данной платформы способом. Приложения также имеют доступ к аппаратной части устройств: камере, микрофону, акселерометру, телефонной книге и т.п., экономно расходуют ресурсы, работают полностью или частично при отключенном Интернетсоединении. Конечно, имеют высокую стоимость и большие затраты по времени написания приложения, как следствия того, что разработчик должен обладать специальными знаниями в среде разработки, а также по той причине, что каждой платформе соответствует свой язык программирования.Для нативных приложений характерны свои инструменты и языки программирования. Например,для написания программ под операционную систему Androidчаще всего используют AndroidStudioи язык Java, для iOSXcodeи ObjectiveC, а также набирающий популярность язык программирования Swift, для Windows Phoneиспользуют VisualStudioи язык C#. Но бывают такие ситуации, когда необходимо написать приложение за более короткий период, в отличие от нативного,ичтобы оно работало сразу на нескольких платформах.В таком случае выбирают гибридные или мобильные вебприложения, а для разработки используют различные кроссплатформенные мобильныефреймворки.Вебприложения можно назвать мобильной версией сайта,имеющегорасширенныйинтерактив. Они не размещаются в специализированных магазинах, а используют для работы браузер. Скорость работы таких приложений зависит от качества Интернетсоединения, кроме того они характеризуются низкой стоимостью и быстрыми сроками реализации, являются кроссплатформенными, используют стандартные вебтехнологии: HTML5, JavaScript и CSS.Гибридные приложения или генераторы мобильных приложений –нечто среднее между нативными и вебприложениями. Они сочетают в себе кроссплатформенность и возможность использования программного обеспечения мобильного устройства.Устанавливаются через официальные магазины, имеют ограниченный доступ к аппаратной части устройства,имеют возможность независимого обновления информации,по функционалу и качеству приближены больше к нативным приложениям, однако дешевле их, зависят от фреймворка, который использовался разработчиком данного приложения.

Сегодня существуют различные инструменты и фреймворки, которые помогают создавать мобильные приложения. В качестве примера можно привести такие фреймворки,как IONIC, Mobile Angular UI, Intel XDK, Appcelerator Titanium, Sencha Touch, Kendo UI, PhoneGap.AppceleratorTitanium–платформа с помощью которой можно написать приложения как для десктопов, так и для мобильных телефонов.В настоящий момент на данной платформе можно создаватьприложения под телефоны с операционной системой iOS, Android, BlackBerry. Для написания программы необходимы знания языка JavaScript.

Программа состоит из объектов, которые обладаютуникальными свойствами и методами. Большой списокобъектов позволяетиспользоватьпрактически весьпотенциал операционной системы.В приложении JavaScript взаимодействует с API Appcelerator Titanium. Фреймворк дает возможность применять разнообразные компоненты пользовательского интерфейса с целью формирования такихэлементов, как текстовые поля,кнопки,списки.Точность представления этих объектов поддерживается соответствующими элементами управления мобильной платформы.Во многих случаях код, который был написан для одной платформы, без особых изменений сможет работать и на других платформах.Однако, не все различия платформ могут должным образом правильно отобразиться. В данном случае необходимо для каждой конкретной платформы написать свой участок кода.Чтобы сделать небольшое приложение, достаточно знать несколькообъектов из раздела Titanium.UI.Приведем примерынекоторых из них:

Titanium.UI.Window –один из наиважнейших объектов, который обладает различными свойствами и методами. Для объекта можно задать фоновое изображение, заголовок, расположение и т.д.var window = Titanium.UI.createWindow({

backgroundColor:'red',

title: 'My Window' });window.open();

Titanium.UI.Button –кнопка;используется для того чтобы выполнять какието действия.varbutton= Titanium.UI.createButton({

title: 'Hello'});button.addEventListener('click',function(e){

Titanium.API.info("clicked the button");});

Titanium.UI.ImageView элемент для вывода изображения.var image = Titanium.UI.createImageView({image:'myimg.png',width:'auto',height:'auto'});view.add(image);Используя данный фреймворк, разработчик получает выигрыш по скорости, по сравнению с разработкой на языке Javaили Swift, но приложение проигрывает в производительности, так как быстродействие нативных программ выше.Таким образом, программисту необходимо выбирать, что в конкретной задаче важнее скорость или быстродействие.Для разработки кроссплатформенных мобильных приложений может использоваться фреймворкXamarin.В Xamarinиспользуется язык C#. С помощью данного фреймворка можно создать одну логику приложения сразу на несколько платформ –Android, iOS, Windows Mobile.

Xamarinсостоит из нескольких частей:Xamarin.IOS –библиотека классов для C#, которая дает разработчику доступ к iOS SDK;Xamarin.Android –библиотека классов для C#, дает доступ к Android SDK;Компиляторы для iOS и Android;IDE Xamarin Studio;Плагин для Visual Studio.Эти части играют большую роль –с помощью них приложения могут делать запросы к прикладным интерфейсам на устройствах с операционной системой Android или iOS.С помощью этих платформ разработчик может создать как отдельные приложения под определенную операционную систему,так и с использованиемединой логики –кроссплатформенное приложение.Подобнымобразом можно создать визуальный интерфейс, и привязать к нему одну логику, написанную на языке C#. Данное приложение будет работать на Android, iOS и Windows Phone. Такую возможность дает технология Xamarin.Forms.Использование фреймворка Xamarinоправдывает себя если:приложение должно содержать большой кусок мультиплатформенного кода;необходимо создать приложение в короткие сроки для нескольких платформ;необходимо создать прототип приложения.Не следует использовать Xamarinесли:приложение создается под определенную платформу;разрабатывается GUIориентированное приложение;приложение должно отвечать особым требованиямстабильности.Еще один инструмент для создания кроссплатформенных приложений это CoronaSDK. Удобный и богатый инструментарием движок, с помощью которого можно создать игру или приложение за короткий период времени. Разработка ведется на простом для изучения языке Lua. Результатом будет приложение, работающее на платформах Androidи iOS. В CoronaSDKимеются почти все необходимые элементы пользовательского интерфейса,например, слайдеры, кнопки, переключатели. Приложения на данной платформе получаются производительными и быстрыми, но все же,уступают нативным приложениям.Из минусов можно выделить:существует мало документаций на русском языке;компиляция приложения происходит удаленно на сервере, а не локально;отладка приложения –самое слабое место CoronaSDK.Каждый подход к созданию мобильных приложений имеет свои плюсы и минусы, поэтому разработчику необходимо выбирать технологии исходя из потребностей и задач, которые должно выполнять это приложение. Для того чтобы определиться какой тип мобильного приложения подойдет для разработки, можно руководствоваться таким правилом: если для работы приложения необходимо использовать мощности устройства, или для его работы очень важна скорость обработки информации (игры, социальные сети, геолокационные сервисы, сервисы обмена фотографиями и т.д.), то необходимо делать нативное приложение. Если скорость работы не так важна, то делать лучше гибридное приложение. А если просто важно, чтобы у пользователя была возможность получить необходимую информацию при наличии интернета через мобильный телефон, и его это устраивает, то необходимо создавать вебприложение.Разработка мобильных приложений –процесс, представляющий собой полноценную разработку программного обеспечения и состоящий из нескольких взаимосвязанных между собой этапов:1.Разработка технического задания. Анализ бизнесмоделии перспективы рентабельности разрабатываемого приложения, изучениеаналогов иконкурентов.Формируется список целей, как маркетинговых, так и технических, которых должно достигнутьприложение. Определяются основные задачи,которые будет решать приложениес учетом потребностей пользователей; подробно описывается функционал приложения; определяются временные рамки и финансовые затраты.2.Проектирование. Определение вида приложения и платформы для его создания. Разработка прототипа приложения, позволяющего до мелочей структурировать действия пользователей и результаты этих действий. Создается графическая карта взаимодействия между экранами, прорабатывается практически весь функционал продукта.3.Определение концепции дизайна. Конкретизируется макет графического интерфейса, который расширяется с помощью визуального дизайна. По результатам тестирования каждого интерфейса, созданного на этом этапе, на удобство использования дизайн совершенствуется.Соединяется результат проектирования ивыбраннойконцепции.4.Разработка. Верстка всех элементов приложения в интерактивную рабочую модель. Соединение серверной и клиентской частей приложения для полноценной работы и эффективного взаимодействия с пользователем.5. Тестирование и отладка. Проверка работоспособности кода и отлавливание возможных ошибок и недочетов в функционале приложения, определение удобства использования и производительности продукта, его совместимости с мобильными устройствами и их операционными системами при пробной эксплуатации; стабилизация приложения.6. Внедрение (распространение). Рассмотренные этапы могут перекрывать друг друга и использоваться в любом количестве с учетом выбранной методологии разработки.Современные технологии мобильной разработки развиваются параллельно и почти всегда используются в комплексе.Дальнейший путь мобильной разработки, повидимому,будет идтив сторону создания приложений, обученных обрабатывать определенную информацию и выдавать решения пользователям, исходя из их личных потребностей. Приложения станут более мощнымипо производительности и менее энергозатратнымиблагодаря усовершенствованию самих мобильных девайсов и получению новых методикразработки.

Ссылки на источники1.КуляшоваН.М.,КарпюкИ.А.,ДроздовС.А.Основные принципы построения и классификации информационнопоисковых систем//Материалы XVI науч. конф. молодых ученых, аспирантов и студентов Мордов. гос. унта. им. Н. П. Огарёва: в 6 ч. Ч. 3. Естественные науки. –Саранск: Издво Мордов. унта, 2013. –С. 6668.

2.ПантилейкинН.В. Мобильные приложения и их виды // Научнометодический электронный журнал Концепт. –2016. –Т. 26. –С. 776780. 3.Куляшова Н. М.,Карпюк И. А.Средства информационнокоммуникационных технологий в образовательном процессе // Научнометодический электронный журнал Концепт. –2013. –Т. 4. –С. 4145.