Научная статья на тему 'ВОПРОС ОБ АКТУАЛЬНОСТИ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ ДЛЯ РАЗРАБОТКИ МОБИЛЬНЫХ ПРИЛОЖЕНИЙ'

ВОПРОС ОБ АКТУАЛЬНОСТИ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ ДЛЯ РАЗРАБОТКИ МОБИЛЬНЫХ ПРИЛОЖЕНИЙ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
183
32
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
МОБИЛЬНЫЕ ПРИЛОЖЕНИЯ / ЯЗЫКИ ПРОГРАММИРОВАНИЯ / IOS / ANDROID / JAVA / C++ / C# / SWIFT / OBJECTIVE-C / JAVASCRIPT / PYTHON / WINDOWSPHONE

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Мосин Е. В., Никушин Р. В., Николаева В. Ю.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «ВОПРОС ОБ АКТУАЛЬНОСТИ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ ДЛЯ РАЗРАБОТКИ МОБИЛЬНЫХ ПРИЛОЖЕНИЙ»

Мосин Е.В. студент, 3 курс Никушин Р.В. студент, 4 курс Николаева В.Ю. студент, 3 курс Поволжский государственный университет информатики и телекоммуникаций

РФ, г. Самара

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

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

Ключевые слова: мобильные приложения, языки программирования, iOS, Android, Java, C++, C#, Swift, Objective-C, JavaScript, Python, WindowsPhone

Введение. Обзор текущего положения на рынке операционных систем

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

Какой язык программирования стоит учить? Подчас от правильности ответа на этот вопрос зависит будущее разработчика.

Согласно статистике продаж смартфонов по операционным системам, положение Windows Phone на глобальном рынке мобильных операционных систем на данный момент довольно стабильно. Вместе с фактом, что среди продаваемых смартфонов телефоны на Windows составляют всего 0,6%, это показывает, что Lumia - довольно-таки качественные устройства, так как люди их не меняют по несколько лет, продолжая использовать. Примерно такая же картина наблюдается с iOS - продажи iPhone падают, но доля ОС остаётся прежней. А с операционной системой Android наоборот - устройств под управлением этой ОС продаются всё больше, но доля ОС не возрастает, что свидетельствует о маленьком жизненном цикле смартфонов на Android.

По данным StatCounter, в августе Windows Phone была установлена на

1,75% устройств, iOS - на 20,07% устройств, Android - на 68,54% устройств.

Обзор языков программирования

Java

Объектно-ориентированный язык программирования Java разработан Sun Microsystems и в настоящее время принадлежит Oracle. Язык Java активно используется для создания мобильных приложений под операционную систему Android. При этом программы компилируются в нестандартный байт-код для использования их виртуальной машиной Dalvik (начиная с Android 5.0 Lollipop виртуальная машина заменена на ART).

Разработку приложений можно вести в среде Android Studio, NetBeans, в среде Eclipse, используя при этом плагин Android Development Tools (ADT) или в IntelliJ IDEA. Версия JDK при этом должна быть 5.0 или выше. Для разработчиков iOS-приложений на Java существует INDE Multi-OS Engine.

Одна из особенностей Java - его универсальность. Будучи компилируемым, язык может функционировать двумя различными способами: в окне браузера или запускаться в виртуальной машине, для работы которой не требуется браузер. Такая гибкость играет важную роль при повторном использовании кода и обновлении ПО. C++

Это второй по популярности язык программирования после Java. С++ может быть использован для разработки приложений практически для любых целей и на любой существующей платформе, обеспечивает модульность, раздельную компиляцию, обработку исключений, абстракцию данных, виртуальные функции. Одно из наиболее значимых достоинств языка то, что он сочетает свойства как высокоуровневых, так и низкоуровневых языков.

Возможность писать на С++ под Android появилась лишь в 2009 году с выпуском пакета Android NDK (Native Developers Kit), который позволяет применять огромное множество оптимизированных алгоритмов, уже реализованных в стандартных библиотеках для языков С/С++. C++ спокойно сосуществует в одном проекте и даже в одном файле с Objective-C. Можно использовать как C++ из кода Objective-C, так и наоборот. С помощью Visual C++ для разработки кроссплатформенных мобильных приложений можно выполнять сборку приложений на основе машинного кода C++ для устройств Android и Windows, а также предоставлять общий доступ к коду в библиотеках, собранных для iOS, Android и Windows. Эта возможность доступна в среде Visual Studio 2015, вместе с которой устанавливаются пакеты SDK и средства, необходимые для кроссплатформенной разработки общих библиотек и собственных приложений.

Objective C

Objective-C (Objective C, ObjC или Obj-C) - компилируемый объектно-ориентированный язык программирования корпорации Apple, построенный

на основе языка Си и парадигм Smalltalk. В отличие от C++, язык Objective-C полностью совместим с Си (язык Objective-C является надмножеством языка Си) и код на Си компилируется. Тем не менее, последний имеет ряд функций, которые специфическим образом взаимодействуют непосредственно с графикой, функциями ввода/вывода и отображения.

Objective-C является частью среды разработки Apple и полностью интегрирован во все фреймворки iOS и MacOS. Objective-C доступен практически в каждом дистрибутиве GNU/Linux благодаря компилятору gobjc, созданному проектом gcc. Для работы с Objective-C под ОС Windows используют эмуляторы среды POSIX: mingw, Cygwin, сервисы Microsoft Windows для UNIX.

Swift

Swift - открытый мультипарадигмальный компилируемый язык программирования общего назначения. Создан компанией Apple в первую очередь для разработчиков iOS и OS X. Swift задумывался как более легкий для чтения и устойчивый к ошибкам язык, чем его предшественник Objective-C. Возможно при помощи Swift разработчики смогут создавать приложения и для других операционных систем, отличных от iOS, OS X и watchOS.

