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

Программные средства создания клиентских программ (Определение клиентского приложения)

Содержание:

Введение

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

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

Тема исследования: Программные средства создания клиентских программ.

Цель исследования: Изучить программные средства создания клиентских программ.

Предмет исследования: ПО для создания клиентских программ.

Задачи исследования:

Охарактеризовать клиентские приложения

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

Рассмотреть ряд программных средств для создания клиентских программ

Глава 1. Характеристика программных средств создания клиентских программ.

1.1 Определение клиентского приложения

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

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

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

Какие характеристики для клиентского программного продукта обладают особой важностью?

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

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

Защищенность клиентской части программного средства от возможной попытки взлома злоумышленниками [11].

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

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

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

1.2 Идеология разработки клиентских приложений

Изменение идеологии в разработке программных систем была отмечена ведущими представителями IT индустрии, появлением качественно нового поколения программных продуктов. Некоторые производители программных систем информируют рынок о принадлежности продукции к открытой идеологии, наделяя их характерными внешними признаками. В частности, для продуктов фирмы Microsoft, выпущенных с начала 21 века, характерно окончание названия. Net (читается как Dot Net). Опираясь именно на эти решения, в дальнейшем будет проведено рассмотрение сущности идеологии открытого программирования [4].

Одной из практических реализаций идеологии открытого программирования является, реализованная в последних версиях Microsoft Visual Studio, открытость для языков программирования. Она заключается в использовании многоязычного среды разработки. То есть, в среду разработки приложений Visual Studio последних версий, вместе с языками программирования, включенных фирмой Microsoft (Visual C + +, Visual C, J . Net, Visual Basic. Net), могут добавляться любые языки программирования, компиляторы которых создаются другими фирмами -производителями. На сегодняшний день, таких расширений среды Visual Studio сделано уже достаточно много, практически, они существуют для всех известных языков (Fortran, Cobol, Component Pascal, Oberon и др.).

Открытость среды не означает полной свободы. Все разработчики компиляторов, при введении нового языка в среду разработки, должны придерживаться установленных правил и ограничений. Главное ограничение, которое, одновременно, можно считать и достоинством, заключается в том, что все языки, которые включаются в среду разработки Visual Studio, должны использовать единый каркас — Framework.Net [8].

Каркас приложений

Понятие каркаса приложений — Framework Applications появляется в литературных источниках со второй половины 90-х годов прошлого столетия в описаниях применения Visual Studio, начиная с четвертой версии. Роль каркаса приложений Visual C + + в ранних версиях Visual Studio выполняла библиотека классов MFC (Microsoft Foundation Classes). Библиотека классов MFC изначально представляла собой иерархически организованную коллекцию классов, в которую входили классы, способные создавать архитектуру новых приложений. Выбирая тип приложения, разработчик получал нужную функциональную платформу, образовывалась и поддерживалась объектами классов каркаса.

Например, когда разработчик выбирал из возможных типов приложений архитектуру «Документ-Представление», то в его приложение автоматически встраивались класс Document, ответственный за структуру документа и класс View — ответственный за его визуальное представление. Класс Form, вместе с другими классами, которые реализовывали элементы управления, обеспечивали унифицированный интерфейс приложений.

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

Благодаря применению единого каркаса Framework.Net достигаются следующие преимущества:

возможность использования компонентов, разработанных на разных языках;

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

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

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

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

Каркас Framework.Net

В ходе эволюции каркаса происходит естественный процесс его отделения от среды разработки — Framework.Net становится надстройкой над операционной системой. В 2001 году Европейская ассоциация производителей компьютеров (ECMA) приняла компоненты каркаса в качестве стандарта. В следствие чего, каркас Framework.Net получает возможность развиваться для применения на операционных платформах, отличных от Windows.

Сегодня, каркас Framework.Net становится свободно распространяемым технологическим решением. Это существенно расширяет сферу его применения. Производители различных программных продуктов предпочитают ориентировать свои разработки на применение каркаса Framework.Net с целью обеспечения возможности выполнения кодов на различных операционных платформах [5].

В составе каркаса Framework.Net можно выделить две основные компоненты:

Статический — FCL (Framework Class Library) — библиотека классов каркаса.

Динамический — CLR (Common Language Runtime) — общеязыковой среды выполнения.

