Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

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

Содержание:

Введение

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

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

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

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

Цель данной работы выявить критерии выбора разработки мобильных приложений.

Для достижения поставленной цели решались следующие задачи:

  1. Исследовать специфику мобильных устройств
  2. Рассмотреть особенности мобильных приложений
  3. Изучить язык программирования C++ и QBasic
  4. Изучить средства разработки мобильных приложений
  5. Выделить критерии, которые имеют первостепенное значение при выборе средств разработки мобильных приложений.

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

Глава 1. Специфика мобильных устройств

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

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

В современном мире существуют следующие категории мобильных устройств: сотовые телефоны, смартфоны, планшеты, терминалы передачи данных и так далее.

1.1. Виды мобильных устройств

Давайте рассмотрим основные виды мобильных устройств, которые используются в современном обществе. В данный момент такими устройствами являются сотовые телефоны и смартфоны.

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

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

1.2 Техническое оснащение мобильных устройств

1.2.1 GSM

В наше время GSM (Global System for Mobile Communications) является самым распространенным стандартом цифровой сотовой беспроводной сети, разработанный еще в конце 80-х годов.

GSM обеспечивает следующий спектр популярных услуг:

  • Передача данных
  • Передача голосовой информации
  • Служба моментальных сообщений (SMS)

Преимущества GSM

  • Хорошее качество связи при большом количестве окружающих базовых станций
  • Обширная емкость сети, возможность множественного подключения и использования сети
  • Низкий уровень помех
  • Возможность использования в роуминге
  • Массовое распространение оборудования сети

Недостатки GSM

  • Искажение речи при передаче
  • Связь обеспечивается не дальше 110 км от ближайшей базовой станции не зависимо от усилителей

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

LTE – сеть беспроводной высокоскоростной передачи данных, созданной на основе стандарта GSM. Целью создания LTE сетей является увеличение пропускной способности и скорости использования цифровых мобильных сотовых сетей. LTE не совместим с сетями 2G и 3G, поэтому для него была выделена отдельная частота.

1.2.2. Центральный процессор

Центральный процессор – это ведущий блок всего мобильного устройства, отвечающий за обработку всей информации (пример см. рисунок 1.2.).

Рисунок 1.2. Процессор компании Qualcomm

Главными характеристиками центрального процессора являются:

  • Тактовая частота
  • Производительность
  • Энергопотребление
  • Архитектура

В наше время можно выделить несколько производителей процессоров для мобильных устройств: Apple, Samsung, Qualcomm, HiSilicon.

1.2.3. Оперативная память

Оперативная память – тип памяти устройства, отвечающее за хранение выполняемых программ, а также промежуточные команды, выполняемые процессором. Оперативную память можно поделить на типы, которые отличаются техническими характеристиками. Их бывает несколько видов, но, в теме данной курсовой работы мы рассмотрим тип для мобильных устройств (пример см. рисунок 1.3.).

Рисунок 1.3. Модуль оперативной памяти LPDDR4X от компании Samsung

Взаимодействие процессора и оперативной памяти происходит непосредственно через кэш.

Содержащиеся в полупроводниковой оперативной памяти данные доступны и сохраняются только тогда, когда на модули памяти подаётся питание. Выключение питания оперативной памяти, даже кратковременное, приводит к полной потере несохраненных данных. Во всех современных мобильных устройствах используется технология LPDDR — модификация используемой на обычных персональных компьютерах технологии DDR. Приставка LP (Low Power) означает низкое энергопотребление, которое достигается, в основном, за счёт снижения рабочего напряжения и пропускной способности.

В современных мобильных устройствах встречается память LPDDR трёх поколений:

  • LPDDR3 — пропускная способность до 2133 Мбит/с, частота до 933 МГц, напряжение 1,2 В;
  • LPDDR4 — пропускная способность до 3200 Мбит/с, частота до 1600 МГц, напряжение 1,1 В;
  • LPDDR4x — пропускная способность до 4266 Мбит/с, частота до 1600 МГц, напряжение 0,6 В.

1.2.4. Внутренняя память

Наиболее распространённый тип внутренней памяти в современных мобильных устройствах — бюджетный eMMC, взросший на базе карт памяти MMC, совместимых, в свою очередь, со стандартом SD. Иными словами, eMMC — это распаянная на материнской плате мобильного устройства карта памяти (пример см. рисунок 1.4.).

Современные, распространенные стандарты eMMC

  • eMMC 4.5 — 2011 год, пропускная способность до 200 МБ/с, скорость записи до 60 МБ/с;
  • eMMC 5.0 — 2013 год, пропускная способность до 400 МБ/с, скорость записи до 90 МБ/с;
  • eMMC 5.1 — 2015 год, пропускная способность до 600 МБ/с, скорость записи до 125 МБ/с.

