Особенности разработки кроссплатформенных приложений на основе языка программирования Си

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

Рубрика Программирование, компьютеры и кибернетика
Вид статья
Язык русский
Дата добавления 01.03.2019
Размер файла 18,0 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Междисциплинарные науки

УДК 004.43

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

Шапкина Кристина Александровна, бакалавр 4 курса группы ИС-15 ФСКДТ Краснодарского государственного института культуры (Краснодар, ул. им. 40-летия Победы, 33), e-mail: aizhan.degtyareva@gmail.com

Научный руководитель: Вертиевец Оксана Анатольевна, старший преподаватель кафедры экономики и информационных технологий Краснодарского государственного института культуры (Краснодар, ул. им. 40-летия Победы, 33), e-mail: magda76@mail.ru

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

Ключевые слова: мобильные устройства и приложения, информационные технологии, операционная система, Аndroid, ioS, Windows, OS X, кроссплатформенные приложения.

фреймворк кроссплатформенный приложение программирование

K.A. Shapkina

Shapkina Kristina Alexandrovna, Bachelor of the 4th year of the IS-15 group of the FSCAT of the Krasnodar State Institute of Culture (33, im. 40-letiya Pobedy St., Krasnodar), e-mail: aizhan.degtyareva@gmail.com

Scientific supervisor: Vertievets Oksana Anatolyevna, senior lecturer of Economy and Information Technologies department at Krasnodar state institute of culture (33, im. 40-letiya Pobedy St., Krasnodar), e-mail: magda76@mail.ru

FEATURES OF DEVELOPMENT OF CROSS-PLATFORM APPLICATIONS BASED ON THE C LANGUAGE OF C ++ PROGRAMMING

The article presents the principles of developing cross-platform applications using the programming language C ++; Key features of C ++, its advantages and disadvantages are considered. Offered reviews of the most popular C ++ frameworks involved in creating cross-platform applications.

Keywords: mobile devices and applications, information technology, operating system, Android, ioS, Windows, OS X, cross-platform applications.

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

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

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

Кроссплатформенность - способность программного обеспечения или мобильного приложения работать более чем на одной аппаратной платформе или операционной системе. [11]

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

Кроссплатформенными можно назвать большинство современных высокоуровневых языков программирования, среди которых наиболее популяре С++. [9]

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

С++ позволяет разработчикам держать все аспекты структуры и порядка исполнения программы под полным контролем.

Более того, С++ имеет высокую совместимость с языком программирования Си, что дает возможность скомпилировать код на Си с минимальными переделками компилятора С++, а благодаря автоматическому вызову деструкторов объектов в адекватном порядке, повышается надежность управление памятью и упрощается работа с другими ресурсами.

Шаблоны С++ позволяют производить вычисления на этапе компиляции и строить обобщенные контейнеры и алгоритмы для разных типов данных. [9]

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

К сожалению, это является не единственным недостатком: в С++ отсутствует система модулей, соответственно увеличивается время компиляции, а также возникает необходимость писать одну и ту же функцию несколько раз. [9]

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

С++ не всегда являлся кроссплатформенным языком программирования. Долгое время он не подходил для кроссплатформенной разработки, но в 1990 году Хаарвард Норд и Айрик Чеймб-Инг разрабатывали приложение для предоставления графического пользовательского интерфейса в системах Windows, Unix и Macintosh. Год спустя Хаарвард приступил к написанию классов, которые фактически образовали Qt (кроссплатформенный фреймворк для разработки программного обеспечения на С++). Сегодня Qt поддерживает более чем 10 операционных систем, включая Windows, iOS, Android и другие. Данный фреймворк позволяет редактировать интерфейс с помощью CSS, что дает возможность получить красивые пользовательские интерфейсы. [8, 10]

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

Qt - быстрая, удобная и гибкая кроссплатформенная графическая библиотека. Подробно о Qt уже упоминалось выше;

SFML - быстрая библиотека для 2D графики, которая требует лишь минимального уровня знаний языка для создания полноценной программы;

Cocos 2D-X - эта кроссплатформенная библиотека позволяет упростить разработку мобильных игр. К сожалению, в русскоязычном сегменте имеется очень мало ресурсов по этой библиотеке, но всегда можно воспользоваться англоязычными источниками;

