Файл: Программные средства создания клиентских программ(Клиент-серверная архитектура).pdf

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

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

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

Добавлен: 13.03.2024

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

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

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

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

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

      1. PHP

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

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

  • автоматическое извлечение POST и GET-параметров, а также переменных окружения веб-сервера в предопределённые массивы;
  • взаимодействие с большим количеством различных систем управления базами данных
  • автоматизированная отправка HTTP заголовков;
  • работа с HTTP авторизацией;
  • работа с cookies и сессиями;
  • работа с локальными и удалёнными файлами, сокетами;
  • обработка файлов, загружаемых на сервер;
  • работа с XForms.

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

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

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

      1. C#

Язык программирования C# создан корпорацией Microsoft в 2000 году. Он очень многое унаследовал от своих родителей (С++ и Java), но и привнес нового.


Язык активно развивается. Регулярно выходят новые версии C#, которые добавляют новые синтаксические конструкции в язык, а также увеличивают его быстродействие и надежность.

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

Также стоит упомянуть, что все программы, написанные на языке C#, работают на базе платформы .NET Framework. Это означает, что написанный код на языке C# транслируется в промежуточный язык (IL), который в свою очередь уже преобразуется в машинный код на компьютере прямо во время выполнения приложения (JIT). Всё это нужно для совместной разработки одного проекта на разных языках. Помимо этого, так как окончательная компиляция из промежуточного кода выполняется в живую на конкретной машине, то возможно увеличение производительности за счет использования специфических команд конкретного процессора.

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

На данный момент C# входит в пятерку самых популярных языков программирования. Он используется во многих крупных компаниях, а также и в небольших стартапах. Сейчас компания Microsoft делает большой упор на развитие универсальности и кроссплатформенности для этого языка. Уже сейчас с его помощью можно разрабатывать практически любой тип приложений. Для разработки настольных приложений используются стандартные WinForms Application и Console Application. Для разработки красивых настольных приложений и специальных приложений для магазина в Windows Store – WPF, для веб-приложений – ASP.NET. Для разработки под операционную систему Linux – NET Core, Xamarin – для мобильных приложений под платформу. Даже игры под любые платформы можно разрабатывать на языке C# при помощи движка Unity.

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

2.2 Инструментальные средства

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


  • текстовый редактор;
  • компилятор и/или интерпретатор;
  • средства автоматизации сборки;
  • отладчик.

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

Хотя, и существуют среды разработки, предназначенные для нескольких языков программирования - такие, как Eclipse, NetBeans, Embarcadero RAD Studio, Qt Creator или Microsoft Visual Studio, обычно среда разработки предназначается для одного определённого языка программирования - как, например, Visual Basic, Delphi, Dev-C++.

Рассмотрим такие среды разработки, как Eclipse, NetBeans, Delphi, Microsoft Visual Studio, Qt Creator.

2.2.1 Microsoft Visual Studio

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

Visual Studio включает один или несколько компонентов из следующих:

  • Visual Basic .NET, а до его появления — Visual Basic;
  • Visual C++;
  • Visual C# (включён начиная с Visual Studio .NET);
  • Visual F# (включён начиная с Visual Studio 2010).

Многие варианты поставки также включают Microsoft SQL Server либо Microsoft SQL Server Express. В прошлом в состав Visual Studio также входили продукты:

  • Visual InterDev;
  • Visual J++;
  • Visual J#;
  • Visual FoxPro.

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

  1. Встроенный Web-сервер. Для обслуживания Web-приложения ASP.NET необходим Web-сервер, который будет ожидать Web-запросы и обрабатывать соответствующие страницы. Наличие в Visual Studio интегрированного Web-сервера позволяет запускать Web-сайт прямо из среды проектирования, а также повышает безопасность, исключая вероятность получения доступа к тестовому Web-сайту с какого-нибудь внешнего компьютера, поскольку тестовый сервер может принимать соединения только с локального компьютера.
  2. Поддержка множества языков при разработке. Visual Studio позволяет писать код на своем языке или любых других предпочитаемых языках, используя все время один и тот же интерфейс (IDE). Более того, Visual Studio также еще позволяет создавать Web-страницы на разных языках, но помещать их все в одно и то же Web-приложение. Единственным ограничением является то, что в каждой Web-странице можно использовать только какой-то один язык (очевидно, что в противном случае проблем при компиляции было бы просто не избежать).
  3. Меньше кода для написания. Для создания большинства приложений требуется приличное количество стандартного стереотипного кода, и Web-страницы ASP. NET тому не исключение. Например, добавление Web-элемента управления, присоединение обработчиков событий и корректировка форматирования требует установки в разметке страницы ряда деталей. В Visual Studio такие детали устанавливаются автоматически.
  4. Интуитивный стиль кодирования. По умолчанию Visual Studio форматирует код по мере его ввода, автоматически вставляя необходимые отступы и применяя цветовое кодирование для выделения элементов типа комментариев. Такие незначительные отличия делают код более удобным для чтения и менее подверженным ошибкам.
  5. Более высокая скорость разработки. Многие из функциональных возможностей Visual Studio направлены на то, чтобы помогать разработчику делать свою работу как можно быстрее. Удобные функции, вроде функции IntelliSense (которая умеет перехватывать ошибки и предлагать правильные варианты), функции поиска и замены (которая позволяет отыскивать ключевые слова как в одном файле, так и во всем проекте) и функции автоматического добавления и удаления комментариев (которая может временно скрывать блоки кода), позволяют разработчику работать быстро и эффективно.
  6. Возможности отладки. Предлагаемые в Visual Studio инструменты отладки являются наилучшим средством для отслеживания скрытых ошибок и диагностирования странного поведения. Разработчик может выполнять свой код по строке за раз, устанавливать интеллектуальные точки прерывания, при желании сохраняя их для использования в будущем, и в любое время просматривать текущую информацию из памяти.