Рисунок 1.4. Блок внутренней памяти стандарта eMMC от компании Samsung

Главным конкурентом стандарта eMMC выступает технология UFS, разработанная компанией Samsung (рисунок 1.5.). В отличие от технологии eMMC, которая является модифицированной картой памяти, стандарт UFS изначально разрабатывался для создания быстрой внутренней памяти. В результате UFS имеет не только большую пропускную способность по сравнению с eMMC, но и в два раза более низкое энергопотребление.

Рисунок 1.5. Блок внутренней памяти стандарта UFS от компании Samsung

К настоящему времени выпущенными версиями стандарта UFS являются:

  • UFS 1.0 — 2011 год, пропускная способность до 300 МБ/с;
  • UFS 2.0 — 2013 год, пропускная способность до 1200 МБ/с;
  • UFS 3.0 — 2018 год, пропускная способность до 2900 МБ/с.

1.2.5. Аккумулятор

В наше время все мобильные устройства построены на источнике питания литий-ионных аккумуляторов (рисунок 1.6).

Рисунок 1.6. Литий-ионный аккумулятор для мобильных устройств

Литий-ионный аккумулятор состоит из электродов (катодного материала на алюминиевой фольге и анодного материала на медной фольге), разделённых пористым сепаратором, пропитанным электролитом. Пакет электродов помещён в герметичный корпус, катоды и аноды подсоединены к клеммам-токосъёмникам. У данного типа аккумуляторов есть свои преимущества и недостатки.

Преимущества:

  • Высокий энергетический объем
  • Низкий саморазряд
  • Не требует обслуживания

Недостатки

  • Литий-ионные аккумуляторы при перезаряде, несоблюдении условий заряда или при механическом повреждении часто бывают чрезвычайно огнеопасными.
  • Взрывоопасность
  • Старение (Теряет заряд даже когда не используется)
  • Эффект памяти - традиционно считается, что, в отличие от Ni-Cd и Ni-MH аккумуляторов, Li-Ion аккумуляторы полностью избавлены от эффекта памяти. По результатам исследований учёных Института Пауля Шерера (Швейцария) в 2013 году этот эффект был обнаружен, но оказался минимальный.
  • Высокие требования к заряду/разряду - Глубокий разряд полностью выводит из строя литий-ионный аккумулятор. Также на жизненный цикл аккумуляторов влияет глубина его разряда перед очередной зарядкой и зарядка токами выше установленных производителем. Помимо этого, они крайне чувствительны к напряжению зарядки. Если его повысить всего на 4 %, то аккумуляторы будут вдвое быстрее терять ёмкость от цикла к циклу. Ток зарядки зависит от разницы напряжений между аккумулятором и зарядным устройством, а также от сопротивления как самого аккумулятора, так и подводимых к нему проводов. Поэтому увеличение напряжения зарядки на 4 % может приводить к увеличению тока зарядки в 10 раз. Это отрицательно сказывается на аккумуляторе. Он может перегреваться и деградировать.
  • Снижение емкости при снижении температур. Как и в других типах аккумуляторов, разрядка в условиях низких температур приводит к снижению отдаваемой энергии, в особенности при температурах ниже 0 ⁰C. Так, снижение запаса отдаваемой энергии при понижении температуры от +20 ⁰C до +4 ⁰C приводит к уменьшению отдаваемой энергии на ~5-7 %, дальнейшее понижение температуры разрядки ниже 0 ⁰C приводит к потере отдаваемой энергии на десятки процентов и может приводить к преждевременному исчерпанию ресурса.

1.2.6. Материнская плата

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

Рисунок 1.7. Материнская плата современного смартфона

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

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

Глава 2. Особенности мобильных приложений

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

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

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

Работоспособность приложений обеспечивает комплекс систем и сервисов:

  • Графический интерфейс
  • Контент – проводник (позволяет обращаться к данным других приложений)
  • Менеджер ресурсов
  • Менеджер напоминаний
  • Менеджер процессов

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

2.1. Классификация приложений

Приложении можно классифицировать по типу, сфере применения и типу запуска.

Классификация по типу:

  • Общие: текстовые редакторы, графические редакторы, веб-браузеры
  • Развлекательные: медиаплееры, игры
  • Специальные: трансляторы, мультимедиа-приложения, гипертекстовые системы, системы управления содержимым