Библиотека классов FCL является результатом эволюции библиотеки классов MFC, благодаря которому каркас Framework.Net стал единственной средой для различных языков программирования. Поэтому, на каком бы языке программирования не велась разработка, она использует классы одной общей библиотеки. Большинство классов библиотеки, образующих общее ядро, используются всеми языками каркаса. Таким образом достигается унификация следующих реализаций:

интерфейса приложений, независимо от языка, на котором они разрабатываются;

взаимодействия с коллекциями и другими контейнерами данных;

доступа к различным типам внешних источников данных.

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

Встроенные примитивные типы данных. Важной частью библиотеки FCL стали классы, описывающие примитивные типы данных. Типы каркаса охватывают всю множество типов данных, встречающихся в языках программирования. Типы данных языка программирования проецируются на соответствующие типы каркаса. Например, тип данных, известный в языке Visual Basic как Integer, а в языке C как int, проецируется на тип данных FCL Int32. В каждом языке программирования, вместе с «родными» для языка названиями типов данных, разрешается использовать имена типов, принятыми в каркасе. Как следствие, все языки среды разработки могут пользоваться единой системой встроенных типов данных, обеспечивающая взаимодействие компонентов, написанных на разных языках.

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

Компоненты поддержки архитектурного разнообразия приложений. В среде разработки существует широкий набор возможных архитектурных типов приложений. Помимо традиционных Windows-приложений и консольных приложений, существует возможность создания платформ для Web-приложений. Большое внимание уделяется возможности создания повторно используемых компонентов — разрешается строить библиотеки классов, библиотеки элементов управления. Компиляторы языков, поставляемых различными фирмами для создания проектов, могут использовать как библиотеку FCL, так и собственную библиотеку классов.

Пространства имен. Количество классов библиотеки FCL достигла значительного уровня (несколько тысяч), поэтому возникла потребность в способе их структуризации. Логичным образом классы с близкой функциональностью объединяются в группы, называемые пространством имен (Namespace). Основным пространством имен библиотеки FCL является пространство System, содержащая, наряду с классами, другие — вложенные пространства имен. Например, примитивный тип Int32 непосредственно вложен в пространство имен System, и его полное имя, включающее имя пространства — System.Int32. В пространство System вложенный целый ряд других пространств имен, используемых при создании приложений.

Переход к идеологии открытого программирования в каркасе Framework.Net реализован во многом благодаря его динамической компоненте — общеязычной исполнительной среде CLR. Решения своих задач исполнительная среда осуществляет, основываясь на следующих составляющих: управляемый модуль, виртуальная машина, метаданные, сборник мусора, обработчик исключений, события и общие спецификации.

Управляемый модуль. С помощью управляемого модуля и управляемого кода реализуется основная концепция исполнительной среды каркаса — двухэтапная компиляция. Управляемый модуль — это перемещаемый исполняемый файл или РЕ-файл (Portable Exeable). РЕ-файлы представляют собой модули, содержание которых формируется компиляторами языков программирования на промежуточной языке — IL (Intermediate Language). В зависимости от типа проекта, РЕ-файл может иметь расширение exe, dll, mod или mdl.

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

Виртуальная машина. Результат работы исполнительной среды каркаса можно рассматривать как своеобразную виртуальную машину. Эта машина транслирует участка промежуточного кода, подаваемого на исполнение, у команды реального процессора, который в действительности и выполняет код. Основу виртуальной машины составляют трансляторы JIT (Just In Time Compiler), которые и выполняют трансляцию промежуточного кода в командный код той вычислительной машины, где установлено и функционирует исполнительная среда.

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

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

Сборник мусора (Garbage Collector). Под сборкой мусора понимается освобождение оперативной памяти, занятой объектами, которые стали лишними и не используются в дальнейшей работе приложения. Во многих языках программирования (классическим примером является язык C / C + +) память освобождает сам программист, в явной форме программируя команды как на создание, так и на удаление объектов. Чтобы предотвратить неизбежным ошибкам программиста при работе с памятью, удаление неиспользуемых объектов, т.е. сборка мусора, стала частью исполнительной среды.

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