Juce - с использованием данной кроссплатформенной библиотеки можно создавать приложения и плагины на языке С++. Материалов для обучения в открытом доступе имеется довольно много, но, как и в случае c Cocos 2D-X многие из них на английском языке;

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

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

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

Список используемой литературы

1. Bill Phillips, Brain Hardy. Android Programming: The Big Nerd Ranch Big. NerdRanchGuides, 2014.

2. Введение в разработку приложений для ОС Android / Ю.В. Березовская, О.А. Юфрякова, В.Г. Вологдина и др. - 2-е изд., испр. - Москва : Национальный Открытый Университет «ИНТУИТ», 2016. - 434 с. : ил. - Библиогр. в кн. ; То же [Электронный ресурс]. - URL: http://biblioclub.ru/index.php?page=book&id=428937(13.10.2018).

3. Вертиевец, О.А. Современные информационные технологии в обучении бакалавров гуманитарного вуза О.А. Вертиевец // по материалам региональной научно-практической конф. Кайгородовские чтения «Культура наука, образование в информационном пространстве региона», г.Краснодар, апр. 2017 гг. / науч. ред. С.Н. Криворотенко; КГУКИ. - Краснодар, 2017. - Вып. 17. - С.85-86.

4. Голощапов, А.Л. GoogleAndroid. Создание приложений для сматфонов и планшетных ПК / А.Л. Голощапов // Спб.: БХВ-Петербург.- 2014. - 30с.

5. Дейтел, П. Android для программистов: создаем приложения. Издательство Питер, 2016

6. Кузнецов, А.Н. Разработка кроссплатформенных приложений с использованием Juce [Электронный ресурс] / А.Н. Кузнецов. - 2-е изд., исправ. - Москва : Национальный Открытый Университет «ИНТУИТ», 2016. -376с. - URL: http://biblioclub.ru/index.php?page=book&id=428805 (13.10.2018).

7. Официальный сайт Juce [Электронный ресурс] // URL: https://juce.com/ (дата обращения: 13.10.2018).

8. Официальный сайт Qt [Электронный ресурс] // URL: https://www.qt.io/ (дата обращения: 13.10.2018).

9. Программирование на языке С++ в среде Qt Creato [Электронный ресурс] / Е.Р. Алексеев, Г.Г. Злобин, Д.А. Костюк и др. - 2-е изд., испр. - Москва : Национальный Открытый Университет «ИНТУИТ», 2016. - 716 с. - - URL: http://biblioclub.ru/index.php?page=book&id=428929 (13.10.2018)

10. Боровский, А.Н. Qt4.7+. Практическое программирование на С++. А.Н. Боровский / Спб.: БХВ-Петербург 2012. - с.: ил.

11. Кроссплатформенность [Электронный ресурс] // URL: https://ru.wikipedia.org/wiki (10.11.2018)

Размещено на Allbest.ru

...