Деление по сфере применения:

  • Приложения, предоставляющие обеспечение предприятий и организаций. Например, финансовое управление, система отношений с потребителями, сеть поставок. К этому типу относится также ведомственные приложения предприятий малого бизнеса и приложения отдельных подразделений внутри большого предприятия.
  • Приложения, обеспечивающие доступ пользователя к некоторым частям устройства.
  • Обслуживает потребности индивидуальных пользователей в создании и управлении информацией. Это, как правило, управление временем, ресурсами, документацией, например, текстовые редакторы, электронные таблицы, программы-клиенты для электронной почты и блогов, персональные информационные системы и медиаредакторы.
  • Приложения для доступа к контенту. Используется для доступа к тем или иным инструментам или ресурсам без их редактирования (однако может и включать функцию редактирования). Предназначено для групп или индивидуальных пользователей цифрового контента. Это, например, медиаплееры, веб-браузеры, вспомогательные браузеры и др.
  • Приложения для проектирования и конструирования. Используются при разработке аппаратного и программного обеспечения. Охватывают автоматизированное проектирование (системы автоматизированного проектирования – САПР), автоматизированную инженерию (computer aided engineering – CAE), редактирование и компилирование языков программирования, программы интегрированной среды разработки (Integrated Development Environments – IDE).

Классификация по типу запуска:

  • С установкой;
  • Без установки.

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

Глава 3. Языки программирования

В 70-х годах прошлого века ученый Денис Ритчи и программист Кеннет Томпсон разработали язык программирования С (Си), показанный в 1973 году, обширно распространен и по сей день, также оказал влияние на многие современные языки. Сам Ритчи так же приложил руку к созданию операционной системы UNIX.

Язык С++ же был создан только в 80-х Бьерном Страуструпом, как модификация языка Си, наделенная свойствами, которые делают его гораздо лучше, чем Си. Помимо этого, важным является тот факт, что он способен обеспечить возможность объектно-ориентированного программирования.

Объектно-ориентированное программирование существенно повышает производительность разработчиков по сравнению с традиционными методами. Объектно-ориентированные программы легче понимать, корректировать и модифицировать. С++ – это гибридный язык, он предоставляет возможность программировать и в стиле Си, и в объектно-ориентированном стиле, и в обоих стилях сразу [4].

3.1. Ввод и вывод в С++

Осуществление ввода-вывода в языке С++ потоками байтов. Поток – это последовательность байтов. В функциях ввода байты передаются от устройства ввода (например, клавиатуры, дисковода) в оперативную память. При выводе байты передаются из оперативной памяти на устройства (например, экран дисплея, принтер или дисковод). Язык С++ предоставляет варианты для ввода-вывода как на низком, так и на высоком уровнях. Ввод-вывод на низком уровне обычно приводит к тому, что некоторое число байтов данных следует перенаправлять от устройства в память или из памяти в устройство. При такой пересылке каждый байт является отдельным элементом данных. Передача на низком уровне позволяет применять пересылку масштабных по объему потоков ввода-вывода с высокой скоростью, но такая передача обычно бывает неудобной для программиста и оператора. Операции ввода-вывода на высоком уровне осуществляются методом преобразования байтов в такие значимые элементы данных, как целые числа, числа с плавающей запятой, символы, строки и так далее. Стандартные библиотеки С++ имеют богатый набор средств ввода-вывода, при этом подавляющая часть программ включает заголовочный файл, который содержит главные сведения, первостепенные для всех операций с потоками ввода-вывода. Так, например, он задействует объекты cin, cout, cerr, clog, которые соответствуют обычным потокам ввода-вывода и стандартным потокам вывода сообщений об ошибках. Объект стандартного потока ввода cin на прямую связан со стандартным устройством ввода – клавиатурой. Операция ‘взять из потока’ (cin - the standard input stream - стандартный поток ввода), показанная в приведенном ниже пользователе, говорит о том, что величина переменной х обязана быть введена из объекта cin в память cin >> x ;. Объект обычного потока вывода cout связан со стандартным устройством вывода - экраном дисплея. Операция ‘поместить в поток’ (cout - standard output stream - стандартный поток вывода), показанная в показанном ниже пользователе, означает, что величина переменной х должна быть выведена из памяти на стандартное устройство вывода cout << x;. Объекты cerr и clog связаны со стандартным устройством вывода сообщений об ошибках. Их различие состоит в том, что при использовании cerr сообщение об ошибках выводится мгновенно, тогда как в случае применения объекта clog сообщения об ошибках передаются в буфер, где они хранятся до того, пока буфер полностью не заполнится или пока содержимое буфера не будет очищено принудительно [3, c. 23].

3.2. Элементы языка С++

Элементами языка называют его первоначальные конфигурации, применяемые для написания программ. В них входят: основные типы данных и действий над ними, правила записи констант и идентификаторов, алфавит [3, c. 29].

3.2.1. Алфавит

Алфавитом принято называть совокупность символов, применяемых в языке. В С++ они преобразуются в буквы, цифры или специальные символы. В качестве букв используются прописные буквы латинского алфавита от A до Z и строчные от a до z, а также знак подчеркивания _. В качестве десятичных цифр используются арабские цифры от 0 до 9. Особые символы в языке С++ используются для разнообразных применений: от организации текста программы до определения указаний компилятору языка С++ [3, c. 29]. Особые символы перечислены в таблице 1 (см. приложение). Из символов алфавита формируются лексемы языка:

  • Идентификаторы
  • Знаки операций
  • Константы
  • Разделители