Довольно многое в языке заимствовано из Objective-C. Многие функции также прежде были доступны в C++ и Java, например, определяемые наименования, так называемые обобщения и перегрузка операторов.

Часть функций языка выполняется быстрее по сравнению с другими подобными языками. Так, сортировка комплексных объектов выполняется в 3,9 раз быстрее, чем в Python, и почти в 1,5 раза быстрее, чем в Objective-C.

Код, написанный на Swift, может работать вместе с кодом, написанным на C и Objective-C в рамках одного и того же проекта. C#

В 2012 году C# был признан лучшим языком программирования, рост его популярности был больше, чем у любого другого языка (2.3%).

Для Microsoft язык играет ту же роль, что и Objective-C для Apple. Фактически C# является надстройкой языка Ck Объектно-ориентированный подход и инкапсуляция позволяют по максимуму повторно использовать код. Reflection^ dependency injection дают языку гибкость и мощь.

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

Прозрачная совместимость с машинным кодом дает разработчику лучшее из обоих миров. Можно написать обертку для любой стандартной библиотеки и использовать её возможности. Xamarin предоставляет доступ к 100% нативных API iOS и Android. Rdio продемонстрировал это недавно в

обновлении своих iPhone и Android приложений.

Python

Python - это свободный интерпретируемый объектно-ориентированный расширяемый встраиваемый язык программирования очень высокого уровня.

Это универсальный язык, он широко используется во всем мире для самых разных целей. Python обладает богатой стандартной библиотекой, и еще более богатым набором модулей, написанных третьими лицами. Для мобильной разработки существует следующие библиотеки:

SL4A - библиотека, которая позволяет создавать и запускать скрипты, написанные на различных языках сценариев прямо на Android-устройствах.

Kivy - представляет собой библиотеку для разработки приложений, работающих на всех платформах. Библиотека распространяется с открытым исходным кодом. Библиотека сосредоточена на инновационных пользовательских интерфейсах, предназначенных для устройств типа «touch». Библиотека основана на Cython (C-расширение для Python). На данный момент поддерживает Linux, Windows, Mac OS X и Android. Графический движок построен на OpenGL ES 2.

JavaScript

JavaScript изначально создавался для того, чтобы сделать web-страницы «живыми». Программы на этом языке называются скриптами. В браузере они подключаются напрямую к HTML и выполняются как только загружается страница. На JavaScript оказали влияние многие языки, при его создании была цель сделать язык похожим на Java, но более лёгким для использования непрограммистами.

Библиотеки Javascript для мобильной разработки:

PhoneGap - бесплатный open-source фреймворк для создания мобильных приложений, созданный Nitobi Software. Позволяет создавать приложения для мобильных устройств при помощи JavaScript, HTML5 и CSS3 без знания «родных» языков программирования (например, Objective-C) и под все мобильные операционные системы (iOS, Android, Bada и т.д.)

ReactNative - разработка Facebook, позволяет писать для всех существующих платформ. Основное отличие от PhoneGap - использование нативных компонентов системы вместо создания WebView компонента.

NativeScript - это библиотека, позволяющая делать кросс-платформенные приложения, используя XML, CSS, JavaScript. Native script решает ту же задачу, что и PhoneGap, но подходы у них разные. PhoneGap использует движок браузера, чтобы отобразить UI (фактически получается веб-страница), NativeScript использует нативный рендеринг, элементы нативного UI.

Таким образом, для начинающих разработчиков, ставящих цель быстрого продвижения их приложения на рынке, наиболее удобным и перспективным способом будет написание приложения на Java под ОС

Android.

Среды разработки на Java являются бесплатными и относительно удобными (предусмотрена разработка на самих устройствах), а сам язык -простым в освоении и имеет значительное количество библиотек, как стандартных так и находящихся в открытом доступе.

Большая популярность операционной системы Android и грамотная политика распространения готового продукта (магазин Google Play - лидер по ежедневному объёму загрузки приложений) обеспечивают лидирующие позиции данной связки (Java-Android-Google Play) на рынке разработки мобильных приложений и рекомендуется в качестве плацдарма для стремительного продвижения программных продуктов и идей начинающего разработчика-любителя.

Использованные источники:

1. m.wikipedia.org/wiki/Разработка_приложений_для_мобильных_устройств

2. http://wp-seven.ru/stat-i/novosti/statistika-ry-nka-mobil-ny-h-os-za-avgust-2016.html

3. ru.wikipedia.org/wiki/Swift_(язык_программирования)

4. https: //www.pcweek.ru/mobile/article/detail. php?ID=175207

5. http://www.realcoding.net/news/prilozheniya-dlya-android-teper-mozhno-pisat-na-cc.html

Рудько В.В. студент 4 курса факультет управления Новгородский государственный университет имени Ярослава Мудрого Россия, г. Великий Новгород СОЦИАЛЬНЫЕ СЕТИ КАК ИНСТРУМЕНТ ВЛИЯНИЯ НА

ПОТРЕБИТЕЛЬСКИЙ ВЫБОР Аннотация: В данной статье рассмотрены действия в социальных сетях, которые компании необходимо предпринять для оказания влияния на потребительский выбор.

Ключевые слова: маркетинг, социальные сети, выбор продукта, потребитель

Rud'ko V. V. student

4th year, Faculty of Management Yaroslav-the-Wise Novgorod State University

Russia, Velikiy Novgorod SOCIAL NETWORKS AS A TOOL TO INFLUENCE CONSUMER

CHOICE

Annotation: This article describes the actions of the social networks that the

i Надоели баннеры? Вы всегда можете отключить рекламу.