Подобные документы

  • Анализ принципа создания приложений для Linux. Состав стандартного проекта CLX, его иерархия классов, свойства, методы, отличия от VCL. Особенности кроссплатформенного программирования, а также дополнительные возможности кроссплатформенных приложений.

    курсовая работа [107,2 K], добавлен 25.12.2009

  • Знакомство с этапами разработки трёх приложений для системы семейства Linux с использованием языка программирования С++. Анализ особенностей операционной системы Ubuntu 12.10. Характеристика способов тестирования команд с помощью стандартных средств.

    контрольная работа [732,1 K], добавлен 06.08.2013

  • Вопросы программирования в Maple версий 6-11 и разработка приложений. Рассматривает эффективные приемы программирования и разработки приложений для многих разделов техники, математики, физики, для решения которых пакет не имеет стандартных средств.

    монография [4,8 M], добавлен 13.03.2008

  • Основные приемы работы в среде программирования Delphi. Особенности технологии создания простейших приложений. Работа с компонентами среды разработки приложений. Ввод, редактирование, выбор и вывод информации. Аспекты использования структуры ветвления.

    методичка [619,9 K], добавлен 17.11.2011

  • Особенности разработки приложений для операционной системы с помощью императивного, структурированного, объектно-ориентированного языка программирования Delphi. Формальное начало программы. Выделение конца программного блока. Листинг и описание программы.

    курсовая работа [1,2 M], добавлен 04.08.2014

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

    дипломная работа [645,3 K], добавлен 21.11.2010

  • Использование скриптового языка программирования для разработки web-приложений (сценариев). Изучение основ объектно-ориентированного программирования в языке PHP. Ознакомление со специальными методами для работы с классами. Назначение интерфейсов.

    контрольная работа [25,1 K], добавлен 14.03.2015

  • Устройство веб-приложений, преимущества их построения. Характеристика технологий веб-программирования, используемых на стороне сервера и на стороне клиента. Формирование и обработка запросов, создание интерактивного и независимого от браузера интерфейса.

    контрольная работа [76,4 K], добавлен 08.07.2014

  • Исследование возможностей и областей использования языка программирования JavaScript. Сравнительный анализ языков программирования JavaScript и PHP. Разработка интерактивного Web-приложения на примере теста по теме "Программирование на языке Delphi".

    практическая работа [26,0 K], добавлен 04.02.2015

  • Разложение функции в ряд Тейлора, алгоритм работы программного интерфейса сокетов, исходный текст программ с комментариями. Возможности языка программирования Си и среда разработки приложений в ОС Linux. Виртуальная среда VMWare Player и VirtualBox.

    лабораторная работа [1,8 M], добавлен 02.09.2014

  • Анализ объектно-ориентированной технологии программирования на примере языка Java. Методы, инструменты разработки web-приложений. Применение их при создании Интернет-магазина для ООО "Компас". Разработка апплета для его страницы в виде стрелочных часов.

    курсовая работа [2,7 M], добавлен 31.01.2014

  • Машинные коды и ассемблер. Первые языки программирования высокого уровня. Язык программирования FORTRAN. Достоинства и недостатки ALGOL. Научные и бухгалтерские программы. Основные принципы, которые соблюдались при создании языка программирования Basic.

    курсовая работа [407,4 K], добавлен 21.06.2014

  • Структура и устройство метода AJAX, а также история его возникновения и развития. Инструментарий разработки AJAX-приложений. Безопасность AJAX-приложений и способы их решения. Разработка дизайна оформления клиентской и администраторской частей портала.

    дипломная работа [2,9 M], добавлен 22.07.2011

  • Порядок описание процесса разработки модели для разрешения задачи программирования с помощью средств языка программирования. Структуры данных и основные принципы их построения. Этапы компьютерного моделирования. Этапы и значение написания программы.

    курсовая работа [19,5 K], добавлен 19.05.2011

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

    курсовая работа [1,8 M], добавлен 26.05.2010

  • Архитектура операционной системы Android, набор библиотек для обеспечения базового функционала приложений и виртуальная машина Dalvik. Объектно-ориентированный язык программирования Java как инструмент разработки мобильных приложений для ОС Android.

    дипломная работа [1,6 M], добавлен 08.07.2015

  • Понятие и специфические особенности языка программирования Си, история его создания. Интегрированная система Borland C. Процесс программирования с помощью данного языка. Графические примитивы в языках программирования. Преобразования на плоскости.

    курс лекций [782,2 K], добавлен 04.10.2011

  • Устройство сетей Интранет, общие принципы их организации, протоколы и интерфейсы, используемые в них. Средства разработки Интранет-приложений, языки программирования, программы для работы с Интранет. Преимущества и недостатки Интранет-технологий.

    курсовая работа [1,1 M], добавлен 23.04.2013

  • Исследование базовых концепций программирования приложений под операционную систему Windows. Изучение истории создания универсального языка программирования Си. Разработка графического пользовательского интерфейса. Обзор правил игры и алгоритма работы.

    курсовая работа [58,2 K], добавлен 09.11.2012

  • Основные вехи на пути развития систем программирования. Microsoft Access - первая СУБД для персональных компьютеров, созданная для работы в среде Windows. Перенос файл-серверных приложений в среду клиент-сервер. Использование ActiveX Data Objects.

    презентация [662,2 K], добавлен 11.04.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.