3.2.2. Идентификаторы

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

1. Идентификаторы начинаются с буквы.

2. Идентификатор может содержать в себе латинские буквы и цифры.

3. Между двумя идентификаторами должен быть минимум один пробел.

4. Идентификатор в состоянии быть любой длины, но значение имеют только первые 32 символа в среде Windows и 8 символов в DOS; остальные символы не учитываются.

При написании идентификаторов допустимо использовать как прописные, так и строчные буквы. В сравнении с другими языками программирования, компилятор языка С++ отличает их в записи идентификатора. Для более понятного чтения и понимания идентификаторов рекомендуется использовать имена идентификаторов, состоящих из строчных и прописных букв. Каждый идентификатор имеет тип, устанавливаемый при его объявлении. Компилятор языка С++ делает недоступным использование идентификаторов, совпадающих по написанию с ключевыми словами. Например, идентификатор auto является недопустимным (однако допустим идентификатор AUTO) [3, c. 30].

3.2.3. Константы

Данные, обрабатываемые компилятором, – это переменные и константы. Переменные – это данные, которые могут изменять свои значения в процессе выполнения программы. Все переменные в языке С++ должны быть описаны явно. Это означает, что, во-первых, в начале каждой программы или функции необходимо привести список имен (идентификаторов) всех используемых переменных, а во-вторых, указать тип каждой из них. Оператор описания состоит из спецификации типа и списка имен переменных, разделенных запятой. В конце обязательно должна стоять точка с запятой. Имя переменной - любая последовательность прописных и строчных букв английского алфавита, цифр и символа подчеркивания ‘_’. Имя должно начинаться с буквы или символа подчеркивания. Имя может быть произвольной длины, но значимыми являются только первые 32 символа; остальные символы имени игнорируются. Спецификация типа формируется из ключевых слов, указывающих на различные типы данных. Основные типы в C++ подразделяются на две группы: целочисленные типы и типы с плавающей точкой. К целочисленным относятся типы, представленные следующими именами: char, short, int, long. Имена целочисленных типов могут использоваться в сочетании с парой модификаторов типа signed и unsigned. Эти модификаторы изменяют формат представления данных, но не влияют на размеры выделяемых областей памяти. Модификатор типа signed указывает, что переменная может принимать как положительные, так и отрицательные значения. Модификатор типа unsigned указывает, что переменная принимает только положительные значения. Основные характеристики целочисленных типов указаны в таблице 2. (см. приложение).

Изначально считается, что данные типов char, int, short int, long используются со знаком, поэтому ключевое слово signed можно не указывать. Данные типа char используются для хранения символов. Под символом понимается одиночная буква, цифра или знак, занимающий только один байт памяти. Переменные типа char используются как данные со знаком (signed char) и как данные без знака (unsigned char). Если тип char рассматривается как signed, то 44 старший байт его кода определяет знак. В таком случае диапазон значений типа char варьируется от -128 до + 127. В случае unsigned char все восемь бит подразделяются как код, а диапазон возможных значений - от 0 до 255. К плавающим типам относятся три типа, представленные следующими наименованиями типов, модификаторов и их сочетаний: float, double, long double. Они применяются для работы с вещественными числами, которые представляются в форме записи с десятичной точкой и в "научной нотации". Разница между нотациями становится очевидной из примера, который демонстрирует запись одного и того же вещественного числа в разных нотациях.

Константы – это данные, которые устанавливаются равными определенными значениями еще до выполнения программы и сохраняют их на протяжении выполнения всей программы [3, c. 32]. Целые константы могут быть десятичные, восьмеричные и шестнадцатеричные.