События. В исполнительной среды существует свое видение того, что является типом каждого объекта. Для этого используется формальное описание общей системы типов CTS — Common Type System. Согласно этому описанию, каждый тип, кроме методов и свойств, может содержать еще и события. При возникновении событий в процессе работы с тем или иным объектом определенного типа, направляются сообщения, которые могут получать и использовать другие объекты. Механизм обмена сообщениями основан на делегатах — функциональном типе.

Общие спецификации. Как уже отмечалось, каркас Framework.Net обеспечивает межъязычное взаимодействие. Чтобы классы, разработанные на разных языках, могли использоваться в рамках одного приложения, то есть их разноязычные потомки могли взаимодействовать, они должны удовлетворять некоторым ограничениям. Эти ограничения задаются набором общеязычной спецификации — CLS (Common Language Specification). Класс, удовлетворяющий спецификациям CLS, называется CLS-совместимым. Он доступен для использования в других языках, классы которых могут быть клиентами или наследниками совместного класса [7].

Спецификации CLS точно определяют, каким набором встроенных типов данных можно пользоваться в совместных модулях. Понятно, что эти типы должны быть общедоступны для всех языков, использующих каркас Framework.Net. В совместных модулях должны использоваться управляемые данные и выполняться некоторые дополнительные ограничения. Обратите внимание, что ограничения касаются только интерфейсной части класса — его открытых свойств и методов. Закрытая часть класса может не удовлетворять общей спецификации. Итак классы, от которых не требуется совместимость, могут использовать специфические особенности языка программирования, на котором они созданы, без ограничений.

1.3 Классификация средств разработки приложений

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

Средства разработки, ориентированные на конкретные СУБД

Лет десять-двадцать назад во многих приложениях, использующих базы данных, функции клиентского API вызывались из кода, написанного на одном из языков программирования, чаще всего на C. Достаточно взглянуть на описание API клиентской части почти любой серверной СУБД - и вы найдете немало примеров наиболее типичных фрагментов кода, например, для регистрации пользователя, выполнения запросов и т.п. Однако достаточно быстро разработчикам СУБД стало ясно, что трудозатраты, связанные с написанием подобного кода, можно существенно сократить, собрав в библиотеки наиболее типичные фрагменты кода и наиболее часто встречающиеся элементы пользовательского интерфейса (пусть даже и для алфавитно-цифровых терминалов), оформив эти библиотеки в виде отдельного продукта и добавив к нему среду разработки и утилиты проектирования пользовательских форм для просмотра и редактирования данных, а также отчетов. Именно так и появились первые средства разработки, ориентированные на конкретные СУБД, такие, например, как Oracle*Forms (предшественник нынешнего Oracle Forms Developer).

Продукты этого класса на рынке средств разработки имеются и сегодня. Почти все производители серверных СУБД производят и средства разработки приложений. В подавляющем большинстве случаев современные версии этих средств разработки поддерживают доступ к СУБД других производителей как минимум с помощью одного из универсальных механизмов доступа к данным (ODBC, OLE DB, BDE). Однако доступ к "своей" СУБД обычно осуществляется максимально эффективным способом, то есть с помощью клиентских API, объектов, содержащихся в библиотеках клиентской части серверных СУБД, специальных классов для доступа к данным этой СУБД либо за счет реализации драйверов для универсальных механизмов доступа к данным, способной учитывать специфические особенности данной СУБД.

В отдельную категорию можно выделить среды разработки настольных СУБД. В статье данного цикла, посвященной настольным СУБД, мы уже отмечали, что подавляющее большинство настольных СУБД, доживших до сегодняшнего дня, таких как Microsoft Visual FoxPro, Microsoft Access, Corel Paradox, Visual dBase, поддерживают доступ к серверным СУБД, как минимум, с помощью универсальных механизмов доступа к данным, что позволяет условно отнести их и к категории средств разработки. Отметим, однако, что в настоящее время создание приложений в архитектуре "клиент-сервер" с их помощью - явление нечастое. Исключение, пожалуй, составляют пары Microsoft Access - MSDE, Microsoft Access - Microsoft SQL Server и Microsoft Visual FoxPro - Microsoft SQL Server. Здесь налицо результат грамотной политики Microsoft, стремящейся к максимальной совместимости своих продуктов и обеспечивающей наиболее безболезненную для пользователей замену своих настольных СУБД собственными же серверами баз данных (Access->MSDE->Microsoft SQL Server, FoxPro->Visual FoxPro->Microsoft SQL Server).

