Телефон: 8-800-350-22-65
WhatsApp: 8-800-350-22-65
Telegram: sibac
Прием заявок круглосуточно
График работы офиса: с 9.00 до 18.00 Нск (5.00 - 14.00 Мск)

Статья опубликована в рамках: LIII Международной научно-практической конференции «Научное сообщество студентов XXI столетия. ТЕХНИЧЕСКИЕ НАУКИ» (Россия, г. Новосибирск, 31 мая 2017 г.)

Наука: Информационные технологии

Скачать книгу(-и): Сборник статей конференции

Библиографическое описание:
Руденко В.А. АНАЛИЗ АЛГОРИТМОВ ВЫПОЛНЕНИЯ ПРОГРАММНОГО КОДА ПРИ КРОСС-ПЛАТФОРМЕННОЙ РАЗРАБОТКЕ ДЛЯ МОБИЛЬНЫХ УСТРОЙСТВ С ИСПОЛЬЗОВАНИЕМ .NET // Научное сообщество студентов XXI столетия. ТЕХНИЧЕСКИЕ НАУКИ: сб. ст. по мат. LIII междунар. студ. науч.-практ. конф. № 5(52). URL: https://sibac.info/archive/technic/5(52).pdf (дата обращения: 30.11.2024)
Проголосовать за статью
Конференция завершена
Эта статья набрала 0 голосов
Дипломы участников
У данной статьи нет
дипломов

АНАЛИЗ АЛГОРИТМОВ ВЫПОЛНЕНИЯ ПРОГРАММНОГО КОДА ПРИ КРОСС-ПЛАТФОРМЕННОЙ РАЗРАБОТКЕ ДЛЯ МОБИЛЬНЫХ УСТРОЙСТВ С ИСПОЛЬЗОВАНИЕМ .NET

Руденко Виталий Алексеевич

студент 6 курса, кафедра Программной Инженерии ХНУРЭ,

Украина, г. Харьков

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

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

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

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

Среди многообразия способов распространения мобильных приложений основным является распространение через соответствующие магазины от разработчиков операционной системы, используемой мобильные устройства. На данный момент существует два основных магазина такого типа Google Play и App Store для мобильных телефонов с Android и iOS соответственно.

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

Мир мобильных платформ сильно фрагментирован, здесь выделяются две основные операционные системы - Android и iOS, а также платформу Windows Phone и Windows 10 Mobile. Есть определенные статистические данные, согласно которым значительная часть мобильных приложений создается более чем для одной платформы, например, для Android и iOS. При этом неизбежно разработчики сталкиваются со следующими трудностями:

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

– различные API - расхождение в программных интерфейсах и реализации тех или иных функциональностей также требует от программиста учитывать эти специфические особенности каждой из выбранных операционных систем;

– различные платформы для разработки. Например, чтобы создавать приложения для iOS разработчикам необходима соответствующая среда – Mac OS X, а также ряд специальных инструментов, таких как XCode. А в качестве языка программирования чаще всего выбирается Objective-C или Swift. Для Android разработчики имеют возможность использовать более разнообразный набор сред - Android Studio, Eclipse и т.д. Но в этом для подавляющего большинства приложений применяется один определнный язые програмированния, которы по сути монополизирует возможности розработки -  Java. Для создания приложений под Windows Phone используется среда разработки Visual Studio, а в качестве языков - C #, VB.NET, C ++.

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

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

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

Несмотря ни на  что, это очень трудная задача – разработать программную систему которая может быть запущена под различными операционными системами с сохранением внешнего вида и функциональности идентичной для разнообразных операционных систем. Для решения проблемы разработки таких приложений разработчик должен понимать принципы работы всех операционных систем, а также иметь опыт работы с большим количеством интрументов и сред разработки.

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

  • Встроенные приложения. Установленные на устройство встроенные приложения являются бинарными исполняемыми программами, созданными с использованием пакетов разработки ПО (software development kit - SDK) и распространяемыми через хранилища приложений (app store). SDK существуют для каждой мобильной операционной системы и, к сожалению, различаются между собой.

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

  • Web-приложения. Web-приложения, загружаемые в мобильный Web-браузер, отличаются от встроенных тем, что их код пишется с использованием Web-технологий (HTML, JavaScript и CSS), которые не зависят от операционной системы устройства. Нет необходимости изучать различные языки программирования для каждого устройства. HTML и JavaScript знакомы Web-разработчикам по созданию Web-страниц для настольных браузеров. В большинстве случаев мобильные Web-браузеры могут визуализировать те же Web-страницы, но Web-сайты часто предоставляют мобильные версии с меньшим объемом информации и более быстрой загрузкой (из-за меньшего размера экрана и медленной сети).

 

Рисунок 1. Сравнение разных подходов к написанию приложений

 

Для запуска Web-приложения пользователь вводит URL-адрес в мобильный Web-браузер. После этого загружается Web-страница, которая является точкой входа в Web-приложение. Web-приложения не распространяются через хранилище приложений; они являются обычными ссылками, которые можно включить в другие Web-страницы, электронные сообщения или даже записать на бумаге.

Встроенные и Web-приложения имеют свои преимущества и недостатки, являясь причиной многих дискуссий о том, какие программы лучше. Решить этот спор могут гибридные приложения, которые пытаются объединить преимущества обоих типов мобильных приложений.

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

 

Список литературы:

  1. N. Yu, C. Liu and J. Chen, The Development and Application of Cross-Platform Coal Mine Mobile Information System. 2011 International Conference on Computer Science and Network Technology (ICCSNT), – Harbin, 2011.
  2. Y. C. et al., Virtual Campfire - Cross-Platform Services for Mobile Social Software. Mobile Data Management: Systems, Services and Middleware, 2009. MDM '09. Tenth International Conference, – Taipei 2009.
  3. Walz, A., 2015. Deconstructing The App Store Rankings Formula With 5 Mad Experiments. [Электронный ресурс], Режим доступа: https://moz.com/ugc/app-storerankings-formula-deconstructed-in-5-mad-science-experiments (дата обращения: 21.05.2017)
Проголосовать за статью
Конференция завершена
Эта статья набрала 0 голосов
Дипломы участников
У данной статьи нет
дипломов

Оставить комментарий

Форма обратной связи о взаимодействии с сайтом
CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.