Десятичные константы принимают значения от 0 до 4 294 967 295. Константы, выходящие за указанный промежуток, вызывают ошибку. Отрицательные десятичные константы – это константы без знака, к которым применена операция минус. Восьмеричные константы начинаются с символа нуля, после которого следуют восьмеричные цифры (от 0 до 7), например 032. Если восьмеричная константа применяет недопустимые цифры 8 или 9, выдается оповещение об ошибке. Ошибка будет также появляться при превышении восьмеричной константой значения 037777777777. Шестнадцатеричные константы начинаются с 0x (или 0X). Значения шестнадцатеричных констант, превышающие 0xFFFFFFFF, вызовут ошибки. Символьная константа – это один или более символов, заключенных в одинарные кавычки, например 'F', '=', '\n'. В C++ константа из одного символа имеет тип char. Для введения управляющих последовательностей, позволяющих получить визуальное представление некоторых, не имеющих графического аналога символов, используется группа символьных констант, которые начинаются со специального символа обратной косой черты ('\'). В таблице 3 (см. приложение) показаны допустимые управляющие последовательности. Строковые константы образуют специальную категорию констант, используемых для работы с фиксированными последовательностями символов. Строковая константа имеет тип данных array of char и записывается как последовательность произвольного количества символов, обозначенных двойными кавычками: "Это строковая константа!". Нулевая (пустая) строка записывается как "". Перечисляемые константы представлены как идентификаторы, определенные в объявлениях типа enum. Эти идентификаторы часто выбираются как мнемонические обозначения для удобства обращения с данными. Перечисляемые константы имеют целочисленный тип данных. Они могут быть использованы в разных выражениях, в которых допустим целочисленный тип данных и в любых выражениях, в которых допустим целочисленный тип данных. Идентификаторы, применяемые в пределах контекста объявления enum, должны быть уникальными. Значения, которые применяют эти константы, зависят от формата объявления перечислимого типа и присутствия опциональных инициализаторов. Например, в операторе enum color { red, yellow, green } объявляется переменная с именем color, которая может принимать константные значения red, yellow или green (см. таблицу 3 в приложении).

3.3. Язык программирования QBasic

3.3.1. Алфавит языка

Qbasic – еще один из языков программирования, который состоит из трех компонентов: алфавит, синтаксис и семантика.

Алфавит – это, упорядоченный для этого языка набор букв «символов», на которых основывается любой текст данного языка, присутствие других символов недопустимо.

Синтаксис – это свод правил, на которых строятся фразы, позволяющие определить верно или неверно написана фраза.

Семантика определяет смысловое значение предложений языка. Основными понятиями в языках программирования обычно являются алфавит языка, константы, переменные, встроенные функции, логические и арифметические выражения [2, с.21].

Алфавит языка включает:

  • буквы латинского алфавита от A до Z (строчные и прописные)
  • арабские цифры: 0 1 2 … 9
  • знаки арифметических операций: + – * / ^ \
  • специальные символы объявления типа: % # ! $ &
  • круглые скобки ( ) кавычки “ ” апостроф ’ , подчеркивание _
  • знаки отношений: < > = < > < = > =
  • буквы русского алфавита используются только для записи текста
  • констант и комментарии к программе.

3.3.2. Константы

Константы – это данные, не изменяющиеся в процессе решения задачи. В Qbasic используются числовые и текстовые константы. Числовые константы записываются в программе в виде конкретного числа и бывают двух типов: целые и вещественные [2, с. 21-22].

Целые константы – это последовательность цифр, перед которой может стоять знак + или – . Например: –567, +29, 29.

Вещественные константы – это числа, имеющие целую и дробную части. Бывают две формы записи вещественных констант: основная и экспоненциальная формы записи. В основной форме записи с фиксированной точкой целая часть числа отделяется от дробной части десятичной точкой, например, -1.012, 3.14159. В экспоненциальной форме записи с «плавающей» точкой число записывается в виде: mE± p, где m – мантисса (число в основной форме), Е – основание 10, р – порядок числа (целая константа, содержащая не более двух цифр).

Например: 2.4Е-05, -2.9Е+07.

Чтобы перейти от экспоненциальной формы к основной, нужно m (мантиссу) умножить на 10 в степени р (порядок).

Например: 2.4Е-5 = 2.4·10-5 = 0.000024, -2,9Е+07 = 2.9·107 = 29000000.

Строковые константы – это набор любых символов длиной, не превышающей 255 символов. Строковая константа заключается в двойные кавычки. Например: “ТАБЛИЦА”, “ALFA_2”,“ Решений нет”.

3.3.3. Переменные

Переменные – это величины, значения которых могут изменяться в процессе выполнения программы, обозначаются именем (идентификатором) [2, с.22]. Имя переменной представляется последовательностью не более чем 40 латинских букв и цифр, начинающейся обязательно с буквы и заканчивающейся суффиксом, определяющим тип переменной. Символы типов: %– целый; ! – вещественный; $ – строковый. Если символ типа отсутствует, то переменная по умолчанию считается вещественной. Например: переменные SUM, a, B12, Max, S!, P!, B! – вещественного типа; Z%, D%, A% – целого типа; F$, S$, G$ – строкового типа.

Различают простые переменные и переменные с индексом. Простая переменная определяется только именем. Переменная с индексом является элементом массива, определяется именем и индексами, которые задают местоположение элемента в массиве. Индексы записываются в скобках через запятую после имени переменной. Например: Х(10), А(5,6).

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

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

через запятую. Если размерность массива равна единице, то такой массив

называют одномерным, если двум – двумерным.

Примером одномерного массива является вектор а (а1, а2, …,аn). На языке Basic данный вектор (одномерный массив) записывается в виде А(1), (2),…,A(n).

3.3.4. Функции

При программировании часто бывает необходимо вычислить значение функции (например, логарифм числа, корень квадратный и т. п.). Вычисление функций осуществляется с помощью подпрограмм, которые заранее запрограммированы. Для обращения к подпрограмме (вычисления значения функции) необходимо указать имя функции и в круглых скобках аргумент [2, c. 23]. В таблица 4 (см. приложение) приведены наиболее часто употребляемые функции.

3.3.5. Выражения

Выражение бывают арифметические, логические, строковые.

Арифметические выражения – это выражения, записанные с помощью констант, переменных, функций, знаков арифметических операций и круглых скобок [2, c. 24]. Результатом вычисления арифметического выражения является числовая константа. Порядок выполнения операций задается установленным приоритетом:

1) вычисление функции;

