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

Средства разработки клиентских программ

Содержание:

Введение

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

Например, js Фреймворки необходимы для создания программ на одноименном языке программирования. Сегодня он является одним из самых распространенных. Фреймворки JS обеспечивают удобную работу со всевозможными приложениями, сайтами и так далее. Относительно новым инструментом разработки является Typescript. Он представляет собой подобие статической типизации в JS. Данный язык продолжает активно развиваться, так как он является относительно новым. Его официальная документация полностью есть на русском языке. Этот инструмент облегчает работу программиста, в итоге в вас получается обычный JS-файл.

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

В целом выделяют клиентские и серверные языки программирования. На серверные языки не влияет использование конкретного браузера. В данном случае все вычисления осуществляются удаленно. Такие языки открывают для программистов намного больше возможностей. Самыми распространенными из них считаются PHP и Perl. Также к ним относятся Ruby, Java, C, Python.

Клиентским языком является JS. Все программы, созданные на этом языке, обрабатываются непосредственно на вашем компьютере. Это имеет как свои преимущества, так и недостатки. У вас нет необходимости отправлять программы на удаленный сервер. Скрипт читается быстрее. Вам не нужно тратить время и средства на пользование сервером. Основным минусом является то, что различные браузеры могут не одинаково обрабатывать скрипты. Поэтому один и тот же документ может иметь различное отображение в зависимости от используемого браузера. Кроме того, код является уязвимым, так как он открыт для посетителей. Такой код сможет увидеть любой пользователь.[2]

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

«Средства разработки клиентских программ»

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

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

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

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

  1. Рассмотреть теоритические аспекты клиентского языка программирования
  2. Выявить фреймворки, библиотеки и расширения JavaScript
  3. Рассмотреть основные веб-технологии
  4. Рассмотреть клиентские технологии
  5. Рассмотреть сущность клиентских программ
  6. Рассмотреть средства разработки клиентских приложений
  7. Выявить преимущества клиентских программ
  8. Рассмотреть клиентские программы

Для решении данной проблемы в работе применялись труды и учебные пособия российских и зарубежных авторов (М.М. Мелдман, А.Д. Тейлер, А.В. Леоненков, А.Е. Голубева, Е.И. Мозговая, В.М. Марцинковская, О.Г. Кузмин, Н.П. Клушина, М.И. Рожков, Е. И. Мацяшек, М. И. Конноли и других).

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

Клиентский язык программирования

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

Скрипты на стороне клиента встроены в код разметки HTML на веб-сайте, который размещается на сервере на языке совместимым с браузером или скомпилированным для связи с ним. Это и есть клиентский язык программирования. Браузер загружает этот код, а затем обрабатывает его. Если ему требуется запросить дополнительную информацию в ответ на клики пользователей, мыши и т.д. (называемые «событиями»), ещё один запрос отправляется обратно на сервер. [5]

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

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

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

Самые распространённые из клиентских языков программирования являются — JavaScript и Visual Basic. Особенность таких языков заложена в их названии. Программы, написанные на клиентских языках программирования обрабатываются на клиентском компьютере. Говоря проще, скрипты обрабатывает браузер, стоящий на Вашем компе. Из этой особенности вытекают  их плюсы и минусы.

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

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

1.2 Клиентские языки программирования и фреймворки

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

HTML и CSS: это основные строительные блоки любого сайта. HTML диктует организацию и контент сайта. CSS содержит код для каждого графического элемента - от фонов до шрифтов - который составляет внешний вид веб-сайта. [9]

JavaScript - это клиентский скриптовый язык программирования. Наиболее широко используемый клиентский скрипт - почти каждый интерфейс сайта - это сочетание JavaScript, HTML и CSS.

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

.


 