Средства разработки, универсальные по отношению к СУБД

Средства разработки, универсальные по отношению к СУБД (или претендующие на подобную универсальность), как правило, являются последователями обычных средств разработки приложений, не имеющих прямого отношения к базам данных. Типичные примеры таких средств разработки - Borland Pascal, Borland C++, Microsoft QuickC. Способные использовать библиотеки сторонних производителей, эти средства позволяли обращаться к функциям клиентских API, а с развитием универсальных механизмов доступа к данным (таких как ODBC) - и к функциям API библиотек, реализующих такие механизмы. Отметим, что нередко с помощью этих средств разработки создавались среды настольных СУБД (таких как dBase, FoxBase) или псевдокомпиляторы для языков семейства xBase (например, Clipper).

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

К первой категории относятся средства разработки, обладающие обширными библиотеками классов, большим количеством "мастеров" и кодогенераторов, но ориентированные на "ручное" создание кода и довольно редко применяемые для создания "стандартных" приложений для работы с базами данных (здесь под словосочетанием "стандартное приложение" мы подразумеваем приложение, имеющее непосредственный доступ к базе данных, с которым взаимодействует пользователь, то есть являющееся "классическим" клиентом серверной СУБД). Типичным (и единственным действительно популярным на рынке программного обеспечения) представителем этого класса продуктов является Microsoft Visual C++. С помощью Microsoft Visual C++ и библиотеки MFC (Microsoft Foundation Classes) можно создавать любые приложения, если вы обладаете навыком, знаниями, умением и временем. Тем не менее приложения, обладающие сложным пользовательским интерфейсом (например, использующие базы данных), с его помощью разрабатывают не так часто (хотя примеры подобного его использования можно найти даже в отечественной литературе). В основном этот продукт применяется для создания клиентских приложений в случае предъявления к ним особых требований, таких, например, как высокая производительность, способность осуществлять какие-либо нестандартные операции и пр.

Ко второй категории относятся средства разработки с развитыми визуальными инструментами, позволяющие буквально "рисовать" пользовательский интерфейс, частично стирая различия между работой программиста и пользователя и удешевляя конечный продукт за счет привлечения к проектированию интерфейса разработчиков, обладающих не самой высокой квалификацией (если внимательно изучить программы курсов учебных центров, специализирующихся на обучении средствам разработки Microsoft, Borland и Sybase, то можно обнаружить, что продолжительность курса обучения, прослушав который обычный пользователь Windows должен научиться создавать клиентские приложения для серверных СУБД, составляет от 5 до 10 рабочих дней).

Именно эта категория средств разработки наиболее часто применяется при создании клиентских приложений. К наиболее популярным продуктам подобного класса следует отнести Microsoft Visual Basic, Borland Delphi, Sybase PowerBuilder и Borland C++ Builder. Среды разработки подобных продуктов весьма схожи внешне (с точностью до расположения окон на экране, устанавливаемого "по умолчанию"): как правило, среда разработки такого продукта содержит "заготовку" проектируемой формы (аналога окна), отдельную панель с пиктограммами элементов пользовательского интерфейса и иных используемых в приложении объектов, которые можно выбирать и помещать на форму, окно, в котором отображаются и редактируются свойства одного из выбранных на форме элементов (а иногда и список событий, на которые реагирует данный элемент), окно редактора кода, где можно вводить фрагменты кода, связанные с обработкой тех или иных событий, а также код, реализующий логику работы данного приложения. Как правило, современные средства разработки такого класса позволяют создавать простейшие приложения для редактирования данных практически без написания кода.

Глава 2. Программные средства создания клиентских программ.

2.1 Visual Studio

Visual Studio (Визуал студио) – интегрированная среда разработки программного обеспечения.Позволяет создавать, тестировать и редактировать код, анализировать производительность, а также собирать данные телеметрии.

Функционал Visual Studio

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

• VisualBasic.NET

• Visual C++

• Visual C#

• Visual F#

В среде можно разрабатывать приложения для множества платформ, включая Windows, Xbox и MacOS. Для более удобной и быстрой работы в VisualStudio реализованы следующие функции:

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

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

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