2) возведение в степень;

3) деление и умножение;

4) деление нацело и определение остатка (операция по модулю

MOD);

5) сложение и вычитание.

Операции одного приоритета (умножение и деление; сложение и вычитание) выполняются слева направо в порядке следования. Для задания нужной последовательности выполнения операций используются круглые скобки.

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

Итак, деление нацело (целочисленное деление). Целочисленное деление обозначается наклонной чертой \ . Перед делением компоненты действий округляются до целых чисел, а в частном отбрасывается остаток.

Например: 14 \ 2 = 2, 25.68 \ 7 = 3

Операция по модулю MOD. Результат вычисления по модулю – целое

число, являющееся остатком от деления нацело.

Например: 11 MOD 4 = 3

(11\ 4 = 2 остаток 3)

25.68 MOD 6.87 = 5

(26 \ 7 = 3 остаток 5)

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

1. Все символы выражения записываются в одну сторону. Запрещены

многоэтажные выражения и верхние и нижние индексы.

2. Два знака арифметических операций не должны располагаться рядом.

Знак умножения опускать нельзя.

3. Операции в арифметическом выражении выполняются в порядке старшинства, т. е.:

1) операции внутри скобок;

2) вычисление встроенных функций;

3) возведение в степень;

4) умножение и деление;

5) целочисленное деление;

6) деление по модулю;

7) сложение и вычитание.

Операции равного старшинства выполняются по порядку слева направо. Исключение: А ^B^C = A^(B^C).

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

Примеры записи арифметических выражений приведены в таблице 5 (см. приложение).

Логическое выражение служит для установления отношения между двумя числовыми или строковыми значениями [2, c. 26]. Результатом вычисления логического выражения является значение «Истина» или «Ложь». Для записи логического выражения используются операции отношения и логические операции, представленные в таблице 6 (см. приложение).

Порядок выполнения операций задается установленным приоритетом операций: операции отношения (выполняются слева направо в порядке следования), NOT, AND, OR, EQV. Для задания нужной последовательности выполнения операций используются круглые скобки (см. таблица 7 в приложении).

Строковые выражения – это текст, заключенный в кавычки. Двойные кавычки называют ограничителями. Они служат для определения начала и конца текстового выражения. Строковое выражение состоит из строковых констант, строковых переменных и строковых функций. Результатом вычисления строкового выражения является строка символов. Например: “ДОБРОЕ УТРО”, “3 АВГУСТА 2006”, “КЛАССИЧЕСКАЯ МУЗЫКА” [2, c. 27].

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

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

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

В данной курсовой будут описаны наиболее современные и популярные из них.

4.1. Инструменты разработки мобильных приложений

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

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

Инструмент усилен мощной «бэкэнд-системой», а это означает, что мобильные приложения, разработанные с помощью PhoneGap, обладают высокой скоростью исполнения. У данного инструмента есть большое количество плюсов, которые делают его привлекательным для разработчиков, но самая практичная особенность состоит в том, что при разработке получается приложение, которое работает на всех мобильных платформах. При помощи PhoneGap Build можно делать сборки для iOS, Android одновременно, избегая необходимости устанавливать какие-либо инструменты. Но главное, при помощи этого сервиса можно делать сборки для iOS в облаке. Помимо этого, разработчики могут создавать приложения для платформ Symbian, Palm, BlackBerry, iTouch и iPad.

Фреймворк PhoneGap стал популярным благодаря тому, что позволяет создавать мобильные приложения, используя JavaScript, HTML и CSS3.

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

По своей архитектуре RhoMobile очень похож на PhoneGap. Главным его свойством является использование Ruby и MVC архитектуры приложений. Созданный вами код на языке Ruby интерпретируется в нативный код устройства.

У данного фреймворка есть готовый платный «бэкэнд». Это несвязная база данных «ключ-значение», для которой имеются внедренные в фреймворк средства взаимосвязи. Есть платный сервер, предоставляющий легкую интеграцию приложения с существующими. Есть бесплатное средство для создания приложений в облаке, решающих несложные задачи. Поэтому нет необходимости устанавливать и настраивать на компьютере – все хранится и компилируется в облаке.

