Хмель (программное обеспечение) - Hop (software)

Прыгать
Hop logo.svg
Парадигмамультипарадигма
РазработаноМануэль Серрано
Впервые появился2006
Стабильный выпуск
2.4.2 / 23 сентября 2013 г.; 7 лет назад (2013-09-23)
Печатная дисциплинасильный, динамичный
ЛицензияGPL 2+
Интернет сайтпрыгать.inria.fr Отредактируйте это в Викиданных
Под влиянием
Схема[1]
Национальный институт исследований в области информатики и автоматизации
Формирование1967
ЦельИсследование
Обслуживаемый регион
Франция

Прыгать это Лисп -подобно язык программирования к Мануэль Серрано за веб 2.0 а также название веб-брокер (сервер и доверенное лицо ), реализующий этот язык. Это написано в Bigloo Схема. Это проект, финансируемый INRIA.

Языковой дизайн

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

(определение службы (дата сервера)                  ;1  (текущая дата))                              ;2(<HTML>                                        ;4  (<BUTTON>                                    ;5    :по щелчку ~(с хмелем ($ server-date)         ;6                  (лямбда (час) (тревога час)))     ;7      «Серверное время»))                          ;8

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

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

вопросы

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

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

Рекомендации

внешняя ссылка