• Благодаря встроенному Web-серверу веб-приложения запускаются прямиком из VisualStudio, что ускоряет процесс, а также повышает безопасность данных при тестировании.

• Разработчики могут вести командные проекты, используя для передачи данных Team Foundation Server.

• В App Center можно за пару кликов загружать разработанные мобильные приложения в магазины, отправлять пользователям бета-версии и следить за результатами тестирования.

• В MarketPlace доступны тысячи различных расширений, вроде Эмулятора Android и Ассистента Visual Assist. Те, кто не нашел там нужных дополнений, могут самостоятельно разработать их и добавить в магазин.

Студентам и независимым разработчикам бесплатно предлагается VisualStudio Community, включающий основной функционал программы. Для командной работы же доступны платные варианты – Professional и Enterprise, оснащенные более продвинутыми инструментами.

Интерфейс переведен на 14 языков, включая русский. Последняя версия – Visual Studio 2017 – вышла в марте 2017.

2.2 IntelliJ IDEA 

IntelliJ IDEA — отличается наличием самых мощных инструментов для создания коммерческих, мобильных и веб-приложений. Получает регулярные обновления от сайта разработчиков. Имеется в своём арсенале полезные средства анализа качества и автодополнения кода.

В список совместимых языков входят: JS, Java, HTML, Groovy, CSS, XML, ActionScript, Scala, CoffeeScript, Perl5, Erlang, Fantom, Lua, OCaml, GLSL, Haskell и многие другие. Присутствует поддержка таких серверов приложений, как WebLogic, Virgo, GlassFish, WebSphere, Tomcat, TomEE, JBoss, Resin, Jetty, Geronimo. Доступна работа с базами данных и SQL-файлами.

Основные возможности:

Удаленный доступ к вашим проектам;

Встроенный дизайнер интерфейса для Swing;

Профессиональная разработка Андроид-приложений;

Позволяет создать программу и протестировать её;

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

Поддержка всех последних технологий и фреймворков Java;

Функция предварительного просмотра во всплывающем окне;

Работает с современными платформами Windows, Android, iOS и т.д.

Интеграция с системами управления Perforce, Git, Team Foundation Server, Subversion, CSV, ClearCase, Visual SourceSafe, Mercurial.

2.3 HiAsm

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

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

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

Ключевые достоинства программы HiAsm:

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

Удобные средства управления;

Позволяет создать игру в 2D и 3D;

Функция коллективной работы над проектом;

Отправка ваших схем по электронной почте;

Качественная визуальная среда программирования;

Доступно рисование собственных GUI-элементов;

Возможность расширения путем установки дополнительных пакетов;

Широкий выбор форм, цветов и стилей для интерфейса разрабатываемого софта.

2.4 Qt

Qt — это кроссплатформенный фреймворк для разработки ПО на языке программирования C++(и не только). Также имеется и для Ruby — QtRuby, для Python — PyQt, PHP — PHP-Qt и других языков программирования. Разрабатывается компанией Trolltech с 1996 года.

С использованием этого фреймворка написано множество популярных программ: 2ГИС для Android, Kaspersky Internet Security, Virtual Box, Skype, VLC Media Player, Opera и другие. KDE — это одно из окружений рабочего стола со множеством программ для Linux написано с использованием фреймворка Qt.

Qt полностью объектно-ориентированная, кросс-платформенная. Дает возможность разрабатывать платформо-независимое ПО, написанный код можно компилировать для Linux, Windows, Mac OS X и других операционных систем. Включает в себя множество классов для работы с сетью, базами данных, классы-контейнеры, а также для создания графического интерфейса и множество других(чуть ниже).

Qt использует MOC (Meta Object Compiler) для предварительной компиляции программ. Исходный текст программы обрабатывается MOC, который ищет в классах программы макрос Q_OBJECT и переводит исходный код в мета-объектный код, после чего мета-объектный код компилируется компилятором C++. MOC расширяет функциональность фреймворка, благодаря ему добавляются такие понятия, как слоты и сигналы.

В Qt имеется огромный набор виджетов (Widget), таких как: кнопки, прогресс бары, переключатели, checkbox, и другие — они обеспечивают стандартную функциональность GUI (графический интерфейс пользователя). Позволяет использовать весь функционал пользовательского интерфейса — меню, контекстные меню, drag&drop.