Appcelerator является открытым ресурсом фреймворков мобильных приложений. Данная платформа значительно ускоряет процесс разработки, поскольку позволяет разработчикам создавать приложения с наименьшим количеством строк кода. Appcelerator является платформой разработки Titanium, которая помогает создавать собственные приложения для смартфонов. Инструмент совместим с такими языками, как JavaScript, HTML, PHP, Ruby и Python.

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

Xamarin – еще один популярный инструмент среди разработчиков приложений на языке C#. Платформа для этого инструмента уникальна тем, что позволяет разработчикам работать с собственными IDE (интегрированными средами разработки), API (интерфейсами прикладного программирования) и языками. Именно эти характеристики делают Xamarin лучшим выбором, когда речь о разработке собственных приложений.

Xamarin еще раз использует уровни бизнес-логики и доступ к данным на различных платформах, что особенно полезно для разработчиков, когда необходимо реализовать определенные инструменты, такие как большой объем локальных данных, автономный режим и распознавание изображений. Как уже описывали ранее, Xamarin построен на языке программирования C#, что означает, что он работает на общей языковой инфраструктуре .NET.

Xamarin как фреймворк довольно популярный для создания приложений на всех трех крупных платформах – Android и iOS. Он поддерживает мониторинг качества и функциональности тестирования в широком диапазоне устройств, который помогает разработчикам продумывать масштабируемые и надежные мобильные приложения. Это моно-фреймворк, который позволяет устанавливать и поддерживать связь с API на мобильных устройствах.

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

Фреймворк Ionic основан на языке SASS CSS и является кроссплатформенным. Это означает, что на нем можно работать со многими операционными системами. Является одним из наиболее простых в использовании инструментом, и даже может быть интегрирован с AngularJS, если вы планируете разрабатывать приложения, которые немного сложнее.

Ionic преимущественно используется для создания гибридных мобильных приложений. Поскольку это полный пакет SDK с открытым исходным кодом (Software Development Kit), Ionic идеально подходит для создания гибридных мобильных приложений с использованием веб-технологий, включая, но не останавливаясь на CSS, HTML5 и SASS.

Это отличный инструмент с уникальным функционалом и сервисами для создания приложений. У Ionic есть целая библиотека оптимизированных для мобильных устройств компонентов, инструментов и жестов HTML, CSS и JS CSS.

Appy Pie – представляет собой платформу для самостоятельного создания мобильных приложений для тех, кто не знает программирование или не хочет в него углубляться. Такие приложения можно публиковать в Google Play, Apple App Store или в любом другом магазине, в котором пожелаете.

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

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

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

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

Приложения NativeScript разрабатываются на таких языках, как JavaScript или TypeScript. В NativeScript реализована полная поддержка фреймворка AngularJS. Мобильные приложения, построенные с NativeScript, имеют полный доступ API платформ.

С помощью NativeScript разработчики могут использовать Angular, JavaScript или TypeScript и создавать мобильные приложения для Android и iOS. NativeScript также имеет интеграцию с Vue.JS, в дополнение к его способности поддерживать сотни плагинов для расширенного набора функций. Это требует хорошего знания командной строки, а это значит, что разработчик также должен будет предоставить свой собственный текстовый редактор.

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

В данном разделе мы рассмотрели три наиболее популярных средства разработки: Android studio, Eclipse, NetBeans IDE, на основе анализа которых были выбраны следующие критерии:

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

Android Studio – продукт компании Google, основанный на программном обеспечении IntelliJ IDEA от компании JetBrains (официальное средство разработки Android приложений).

  • На данный момент актуальной версия приложения – 2.2.
  • Данная среда разработки доступна для Windows, OS X и Linux.
  • Функционал данного приложения использует язык Java для написания программного кода.
  • Разработка интерфейса производится drag-n-drop методом, но также имеется возможность использовать XML.
  • Для удобства разработки интерфейса, при этом, существуют шаблоны, ориентируемые на задачу, которую должно выполнять приложение.
  • Интерфейс данного ПО перегружен.
  • Интерфейс библиотек приложения имеет вид выпадающего древа и под него приходится отводить очень много места в общем интерфейсе. В противном случае информация становится нечитаемой. Похожая ситуация происходит и с окном отладки.
  • В функционале Android Studio возможность подключения дополнительных плагинов отсутствует.
  • Данное средство разработки очень требовательно к технической составляющей ЭВМ по сравнению с другими средствами разработки.
  • Минимальное количество ОЗУ, требуемое для данного продукта, – 2 гигабайта. Но для комфортной работы с данной программой рекомендуемое количество памяти – 8 гигабайт, что не является проблемой для современных компьютеров. Но на ПК старше 2014 года данная среда функционирует очень медленно, не говоря о параллельном запуске других, даже не очень требовательных, приложений.
  • Полностью отсутствует возможность прямого подключения к сервисам контроля версий, что сильно усложняет работу над одним приложением группой лиц.
  • Помимо этого, имеется встроенный модуль для эмуляции Android-устройства.
  • Данный эмулятор требует отдельных ресурсов, что еще сильнее повышает требовательность ПО к ЭВМ.