1.3 Фреймворки, библиотеки и расширения JavaScript

  • AngularJS: невероятно надежная среда JavaScript для сайтов с тяжелыми данными
  • JQuery, jQuery Mobile: быстрая, небольшая библиотека объектов JS, которая упрощает управление JavaScript в разных браузерах
  • Node.js: серверная платформа, использующая JavaScript, и изменяет способ взаимодействия приложений реального времени с сервером для более быстрого времени отклика и более простого пользовательского взаимодействия. Он работает с другой инфраструктурой JavaScript, Express.js, для создания серверных веб-приложений.
  • Bootstrap: платформа для мобильных устройств, использующая HTML, CSS и JavaScript для ускорения разработки быстродействующих приложений React, для дизайна пользовательского интерфейса Express.js, Backbone.js, Ember.js, MeteorJS и другие.
  • TypeScript: язык компиляции на JavaScript, который является надмножеством JavaScript, созданным Microsoft
  • AJAX (JavaScript + XML) - технология, позволяющая обновлять определенные части сайта без обновления полной страницы путем асинхронного подключения к базе данных и вытягивания фрагментов данных на основе JSON или XML.

1.4 Веб-технологии

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

Графический интерфейс — это система графических изображений, с помощью которых пользователь может “общаться” с компьютером. Это окна, иконки, панели управления — изображения, позволяющие дать компьютеру команду с помощью клика. Для сравнения, противоположностью графического интерфейса является текстовый интерфейс, для работы в котором пользователь вводит специально сформулированные команды в командную строку. Вся информация при этом предстает в текстовом виде, например, как при настройке компьютера в BIOS. [6]

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

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

1.5 Клиентские технологии

Типичный сайт состоит из трех частей — интерфейса (который также известен как пользовательская часть), программной и серверной частей. Для начала рассмотрим подробнее пользовательскую часть сайта. Ее также называют frontend и она отвечает за графический интерфейс — правильное отображение контента сайта. Для построения пользовательской части используется HTML-разметка, CSS-стили и JavaScript. HTML (HyperText Markup Language, т.е. язык разметки гипертекста) позволяет отобразить информационный контент — текстовые блоки, ссылки и изображения. Простейшая веб-страница может быть создана используя исключительно HTML, но из-за отсутствия стилевых элементов она скорее всего будет выглядеть грубовато и не слишком привлекательно, поэтому важный элемент создания веб-страницы — это оформление контента. Как будет выглядеть шрифт текста, как будет располагаться сам текст, где будут находиться различные объекты, — за все это отвечает CSS (Cascading Stylesheets).

JavaScript, в свою очередь, нужен для того, чтобы сайт мог взаимодействовать с пользователем — анализировать введенные данные, проверять их корректность, изменять контент страницы согласно запросам, выдавать оповещения, модальные окна или показывать выпадающие меню. Технология AJAX (Asynchronous JavaScript and XML) позволяет сайту отправлять запросы и получать данные с сервера без видимой перезагрузки страницы, что значительно ускоряет работу. AJAX используется, к примеру, в Google Maps — во время прокрутки карты не нужно каждый раз перезагружать страницу. Для упрощения разработки клиентской части сайта можно использовать библиотеки, содержащие готовые сборники компонентов для написания типичных программ. Например, бесплатная библиотека JQuery содержит полезные функции для решения типовых задач на JavaScript. [4]

Рисунок 1

Вывод по первой главе:

Особенность клиентских языков программирования в том, что программы, написанные на них, обрабатываются браузером на компьютере клиента, т.е. пользователя. Это позволяет ускорить работу сайта и снизить нагрузку на сервер. Недостатком в данном случае является то, что разные браузеры интерпретируют эти программы по разному, соответственно, в разных браузерах внешний вид сайта может немного отличаться. Поэтому при разработке сайта следует уделить отдельное внимание кроссбраузерности сайта — тому, как он будет выглядеть в наиболее широко используемых браузерах, таких как Chrome, Firefox, Safari, Internet Explorer и Opera.

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

2.1 Клиентские программы

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

Вообще, термин клиент пришел к нам из Древнего Рима, в исконном значении слова клиент – это свободный гражданин Римской Империи, который находится в зависимости от патрона (знатного гражданина), но в то же время клиент пользуется покровительством и защитой патрона.