Одно окно в разных ОС

Рис. 1.Одно окно в разных ОС

Как видно на картинке, программы имеют родной внешний вид в различных операционных системах.

Qt имеет среду разработки Qt Creator. Она включает в себя Qt Designer, с помощью которого можно создавать графический интерфейс. Визуальное создание интерфейса позволяет легко и просто создавать интерфейс, перетаскивая различные виджеты(выпадающие списки, кнопки, переключатели) на форму.

Форма в Qt Designer

C:\Users\Rafae\AppData\Local\Packages\microsoft.microsoftedge_8wekyb3d8bbwe\AC\#!001\MicrosoftEdge\Cache\SE9W2XXC\Снимок-экрана-из-2015-06-15-183636[1].png

Рис. 2 Форма в Qt Designer

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

2.4 Язык JavaScript

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

Объектно-ориентированность. Выполнение программы представляет собой взаимодействие объектов;

Приведение типов данных проводится автоматически;

Функции выступают объектами базового класса. Эта особенность делает JavaScript похожим на многие функциональные языки программирования, такие как Lisp и Haskell;

Автоматическая очистка памяти. Так называемая, сборка мусора делает JavaScript похожим на C# или Java.

Если говорить о сути применения JavaScript, то этот язык позволяет «оживлять» неподвижные страницы сайтов с помощью кода, который можно запустить на исполнение (так называемые, скрипты). То есть, можно провести аналогию с мультфильмами, где html и css– это прорисованные герои, а JavaScript – это то, что заставляет их двигаться.

Если говорить о синтаксисе JavaScript, то ему присущи следующие особенности:

Регистр важен. Функции с названиями func() и Func() – совершенно разные;

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

Встроенные объекты и операции;

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

Простейший код на JavaScript выглядит следующим образом:

Сфера применения

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

Разработка веб-приложений. Хотите установить простой счетчик, организовать передачу данных между формами или поместить на своем сайте игру? Тогда JavaScript выступит верным помощником в этом деле;

«Активное участие» в AJAX. Эта технология позволила значительно ускорить работу приложений, осуществляя обмен данными с сервером в «фоновом» режиме:

Операционные системы. Возможно, кто-то не знал, но Windows, Linux и Mac имеют своих браузерных конкурентов, львиная доля кода которых написана на JavaScript;

Мобильные приложения;

Сфера обучения. Любая программистская специальность в университете включает в себя изучение JavaScript в том или ином объеме. Это обусловлено тем, что язык изначально разрабатывался для не очень сильных программистов. Уроки JavaScript логически вплетаются в базовый курс HTML, поэтому освоение проходит достаточно просто.

Преимущества и недостатки

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

Необходимость обеспечивать кроссбраузерность. Раз уж JavaScript выступает как интернет-технология, то приходится мириться с правилами, которые устанавливает всемирная паутина. Код должен корректно выполняться во всех, или хотя бы самых популярных, браузерах;

Система наследования в языке вызывает трудности в понимании происходящего. В JavaScript реализовано наследование, основанное на прототипах. Люди, изучавшие другие объектно-ориентированные языки программирования, привыкли к привычному «класс потомок наследует родительский класс». Но в JavaScript такими вещами занимаются непосредственно объекты, а это не укладывается в голове;

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

Синтаксис в целом затрудняет понимание. Красота кода – явно не конёк JavaScript, но главное правило программистов соблюдено: «Работает? Не трожь!».

Теперь стоит отметить некоторые преимущества

JavaScript предоставляет большое количество возможностей для решения самых разнообразных задач. Гибкость языка позволяет использовать множество шаблонов программирования применительно к конкретным условиям. Изобретательный ум получит настоящее удовольствие;

Популярность JavaScript открывает перед программистом немалое количество готовых библиотек, которые позволяют значительно упростить написание кода и нивелировать несовершенства синтаксиса;

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

2.5 Delphi

