Snap (веб-фреймворк)
![]() | |
Оригинальный автор(ы) | Грегори Коллинз, Даг Бердсли [1] |
---|---|
Разработчик(и) | Команда Snap |
Первоначальный выпуск | май 2010 г. |
Стабильная версия | 1.1.3.2 [2] / 19 июля 2023 г |
Репозиторий | Snap-репозиторий |
Написано в | Хаскелл |
Операционная система | Кросс-платформенный |
Тип | Веб-фреймворк |
Лицензия | Лицензия БСД |
Веб-сайт | snapframework |
Snap — это платформа веб-разработки, написанная на языке программирования Haskell . [3] [4]
Обзор
[ редактировать ]Структура Snap состоит из следующего:
- оснастка ядра, [5] универсальный API веб-сервера Haskell.
- снап-сервер, [6] пост [7] HTTP-сервер, реализующий интерфейс snap-core.
- Ограбление, [8] система шаблонов на основе HTML для создания страниц, которая позволяет привязывать функциональность Haskell к тегам HTML для четкого разделения представления и внутреннего кода, во многом аналогично . фрагментам Lift Heist полностью автономен и может использоваться независимо.
- Снаплеты, [9] система высокого уровня для создания модульных веб-приложений.
- Встроенные снимки для шаблонов, управления сеансами и аутентификации.
- Сторонние снаплеты для таких функций, как загрузка файлов, подключение к базам данных ( PostgreSQL , MongoDB и т. д.), генерация JavaScript из кода Haskell и многое другое.
- Snap Монада для доступа с отслеживанием состояния к HTTP-запросам и ответам. [10]
Snap работает как на Windows NT, так и на Unix-подобных платформах. Snap использует Iteratee . модель ввода-вывода [11] Начиная с версии 1.0, его ввод-вывод реализован с помощью io-streams .
Использование
[ редактировать ]Snap используется Silk, [12] ЯнРейн, [13] [14] рацемический, [15] www.lpaste.net, [16] [17] SooStone Inc и Group Commerce. Snap также используется как легкий автономный сервер Haskell. Генератор статических сайтов Hakyll использует Snap в качестве режима предварительного просмотра. [18]
Другие веб-фреймворки Haskell
[ редактировать ]- Йесод (веб-фреймворк)
- Скотти [19]
- Спок [20]
- МФлоу [21]
- Мисо [22]
Ссылки
[ редактировать ]- ^ Команда Snap Framework. «Snap: Веб-фреймворк Haskell: О программе» . snapframework.com .
- ^ «snapframework/привязка» . github.com .
- ^ Коллинз, Грегори; Бердсли, Дуг (январь – февраль 2011 г.). «Snap Framework: веб-инструментарий для Haskell» (PDF) . IEEE Интернет-вычисления . 15 (1): 84–87. дои : 10.1109/mic.2011.21 .
- ^ Бискарди, Крис (2014). Снап для начинающих . Гамроуд.
- ^ «оснасточное ядро» . www.hackage.org.
- ^ "снап-сервер" . www.hackage.org.
- ^ «Привязка тестов 0.3 с помощью GHC 7.0.1» . www.snapframework.com . Проверено 2 марта 2014 г.
- ^ Команда Snap Framework. «Snap: веб-фреймворк Haskell: учебное пособие по ограблению» . snapframework.com .
- ^ Команда Snap Framework. «Snap: веб-фреймворк Haskell: каталог Snaplet» . snapframework.com .
- ^ «Снап.Ядро» . hackage.haskell.org .
- ^ «Интервью InfoQ: Грегори Коллинз о высокопроизводительных веб-приложениях с помощью Snap и Haskell» . 12 сентября 2011 г.
- ^ «Полный практический пример FP — Silk — управление структурированным контентом» (PDF) . ФП завершено . Проверено 2 марта 2014 г.
- ^ «Полный практический пример FP — JanRain — система управления пользователями» (PDF) . ФП завершено . Проверено 2 марта 2014 г.
- ^ «Блог-учебник по Snap и PostgreSQL» . ЯнРейн . Проверено 2 марта 2014 г.
- ^ «Приложение Haskell Snap в производстве» . Люк Херстен . Проверено 2 марта 2014 г.
- ^ «Новая паста» . www.lpaste.net .
- ^ «вставить исходный код» . Крис Дон . Проверено 2 марта 2014 г.
- ^ «Хакыл – Дом» . jaspervdj.be .
- ^ «Скотти: веб-фреймворк Haskell, вдохновленный Sinatra Руби, с использованием WAI и Warp» . Хакадж .
- ^ «Спок: еще один веб-фреймворк Haskell для быстрой разработки» . Хакадж .
- ^ «MFlow: веб-фреймворк RESTful с отслеживанием состояния» . Хакадж .
- ^ «мисо: вкусный интерфейсный фреймворк на Haskell» . Хакадж .