Если говорить про информатику, то клиент – это программное средство или физическое устройство, которое посылает запросы серверу (поставщику услуг). [11]

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

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

Запросы клиента содержат специальные HTTP методы, которые позволяют указать серверу на то, как он должен обрабатывать запрос (некоторые запросы позволяют получить информацию с сервера, некоторые удалить информацию, а некоторые записать, всё зависит от метода). HTTP сервер, отправляя ответ, сообщает клиенту о том, как он понял запрос при помощи специальных кодов состояния.

Если говорить про MySQL сервер, то у него есть клиент, который позволяет выполнять SQ запросы к базе данных из командой строки (это специальное приложение), а также есть клиент с графическим интерфейсом, который позволяет управлять базами данных при помощи мышки. В качестве сервера, к которому делают запросы браузеры, можно привести пример сервера Apache. Если же вас интересуют готовые сборки серверов для веб-разработки, то можно порекомендовать: локальный веб-сервер AMPPS и российскую сборку Denwer.

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

2.2 Сущность клиентских программ

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

  • Наблюдатели (Observers): Наблюдают за каналами, не взаимодействуя с ними. Наблюдатели обычно используются для журналирования чатов и текущей деятельности (например, входящих и исходящих звонков VoIP).
  • Согласователи (Approvers): Ответственны за предоставление пользователям возможности принимать или отклонять решение об использовании входящих каналов.
  • Обработчики (Handlers): Выполняют действительное взаимодействие с каналом. Это может быть подтверждение о получении текстового сообщения или отправка сообщений, отправка или получение файлов, и т.д. Обработчик, как правило, связан с пользовательским интерфейсом.

Клиентским программам предоставляются сервисы D-Bus с одним, двумя или тремя следующими интерфейсами: Client.Observer, Client.Approver и Client.Handler. В каждом интерфейсе есть метод, который может вызваться диспетчером каналов для того, чтобы проинформаровать клиентскую программу о канале, за которым осуществляется наблюдение (т. е. будут выполнены операции, реализуемые с помощью клиентской программы типа Observer), относительно которого принимается решение о подтверждении или отклонения с ним работы(т. е. будут выполнены операции, реализуемые с помощью клиентской программы типаApprover) и который будет обрабатываться (т. е. будут выполнены операции, реализуемые с помощью клиентской программы типа Handler). [14]

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

У клиентских программ есть свойство — свойство фильтра канала, в котором перечисляются фильтры, считываемые диспетчером каналов с тем, чтобы знать, какие каналы интересуют данное клиентское приложение. В фильтре должны быть указаны, как минимум, тип канала и тип целевого хэндла (например, контакт или чат-комната), которые интересуют клиентскую программу, но в нем также можно указывать и другие свойства. Сравнение с неизменяемыми свойствами канала выполняется с помощью простой операции сравнения. В таблице 2 показан фильтр, который без всяких изменений должен присутствовать во всех каналах текстовых сообщений. [16]

Свойство

Значение

ofdT.Channel.ChannelType

Channel.Type.Text

ofdT.Channel.TargetHandleType

Handle_Type_Contact (1)

Таблица 2

Поиск клиентских приложений осуществляется через шину D-Bus, поскольку они публикуют сервисы, имя которых начинается с хорошо известного префикса ofdT.Client (например, ofdT.Client.Empathy.Chat). Они также могут установить файл, из которого диспетчер каналов прочитает фильтры. Это позволит диспетчеру каналов запустить клиентское приложение в случае, если оно еще не запущено. То, что клиентские приложения можно искать таким образом, позволяет делать пользовательский интерфейс настраиваемым, который можно изменять в любой момент, не заменяя при этом каких-либо других частей фреймворка Telepathy.

Всё или ничего

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

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

2.3 Средства разработки клиентских приложений

Приложения, функционирующие на стороне клиента, могут создаваться для каждого уровня трехуровневой модели MAPI.