Delphi является языком программирования и средой разработки программного обеспечения. Он разработан Borland (ранее известный как Inprise). Язык программирования Делфи, ранее известный как Object Pascal (Pascal с объектно-ориентированными расширениями), первоначально ориентированный только на Microsoft Windows, но в настоящее время позволяет строить собственные приложения для Linux и Microsoft. NET Framework, и других (см. ниже). Программирование для начинающих. 
Наиболее популярное использование - разработка настольных приложений и баз данных предприятия, а как инструмент язык программирования Делфи может использоваться и для большинства типов развивающихся проектов. Это был один из первых языков, который стал известным как инструмент RAD (быстрая разработка приложений), когда вышел в 1995 году. Delphi 2, вышедший год спустя, поддерживал 32-разрядную среду Windows , и а только несколько лет спустя вышли C, C + + Builder. В 2001 году стала доступна версия под ОС Linux известная как Kylix (классическая греческая урна). Каждый год выходило по одной новой версии, в 2002 году продукт стал известен как Delphi 7 Studio, язык стал официально называться язык программирования Delphi, а не Object Pascal, а также была добавлена поддержка Linux (через Kylix) и. NET (через Предварительный компилятор). Полная поддержка. NET запланирована на предстоящий Delphi 8. Программирование для чайников. 
Основные компоненты Delphi и Kylix: язык Delphi (ранее официально известный как языка Object Pascal), ВК / CLX (Visual Component Library), сильные связи с базами данных, в сочетании с мощной IDE (Integrated Development Environment) и дополнительными инструментами поддержки.
Замечательные особенности языка Delphi включают:

Прозрачная обработка объектов через ссылки или указатели

Свойства как часть языка, вкупе с функциями Get и Set, которые являются прозрачной инкапсуляцией доступа к членам полям

Свойства индекса и свойствами по умолчанию, которые обеспечивают доступ к коллекции удобным и прозрачным способом

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

Делегирование реализации интерфейса в поле или свойство класса

Простота внедрения обработчики Windows сообщение, отметь метод класса с числом / имя окна сообщений для обработки

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

Главный архитектором Delphi, и его предшественника Turbo Pascal, был Андерс Хейлсбергом, пока он не перешел в Microsoft в 1996 году посвятил свое дело основам программирования. 
Продукт Delphi распространяется в различных комплектах, каждый из которых предлагает большую функциональность по сравнению с другими:

Персональный

Профессиональный

Предприятие

Архитектор

Веские причины для использования Delphi:

Очень информативные и полезные сообществу новости

Может компилировать в один исполняемый, упрощая распределение и сокращение вопросов с разными DLL

VCL и сторонние компоненты, как правило, доступны с полным исходным кодом

Мощный и быстрый оптимизирующий компилятор

Из одного исходного кода получаются отличные машинные коды для разных ОС

Поддержка новейших технологий и стандартов

Клоны и альтернативы 

Не будучи способным удовлетворить все потребности программистов, есть целый набор дополнительных средств, которые призваны расширить диапазон решаемых задач с помощью Delphi или это можно сделать с помощью вставки кода на других языках, там где Delphi и Kylix бессильны. 
Эти заменители Делфи могут быть использованы в случае невозможности оплатить среду разработки, потребности в бесплатных средах разработки (например, для операционных систем и свободно распространяемого программного обеспечения или в образовательных целях). В большинстве случаев эти альтернативы используются для обучения, а так же для написания серверных компонент, для операционных систем, которые не являются широко распространенными (так было до тех пор, пока не появился Kylix для ОС Linux, котоорая используется в основной массе как ОС для серверов). .

Перечислим некоторые:

Free Pascal - замена, которая выпускается в виде компилятора, запускаемого из командной строки. Данная разработка основана на совместимости с основным набором функций как Turbo Pascal, так и Delphi диалектов. Особенности Delphi версий выше 4 реализованы и работают. Работает на большинстве x86 операционных систем, включая Win32, Dos , Linux, BSD и Novell Netware. Поддержка других операционных систем на m68k и PowerPC , статус которых до сих пор меняется очень быстро, не производится. Работа по переносу на платформу SPARC началась.

GNU Pascal (отдельно распространяемых часть GNU Compiler Collection) хотя формально не нацелена на диалекты Borland Паскаль, но содержит совместимость с Borland Pascal, и постепенно впитывает особенности языка Delphi, хотя и не подходит для перекомпиляции больших объемов кода Delphi. Это самый плодовитый компилятор с точки зрения операционных систем и процессоров, хотя, и заслуживает упоминания только в качестве последнего варианта.