Visual Studio также имеет и множество других функций: возможность управления проектом; встроенная функция управления исходным кодом; возможность рефакторизации кода; мощная модель расширяемости. Более того, в случае использования Visual Studio 2008 Team System разработчик получает расширенные возможности для модульного тестирования, совместной работы и управления версиями кода (что значительно больше того, что предлагается в более простых инструментах вроде Visual SourceSafe).

В качестве недостатка можно отметить невозможность отладчика (Microsoft Visual Studio Debugger) отслеживать в коде режима ядра. Отладка в Windows в режиме ядра в общем случае выполняется при использовании WinDbg, KD или SoftICE.

2.2.2 QT Creator

Qt Creator – кроссплатформенная свободная интегрированная среда разработки на языках С, С++ и QML. Разработана Trolltech (Digia) для работы с фреймворком Qt. Включает в себя графический интерфейс отладчика и визуальные средства разработки интерфейса как с использованием QtWidgets, так и QML. Поддерживаемые компиляторы: GCC, Clang, MinGW, MSVC, Linux ICC, GCCE, RVCT, WINSCW. Рассмотрим особенности, преимущества и недостатки этой среды разработки.

В Qt Сreator реализовано автодополнение, в том числе ключевых слов, введённых в стандарте C++11, подсветка кода. Также есть возможность задания стиля выравнивания, отступов и постановки скобок.

Реализован ряд возможностей при работе с сигнатурами методов, а именно:

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

Среда разработки имеет графический интерфейс для следующих отладчиков: GDB, CDB и QML/JavaScript.

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

Проведем сравнительный анализ Qt Creator с MS Visual Studio. Преимуществами Qt Creator по сравнению с MS Visual Studio являются:

  • Qt Creator - свободное программное обеспечение, что выражается в свободе запуска с любой целью; свободе изучения того, как программа работает, и её модификации; свободе распространения копий как исходного, так и исполняемого кода; свободе улучшения программы, и выпуске улучшений в публичный доступ.
  • Кроссплатформенность. Qt Creator сам работает под различными ОС: Windows, GNU/Linux, OS X, BSD, и позволяет создавать приложения для этих платформ, а также для: Maemo 5, MeeGo Harmattan, Generic remote Linux, Symbian, Android.
  • Скорость работы: исследования, проводившиеся британскими учёными, показали, что Qt Creator 2.5 работает в среднем на 46% быстрее, чем Microsoft Visual Studio 2012.
  • Стабильность: те же исследования показали, что число системных ошибок, возникающих при работе с Qt Creator примерно на 42% меньше, чем в Visual Studio.
  • Размер установки: в ОС Windows Qt Creator с компилятором g++ (последних версий) занимает в 3,5 раза меньше места, чем Visual Studio последних версий.
  • Функция автодополнения работает лучше, поскольку она учитывает контекст, а так же поддерживает нововведения C11 (стандарта языка С 2011 года) и C++11.
  • Возможность автоматического обновления через интернет.

К недостаткам можно отнести проблемы с исходными файлами, которые сохранены не в кодировке UTF8.

2.2.3 Eclipse

Первоначально Eclipse разрабатывалась фирмой IBM как преемник среды разработки IBM VisualAge, в качестве корпоративного стандарта IDE для разработки на разных языках под платформы IBM. Исходный код был полностью открыт и сделан доступным после того, как Eclipse был передан для дальнейшего развития независимому от IBM сообществу.

В Eclipse 3.0 (2003 год) были выбраны спецификации сервисной платформы OSGi, как архитектура времени выполнения. С версии 3.0 Eclipse перестал быть монолитной IDE, поддерживающей расширения, а сам стал набором расширений. В основе лежат фреймворк OSGi и SWT/JFace, на основе которых разработан следующий слой – RCP (Rich Client Platform, платформа для разработки полноценных клиентских приложений). RCP служит основой не только для Eclipse, но и для других RCP-приложений, например, Azureus и File Arranger. Следующий слой – сам Eclipse, представляющий собой набор расширений RCP – редакторы, панели, перспективы, модуль CVS и модуль Java Development Tools (JDT).

Eclipse – в первую очередь полноценная Java IDE, нацеленная на групповую разработку: среда интегрирована с системами управления версиями – CVS в основной поставке, для других систем (например, Subversion, MS SourceSafe) существуют плагины. В силу бесплатности и высокого качества, Eclipse во многих организациях является корпоративным стандартом для разработки приложений.

Второе назначение Eclipse – служить платформой для разработки новых расширений, чем он и завоевал популярность: любой разработчик может расширить Eclipse своими модулями. Уже существуют C/C++ Development Tools (CDT), разрабатываемые инженерами QNX совместно с IBM, и средства для языков COBOL, FORTRAN, PHP и прочие от различных разработчиков. Множество расширений дополняет среду Eclipse менеджерами для работы с базами данных, серверами приложений и другое.

Eclipse написана на Java, потому является платформонезависимым продуктом, за исключением библиотеки SWT, которая разрабатывается для всех распространённых платформ. Библиотека SWT используется вместо стандартной для Java библиотеки Swing. Она полностью опирается на низлежащую платформу (операционную систему), что обеспечивает быстроту и натуральный внешний вид пользовательского интерфейса, но иногда вызывает на разных платформах проблемы совместимости и устойчивости приложений.

2.2.4 Delphi

Delphi - среда программирования, в которой используется язык программирования Object Pascal. Начиная со среды разработки Delphi 7.0, в официальных документах Borland стала использовать название Delphi для обозначения языка Object Pascal.