Разработка на уровне поставщиков услуг позволяет обеспечить унифицированный доступ клиентских приложений к дополнительным ресурсам, таким как адресные книги, хранящиеся, например, в базах данных; агентам передачи сообщений, позволяющим принимать и отправлять сообщения в почтовые системы, отличные от Exchange Server, например, систему РЕМАРТ, и хранилищам, позволяющим использовать для хранения и извлечения почтовых сообщений расширенные форматы файлов данных и специализированные системы хранения информации. При разработке приложений такого уровня должны применяться Win32 Software Development Kit (SDK) и компиляторы C/C++. В частности, все необходимые компоненты входят в состав пакета разработки Visual C/C++ 4.x Professional. При использовании компиляторов других производителей необходимо приобретение Win32 SDK. Разработка под Windows 3.1x требует наличия соответствующего компилятора и 16-битной версии MAPI SDK.

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

Наличие высокоуровневых интерфейсов OLE Messaging и OLE Scheduling позволяет использовать при создании приложений, способных использовать услуги электронной почты, как офисные пакеты, такие как Excel, Word, Access, так и средства разработки, поддерживающие стандарт OLE, например Visual Basic, Delphi или Visual J++.

Набор вызовов Simple MAPI может быть использован при создании прикладных программ, которым достаточно минимального набора функций электронной почты, на любых языках программирования, поддерживающих подключение динамических библиотек (DLL) или включение статических библиотек на этапе сборки (linking) исполняемого кода. В качестве примера таких средств разработки можно привести Visual Basic, Power Builder, Delphi, компиляторы C/C++ и FORTRAN различных производителей.

Интерфейс Common Messaging Calls (CMC) может применяться при разработке программ, которые будут переноситься на отличные от Windows платформы. По функциональности CMC соответствует уровню Simple MAPI и требует использования таких же систем разработки приложений.

Для написания прикладных программ, использующих все функциональные возможности MAPI, такие как асинхронная обработка событий, манипулирование почтовыми профилями, работа с электронными досками объявлений, поиск в каталоге, маршрутизация, расширенные свойства сообщений и т.д., должны применяться компиляторы C/C++ и Win32 SDK для платформ Windows 95 и NT или 16-битная версия MAPI SDK для Windows 3.1x. Хотя отдельные фрагменты полного набора интерфейсов могут вызываться и из приложений на Visual Basic или Delphi.

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

  • электронного дизайнера форм клиента Exchange или электронного дизайнера Outlook, если предоставляемая ими функциональность достаточна для выполнения поставленной задачи. Поскольку в обеих системах используется язык программирования Visual Basic, поддерживающий механизм OLE, при помощи электронных форм можно удовлетворить большинство требований по созданию приложений коллективной работы, однако многие расширенные функции с их помощью не реализуются по причине ограниченных возможностей OLE Messaging и OLE Scheduling;
  • компиляторов C/C++ и Win32 SDK/MAPI SDK для создания расширений, дополняющих или заменяющих отдельные компоненты клиентской части и способных использовать в работе полный набор интерфейсов MAPI. Примером таких программ могут служить специализированный сервер электронных форм написанных на языке Java; обработчик входящих сообщений, использующий расширенный набор правил; дополнительная панель в окне клиентской программы, используемая для ускоренного просмотра сообщения.

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

  • каталог SAMAPPS на дистрибутиве сервера Exchange содержит примеры электронных форм;
  • Win32 SDK и MAPI SDK содержат примеры использования различных уровней интерфейса MAPI;
  • примеры электронных форм Outlook и программ, использующих MAPI, в том числе расширяющие базовую функциональность клиента Exchange, доступны в Internet на сервере фирмы Microsoft по адресу http://www.microsoft.com/Exchange в разделе Application Farm;
  • исходные тексты некоторых программ, входящих в Exchange Server 5.0 Resource Kit, также доступны для загрузки с WWW-сервера Microsoft.

2.4 Преимущества клиентских программ

Преимущества клиентских программ:

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

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

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