Существует инструмент под названием Pocket студия, которая направлена на компиляцию урезанного кода Delphi для КПК.

Virtual Pascal - компилятор, x86 32-разрядный Turbo Pascal и Delphi, совместим в основном с OS/2 и Windows, хотя разработан DOS Extender и экспериментальный Linux кросс-компилятор. Компилятор застрял на уровне около Delphi версии 2, и сайт не претерпел существенных изменений в течение двух лет, но в качестве альтернативы это еще один из лучшимх, с великолепным IDE и отладчиком, хотя Free Pascal тоже не дремлет.

BloodShed распространяет очень хороший графический редактор Win32 (хотя и не RAD) как интерфейс для GNU Pascal и Free Pascal.

Lazarus усилия направлены на создание среды разработки для Free Pascal. Хотя порт GTK становится полезной для написания небольших приложений, таких как средства конфигурирования, то win32 порт все еще нуждается в значительной доработке.

InnerFuse является переводчиком Delphi для встраивания в приложения. Ходят слухи, что работать с несколькими версиями Делфи.

WDOSX является Win32 API эмуляции DOS Extender, который может быть использован для получения консольных приложейний написанных на Delphi, работающих на обычной DOS.

Заключение

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

Сегодня большинство вновь разрабатываемых клиентских прикладных программ является GUI-приложениями - они содержат графический интерфейс пользователя. Наиболее популярными средствами для создания Web-приложений являются C++-Builder и IntraBuilder фирмы Borland, а также Visual J++ и Visual C++ компании Microsoft. Другие популярные средства разработки корпоративных приложений для локальных вычислительных сетей - PowerBuilder компании Powersoft, Developer/2000 корпорации Oracle, Visual Basic компании Microsoft и Delphiфирмы Borland.

В курсовой работе решены следующие задачи:

Охарактеризованы клиентские приложения

Дана классификацию для программных средств их разработки

Рассмотрен ряд программных средств для создания клиентских программ

Список литературы

  1. Аникеев, С.В. Разработка приложений баз данных в Delphi: Самоучитель / С.В. Аникеев, А.В. Маркин. - М.: ДИАЛОГ-МИФИ, 2013. - 160 c.
  2. Гарнаев, А. Мастер Visual Basic.NET. Разработка приложений / А. Гарнаев. - СПб.: BHV, 2014. - 624 c.
  3. Джонсон, Г. Разработка клиентских веб-приложенийи на платформе. NET Framework: экзамен 70-528 / Г. Джонсон. - М.: Русская редакция, 2018. - 768 c.
  4. Есенин, С.А. DirectX и Delphi: разработка графических и мультимедийных приложений / С.А. Есенин. - СПб.: BHV, 2016. - 512 c.
  5. Крелль.Глейзер, Дж. Многопользовательские игры. Разработка сетевых приложений / Дж. Глейзер, С. Мадхав. - СПб.: Питер, 2019. - 152 c.
  6. Нортроп, Т. Разработка клиентских Windows-приложений на платформе .NET Framework. Экзамен 70-526 / Т. Нортроп. - М.: Русская редакция, 2018. - 624 c.
  7. Постолит, А. Visual Studio.NET: разработка приложений баз данных. / А. Постолит. - СПб.: BHV, 2016. - 544 c.
  8. Прохоренок, Н.А. Python 3 и PyQt. Разработка приложений. / Н.А. Прохоренок. - СПб.: BHV, 2015. - 704 c.
  9. Саммерфилд, М. Qt. Профессиональное программирование. Разработка кроссплатформенных приложений на С++ / М. Саммерфилд. - М.: Символ, 2014. - 560 c.
  10. Соколова, Ю.С. Разработка приложений в среде Delphi. В 2 частях. Часть 1. Общие приемы программирования: Учебное пособие для вузов. / Ю.С. Соколова, С.Ю. Жулева. - М.: Горячая линия -Телеком , 2014. - 144 c.
  11. Хэррон, Д. Node.js. Разработка серверных веб-приложений в JavaScript / Д. Хэррон. - М.: ДМК Пресс, 2015. - 144 c.