Eclipse - среда разработки, созданная компанией Eclipsefoundation.

  • Актуальная на данный момент версия – Eclipse 4.6(Neon).
  • Используемый язык для написания мобильных приложений – Java, который включает в свой функционал не только средства для разработки мобильных приложений, но и web – приложений и поддерживает языки C++и PHP.
  • Для разработки интерфейса не имеется шаблонов, или готовых объектов, но предоставляется возможность синхронизации разных ПК для разработки одного проекта посредствам облачных сервисов.
  • Простой и удобный интерфейс.
  • Панель библиотек имеет древовидную структуру, но проблема предыдущего продукта здесь решена просто – существует возможность полностью сворачивать неиспользуемые в данный момент окна.
  • Существует встроенный помощник для написания простого Hello world приложения.
  • Есть возможность подключения дополнительных плагинов для расширения функционала. Для этого в продукте предусмотрен целый модуль Eclipse Marketplace, предоставляющий на выбор сразу три «Рынка» плагинов: Eclipse Marketplace, Obeo Marketplace и RedHat.
  • Есть возможность написания собственных плагинов и их использования без получения лицензии или обязательного предоставления разработки на рынке.
  • Системные требования для данного ПО не описаны разработчиком, но при использовании на ПК средней производительности 2012 года затруднений замечено не было.
  • Ввиду наличия синхронизации с облаком в системе полностью отсутствуют какие-либо интегрированные средства для подключения к системам контроля версий.
  • Эмуляция устройства отсутствует полностью.

NetBeans IDE- продукт компании NetBeans Community.

  • Актуальная на данный момент версия приложения – 8.2.
  • В данном программном продукте функционал полностью реализуется посредствам плагинов.
  • Вследствие этого, ПО поддерживает большое количество используемых языков.
  • Для разработки нативных мобильных приложений используется Java, но существует возможность создания web-приложения написанного на HTML5 или JS+PHP.
  • Встроенный отладчик полностью отсутствует, но имеется возможность подключения удаленного отладчика через сеть «Интернет». Интерфейс очень похож на интерфейс Eclipse, за исключением отсутствия окна отладки, и наличия разметки номеров строк.
  • Требования к ЭВМ либеральные. Для минимальной работы продукта требуется 512 мегабайт ОЗУ, для более комфортной работы рекомендуется использовать компьютер с 2 гигабайтами.
  • Имеет встроенную возможность подключения к системам контроля версий.
  • Взаимодействует с GitHub, Mercurial и Subversion.
  • Встроенные компоненты для тестирования приложения полностью отсутствуют.

Таким образом, анализ средств разработки мобильных приложений можно свести в таблицу, оценивая рассмотренные критерии по пятибалльной шкале [1].

Следуя заключениям, описанным в таблице 8 (см. приложение), каждый из данных программных продуктов подходят для разных направленностей и предпочтений в разработке мобильных приложений. Если необходим мощный инструмент, который не требует временных затрат для поиска или разработки дополнительных модулей, то стоит выбрать Android studio. Если необходима более гибкая и мобильная разработка, то рекомендуется выбрать NetBeans IDE. Если разработчика интересует нечто среднее между двумя первыми, отличным выбором будет разработка в Eclipse.

Заключение

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

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

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

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

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

Библиография

1. Волков А.И. Анализ средств разработки мобильных приложений // Современная техника и технологии. 2017.

2. Жданова Т.А., Бузыкова Ю.С. Основы алгоритмизации и программирования: учеб. пособие / Т.А. Жданова, Ю.С. Бузыкова. – Хабаровск: Изд-во Тихоокеан. гос.ун-та, 2011. – 56 с.

3. Макаров В.Л. Программирование и основы алгоритмизации.: учебн.

пособие.-Спб., СЗТУ, 2003, - 110с.

4. Павловская Т.А. С/С++: Программирование на языке высокого уровня. Учебник. – СПб.: Питер, 2001. – 460 с.

Приложение

Таблица 1. Особые символы в языке С++

Таблица 2. Основные характеристики целочисленных типов

Таблица 3. Допустимые управляющие последовательности

Таблица 4. Часто употребляемые функции при программировании

Таблица 5. Примеры записи арифметических выражений

Таблица 6. Операции отношения и логические операции

Таблица 7. Операции отношения NOT, AND, OR, EQV

Таблица 8. Сравнительный анализ средств разработки мобильных приложений по 5- балльной шкале