В свою очередь встроенные, не зависящие от информационной модели, можно разделить на:

  • Сервисные интерфейсы;
  • Интерфейсы разработчика и администратора.

2.5 Разработка клиентских программ

Клиент у нас будет по понятным причинам с графическим интерфейсом пользователя (GUI) и должен иметь элементы управление, кнопки и поля ввода. У меня получился вот такой вид программы:

Рисунок 3

Определимся со всеми элементами! Хотя и так понят но, как говорится, на всякий случай поясню. [22]

 — IP: Поля для ввода IP компьютера, где запущен сервер.
 — Port: Указываем номер порта на котором висит сервер.
 — Подключится: Кнопка для подключения к серверу.
 — Текст сообщение: Поле для ввода сообщение, которое нужно отправить.
 — Отправить сообщение…: Соответственно кнопка для отправки сообщение.
 — Статус соединение: Тут мы узнаем, подключились или нет!

Дальше пробуем научить «Клиент» подключаться к серверу и проверим, как это работает. В данном варианте, код для кнопки «Подключиться» выглядит так:

Рисунок 4

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

Рисунок 5

И на тот случай, если все-таки не удалось подключиться к серверу, например потому что «Сервер» на удалённом ПК не запущен и, соответственно, порт «666» закрыт. [22]

Рисунок 6

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

Рисунок 7

Подключиться не удалось, все верно! Сервер же не запущен, соответственно подключаться некуда! [22]

Проверим, как работает программа с запущенным сервером немного ниже, а пока научим «Клиент» отправлять нашу команду «MESSAGE_TEXT» помните? Мы её указали в «Сервере» если она придёт, то сообщение показать!

Рисунок 8

Вот такой код будет для кнопки «Отправить сообщение на удалённый компьютер» При нажатии этой кнопки сервер получит команду «MESSAGE_TEXT»и выполнит соответствующие действия, в нашем же случае, покажет сообщение из поля клиента «Текст сообщение»

Теперь когда «Клиент» умеет определять статус подключение к «Серверу» самое время все проверить. Запустим Сервер и Клиент. Далее пробуем подключиться к «Серверу» и смотрим статус.

Рисунок 9

Видим, что статус подключения к удалённому компьютеру (В данном случае – это локальный) положительный, то есть мы успешно подключились к серверу по нужному порту. [22]

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

Рисунок 10

Видим, что сообщение с текстом вышло успешно – это свидетельствует о том, что наша «Программа» работает хорошо.

Если Вы не знали о таком типе программ, которые работают по принципу «Клиент — Сервер» то сейчас я надеюсь, для Вас стало все ясно и понятно!

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

2.6 Клиентские скрипты

По мере развития индустрии создания веб-сайтов возникла потребность расширить возможности использовать мультимедиа как инструмента дизайнера для создания интерактивных страниц. Эта возможность появилась с внедрением технологии, получившей название Dynamic HTML (DHTML). [27]

Dynamic HTML (DHTML) — это обообщающий термин для набора технологий, используемых совместно для создания интерактивных и анимированных веб-сайтов. Обычно под DHTML подразумевается комбинация из статического языка разметки (HTML), клиентского языка сценариев (JavaScript), языка описания представлений (CSS) и объектной модели документа (DOM). Т.е., DHTML — не особый язык, а совокупность клиентских технологий веб-разработки, которую можно представить в виде такой условной «формулы»:

DHTML = HTML + CSS + DOM + JavaScript.

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

О многозначности термина

С другой стороны, «динамическая веб-страница» — более широкое понятие, охватывающее любую веб-страницу, сгенерированную по-разному для каждого пользователя или набора исходных данных. Оно включает и те страницы, что созданы сценариями на стороне клиента, и те, что созданы серверными приложениями (на языках PHP, Perl, JSP, Ruby и проч.), когда веб-сервер генерирует содержимое перед отправкой клиенту.

Вывод по второй главе:

Клиентское приложение – это программа, которая является основным инструментом любого пользователя (им может быть не только пользователь, но и редактор данных, администратор, разработчик программы). Ее основными задачами являются отвечать за пользовательский интерфейс, за манипулирование данными и за обработку этих данных, полученных из интернета. Клиентские приложения разрабатываются на языках программирования C#, Java.

Заключение

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

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

1) Абельсон, Х.; Сассман, Д7. - 608 c. Баррон, Дэвид Введение в языки программирования; М.: Мир - Москва, 2011. - 192 c. 2) Григорьев, А.Б. О чем не пишут в книгах по Delphi; БХВ-Петербург - Москва, 2013. - 576 c. 3) Гудман, Д. Java Script и DHTML. Сборник рецептов для профессионалов; СПб: Питер - Москва, 2013. - 523 c. 4) Доорс, Дж.; Рейблейн, А.Р.; Вадера, С. Пролог - язык программирования будущего; М.: Финансы и статистика - , 2011. - 144 c. 5) Дунаев, Вадим Web-программирование для всех; БХВ-Петербург - Москва, 2013. - 560 c. 6) Дьяконов, В.П. Справочник по расчетам на микрокалькуляторах; М.: Наука. Главная редакция Физико-математической литературы - Москва, 2011. - 464 c. 7) Ерофеев, В.И.; Меркушов, Ю.П. и др. Средства отладки программ в ОС ЕС; Статистика - Москва, 2014. - 245 c. 8) Жарков, Станислав Shareware: профессиональная разработка и продвижение программ; СПб: BHV - Москва, 2011. - 318 c. 9) Кристиансен, Том; Торкингтон, Натан Perl: библиотека программиста; СПб: Питер - Москва, 2013. - 736 c.. Ламот, А. Разработка клиентских приложений; Вильямс - Москва, 2011. - 920 c.. Либерти, Джесс Освой самостоятельно C++ за 21 день; М.: Вильямс - Москва, 2012. - 816 c. 10) Муртаф, Б. Современное линейное программирование; Мир - Москва, 2010. - 224 c. 11) Мэдник, С; Донован, Дж. Клиентские приложения; Мир - Москва, 2013. - 792 c. 12) Мюллер, Дж. Visual C++ 5; СПб: BHV - Москва, 2013. - 720 c. Нейгел, Кристиан С# 2005 для профессионалов (+CD-ROM); М.: Диалектика - Москва, 2010. - 582 c. 13) Нотон, Патрик Java. Справочное руководство. Все, что необходимо для программирования на клиентских приложений; М.: Бином - Москва, 2012. - 448 c. 14) Петзолд, Ч. Программирование для Windows 95; СПб: BHV - Москва, 2013. - 279 c. 15) Поддубная, Л.М.; Шаньгин, В.Ф. Мне нравится Паскаль; М.: Радио и связь - Москва, 2013. - 160 c. 16) Понамарев, В. Базы данных в Delphi 7. Самоучитель; СПб: Питер - Москва, 2016. - 224 c. 17)Просиз, Дж. Программирование для Microsoft .NET (+ CD-ROM); М.: Microsoft Press. Русская Редакция - Москва, 2010. - 704 c. Роббинс, Джон Отладка приложений для Microsoft .NET и Microsoft Windows (+CD-ROM); М.: Microsoft Press. Русская Редакция - Москва, 2017. - 736 c. 18) Робинсон, С.; Корнес, О.; Глинн, Д. и др. C# для профессионалов; М.: Лори - Москва, 2015. - 996 c. 19) Семашко, Г.Л.; Салтыков, А.И. Программирование на языке Паскаль; М.: Наука - Москва, 2014. - 128 c. 20) Фролов, А.В.; Фролов, Г.В. Локальные сети персональных компьютеров. Работа с сервером Novell NetWare; Диалог-Мифи - Москва, 2010. - 168 c.

21) Холл, П. Вычислительные структуры: Введение в нечисленное программирование; М.: Мир - Москва, 2017. - 214 c. 22) Чан, Теренс Системное программирование на C++ для Unix; БХВ - Москва, 20105. - 592 c.