Слуга (веб-фреймворк)
Оригинальный автор(ы) | Альп Местаногуллари, Зёнке Хан, Юлиан Арни |
---|---|
Первоначальный выпуск | 2014 год |
Написано в | Хаскелл |
Операционная система | Кросс-платформенный |
Доступно в | Английский |
Тип | Веб-фреймворк |
Лицензия | Лицензия BSD из 3 пунктов [1] |
Веб-сайт | www |
Servant — это веб-фреймворк , основанный на языке программирования Haskell с упором на типов данных безопасность . [2] [3] [4] Это бесплатное программное обеспечение с открытым исходным кодом , выпущенное под лицензией BSD с 3 пунктами .
Обзор
[ редактировать ](DSL) уровня типа Servant предоставляет доменно-ориентированный язык для описания Всемирной паутины интерфейсов программирования приложений ( веб-API ); возможны различные интерпретации таких описаний: как сервер , рассылающий запросы обработчикам; в качестве документации и спецификаций схемы для API; и как клиентские библиотеки на разных языках. [5]
Подход Servant на уровне типов решает проблему выражений , обеспечивая расширяемость по измерениям как данных, так и поведения. [5] Новые комбинаторы или термины в DSL могут быть введены модульно, как и их новые интерпретации, как совершенно отдельные пакеты. По состоянию на 2023 год в репозитории пакетов Haskell было опубликовано более 100 пакетов, связанных с Servant. [6]
Использование
[ редактировать ]Его используют в производстве такие компании, как GitHub , [7] НоРэдИнк , [8] Кларна , [9] Input Output Global Inc. (в проекте Cardano ), [10] и Проволока . [11]
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ «Служебная лицензия» . Гитхаб . Проверено 10 февраля 2023 г.
- ^ Брагилевский, Виталий (2021). Хаскель в глубине . Мэннинг. ISBN 9781617295409 .
- ^ Путради, Экки (2018). Практическая веб-разработка с использованием Haskell: освойте основные навыки для создания быстрых и масштабируемых веб-приложений . Апресс. ISBN 978-1484237380 .
- ^ Мазумдер, Марк; Брайе, Тимоти (2016). «Безопасная клиент-серверная веб-разработка с помощью Haskell» . 2016 г. IEEE по развитию кибербезопасности (SecDev) . п. 150. дои : 10.1109/SecDev.2016.040 . ISBN 978-1-5090-5589-0 . S2CID 1953852 .
- ^ Jump up to: а б Местаногуллари, Альпы; Хан, Зёнке; Арни, Джулиан; Лё, Андреас (2015). «Веб-API уровня типа с Servant: упражнение по универсальному программированию для конкретной предметной области». Материалы 11-го семинара ACM SIGPLAN по общему программированию . стр. 1–12. дои : 10.1145/2808098.2808099 . ISBN 9781450338103 . S2CID 14512955 .
{{cite book}}
: CS1 maint: дата и год ( ссылка ) - ^ «Просмотр и поиск пакетов» . Haskell.org: Взлом .
- ^ Томсон, Патрик; Рикс, Роб; Ву, Николас; Шрийверс, Том (2022). «Объединение промышленности и научных кругов на GitHub (отчет об опыте)». Труды ACM по языкам программирования . 6 : 496–511. arXiv : 2206.09206 . дои : 10.1145/3547639 . S2CID 249889460 .
- ^ «Типобезопасные запросы MySQL через Postgres» . Блог NoRedInk . 5 ноября 2019 года . Проверено 16 февраля 2023 г.
- ^ Малдер, Феликс. «Haskell в производстве: сервисы Klarna, написанные на Haskell» . Проверено 16 февраля 2023 г.
- ^ «Дизайн кошелька Cardano» . Проверено 16 февраля 2023 г.
- ^ «Слуга» . Проводная документация . Проверено 16 февраля 2023 г.