Из Википедии, свободной энциклопедии
Перейти к навигации Перейти к поиску

Hop является Лисп -как программирования языка на Manuel Serrano для веб 2.0 , а также имя веб - брокера ( сервера и прокси ) , который реализует этот язык. Это написано на схеме Bigloo . Это проект, финансируемый INRIA .

Языковой дизайн [ править ]

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

( определить-сервис  ( дата-сервера )  ; 1  ( текущая-дата ))  ; 2( <HTML>  ; 4  ( <BUTTON>  ; 5  : onclick  ~ ( with-hop  ( $ server-date )  ; 6  ( lambda  ( h )  ( alert  h )))  ; 7  «Серверное время» ))  ; 8

Приведенный выше фрагмент кода иллюстрирует несколько концепций.

  • 8 строк кода определяют полную программу. Строки 1 и 2 приводят к определению службы на сервере. Строки с 4 по 8 приводят к странице HTML с функциями javascript. Он указывает клиенту (браузеру) отображать кнопку с меткой «Время сервера» и отправлять запрос на сервер, когда пользователь нажимает кнопку. Hop автоматически генерирует все инструкции, необходимые для связи между клиентом и сервером.
  • Хмель основан на схеме. Следовательно, программа Hop - это, по сути, список слов и / или списков, которые начинаются и заканчиваются круглыми скобками. Например, «(HTML-контент)». «HTML» - это имя функции, а «контент» - это параметр функции.
  • Имена функций в Hop могут содержать символы, отличные от букв и цифр. Например, «<HTML>» - допустимое имя. Поэтому синтаксис Hop очень похож на HTML (по дизайну). Выражение прыжка «(<HTML> content)» аналогично выражению HTML «<HTML> content </HTML>».
  • Параметры HTML начинаются с двоеточия; например: onclick.
  • Символ $ в «$ server-date» указывает, что сервер должен заменить имя переменной «server-date» на значение переменной перед отправкой HTML клиенту. Это очень похоже на то, как работают ASP и JSP.
  • Символ ~ в ": onclick ~ (...)" указывает, что клиент должен обрабатывать то, что указано в круглых скобках.
  • Функция «with-hop» в «(with-hop (...) (...))» - это специальная функция, которая делегирует работу серверу и принимает два параметра. Первый параметр содержит запрос, который клиент должен отправить серверу асинхронно. Второй параметр содержит функцию обратного вызова, которую клиент должен вызывать при получении ответа от сервера. «(lambda (h) (alert h))» - это анонимная функция, которая принимает единственный входной параметр «(h)», который содержит ответ сервера при вызове функции. «(alert h)» - это тело функции.

Проблемы [ править ]

Учитывая его недавнее введение, в настоящее время хмель демонстрирует ряд слабых мест.

  • Безопасность слабая. Это область активных исследований [2]
  • Сбои сети в настоящее время обрабатываются с помощью вручную закодированных процедур тайм-аута и исключений, этот подход трудоемок и относительно ненадежен. [2]

Ссылки [ править ]

Внешние ссылки [ править ]