Файл: Средства разработки клиентских программ (Языки С/С++/С#).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 04.04.2023

Просмотров: 306

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Рассмотрим примеры клиентских программ [12]:

Веб-браузер — прикладное программное обеспечение для просмотра веб-страниц, содержания веб-документов, компьютерных файлов и их каталогов; управления веб-приложениями; а также для решения других задач. Примеры браузеров – Google Chrome, Internet Explorer, Mozilla Firefox, Яндекс Браузер. Распространяются бесплатно. В глобальной сети браузеры используют для запроса, обработки, манипулирования и отображения содержания веб-сайтов. Многие современные браузеры также могут использоваться для обмена файлами с серверами FTP, а также для непосредственного просмотра содержания файлов многих графических форматов (gif, jpeg, png, svg), аудио-видео форматов (mp3, mpeg), текстовых форматов (pdf, djvu) и других файлов. Сегодня имеется множество браузеров, и конкуренция между ними побуждает разработчиков к постоянной работе над их улучшением и расширением функциональных возможностей. Со времени начала применения браузеров во Всемирной паутине в начале 1990-х годов, из простого средства просмотра текстовой информации браузер превратился в комплексное прикладное программное обеспечение для обработки данных и обеспечения интерфейса между информационными ресурсами и человеком.

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

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

Мессенджер – это программа-клиент для обмена сообщениями в реальном времени через Интернет. Могут передаваться текстовые сообщения, звуковые сигналы, изображения, видео, а также производиться такие действия, как совместное рисование или игры. Многие из таких программ-клиентов могут применяться для организации групповых текстовых чатов или видеоконференций. Мессенджеры не работают самостоятельно, необходимо подключение к серверу. Широкому кругу пользователей известно некоторое количество популярных сетей (и клиентов) обмена сообщениями, таких как IRC, Skype, ooVoo, AIM, ICQ, MSN, Yahoo!, Jitsi, XMPP. Каждая из этих сетей разработана отдельной группой разработчиков, имеет отдельные серверы и протоколы, отличается своими правилами и особенностями. Между различными сетями обычно нет прямой связи (только в XMPP существует понятие межсетевого транспорта), таким образом, пользователь сети Skype не может связаться с пользователем сети ICQ, однако ничто не мешает быть одновременно пользователем нескольких сетей.


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

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

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

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

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

В заключение можно сказать, что сегодня существует и разрабатывается множество программ, которые можно отнести к клиентам. Так, например MS Word 2010 можно рассматривать как толстый клиент, который полноценно работает в автономном режиме, а при подключении к Интернету программа может обращаться к серверу, например, для загрузки шаблонов.


2. ОСНОВНЫЕ ПРОГРАММНЫЕ СРЕДСТВА СОЗДАНИЯ КЛИЕНТСКИХ ПРОГРАММ

2.1 Языки программирования

Язык программирования - формальная знаковая система, предназначенная для записи компьютерных программ. Язык программирования [2] определяет набор лексических, синтаксических и семантических правил, задающих внешний вид программы и действия, которые выполнит исполнитель (компьютер) под ее управлением.

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

Для разработки программы, использующей обращение к СУБД, может быть использовано множество языков программирования. Рассмотрим некоторые из них, такие как Java, PHP, C/С++, Object Pascal.

2.1.1 Java

Java – объектно-ориентированный язык программирования. Язык был разработан в 1995 году и первоначально предназначался для программирования электронных бытовых устройств. В 2019 году является одним из самых популярных языков программирования [34].

Программы на Java транслируются в байт-код, выполняемый виртуальной машиной Java (JVM) - программой, обрабатывающей байтовый код и передающей инструкции оборудованию как интерпретатор. Трансляция в байтовый код увеличивает скорость выполнения и уменьшает размер Java программ.

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

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


По данным сайта shootout.alioth.debian.org, для семи разных задач время выполнения на Java составляет в среднем в полтора-два раза больше, чем для C/C++, в некоторых случаях Java быстрее, а в отдельных случаях в 7 раз медленнее. С другой стороны, для большинства из них потребление памяти Java-машиной было в 10-30 раз больше, чем программой на C/C++.

СУБД Oracle включает JVM как свою составную часть, обеспечивающую возможность непосредственного программирования СУБД на языке Java, включая, например, хранимые процедуры.

2.1.2 PHP

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

Популярность в области построения веб-сайтов определяется наличием большого набора встроенных средств для разработки веб-приложений, таких как [34]:

- автоматическое извлечение POST и GET-параметров, а также переменных окружения веб-сервера в предопределённые массивы;

- взаимодействие с большим количеством различных систем управления базами данных;

- автоматизированная отправка HTTP заголовков;

- работа с HTTP авторизацией;

- работа с cookies и сессиями;

- работа с локальными и удалёнными файлами, сокетами;

- обработка файлов, загружаемых на сервер;

- работа с XForms.

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

Важной особенностью является то [28], что разработчику нет необходимости заботиться о распределении и освобождении памяти. Ядро PHP реализует средства для автоматического управления памятью; вся выделенная память возвращается системе после завершения работы скрипта.

Данный язык может быть использован также и при разработке GUI – приложений – приложений с графическим интерфейсом. Для создания кроссплатформенных приложений служат пакеты PHP-GTK и PHP-Qt.

2.1.3 Языки С/С++/С#

C++ - компилируемый статически типизированный язык программирования общего назначения. Поддерживая разные парадигмы [4] программирования, сочетает свойства как высокоуровневых, так и низкоуровневых языков. В сравнении с его предшественником языком C, наибольшее внимание уделено поддержке объектно-ориентированного и обобщённого программирования. Название «C++» происходит от языка C, в котором унарный оператор ++ обозначает инкремент переменной.


Являясь одним из самых популярных языков программирования [4], C++ широко используется для разработки программного обеспечения. Область его применения включает создание операционных систем, разнообразных прикладных программ, драйверов устройств, приложений для встраиваемых систем, высокопроизводительных серверов, а также развлекательных приложений (например, видеоигр). Существует несколько реализаций языка C++ - как бесплатных, так и коммерческих [24]. Их производят Проект GNU, Microsoft, Intel и Embarcadero (Borland). C++ оказал огромное влияние на другие языки программирования, в первую очередь на Java и C#.

При создании C++ стремились сохранить совместимость с языком C. Нововведениями C++ в сравнении с C являются [29]:

- поддержка объектно-ориентированного программирования;

- поддержка обобщённого программирования через шаблоны;

- дополнительные типы данных;

- исключения;

- пространства имён;

- встраиваемые функции;

- перегрузка операторов;

- перегрузка имён функций;

- ссылки/операторы управления свободно распределяемой памятью;

- дополнения к стандартной библиотеке.

Достоинства языка С++ [26]:

1. Поддерживаются различные стили и технологии программирования, включая традиционное директивное программирование, ООП, обобщённое программирование, метапрограммирование (шаблоны, макросы).

2. Автоматический вызов деструкторов объектов при их уничтожении, причём в порядке, обратном вызову конструкторов.

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

4. Язык поддерживает понятия физической (const) и логической (mutable) константности. Это делает программу надёжнее, так как позволяет компилятору, например, диагностировать ошибочные попытки изменения значения переменной.

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

6. Кроссплатформенность.

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

8. Имеется возможность работы на низком уровне с памятью, адресами.

9. Высокая совместимость с языком C.

C# - объектно-ориентированный язык программирования [27, 32, 33]. Разработан как язык разработки приложений для платформы Microsoft.NET Framework. C# относится к семье языков с C-подобным синтаксисом, из них его синтаксис наиболее близок к C++ и Java. Язык имеет статическую типизацию [35], поддерживает полиморфизм, перегрузку операторов (в том числе операторов явного и неявного приведения типа), делегаты, атрибуты, события, свойства, обобщённые типы и методы, итераторы, анонимные функции с поддержкой замыканий, LINQ, исключения, комментарии в формате XML. Переняв многое от своих предшественников - языков C++, Java, Delphi, Smalltalk язык С#, опираясь на практику их использования, исключает некоторые модели, зарекомендовавшие себя как проблематичные при разработке программных систем, например, C# не поддерживает множественное наследование классов (в отличие от C++).