Lift (фреймворк) (Lift (sjywbfkjt))

Перейти к навигации Перейти к поиску
Lift
Логотип программы Lift
Тип Фреймворк для разработки веб приложений
Разработчик Группа под руководством Дэвида Полака
Написана на Scala
Операционная система Кроссплатформенное программное обеспечение
Первый выпуск 26 февраля 2007 года
Аппаратная платформа Java Virtual Machine
Последняя версия 3.5.0 (8 октября 2021 год)
Репозиторий github.com/lift/framework
Лицензия Apache 2.0 License
Сайт liftweb.net

Lift — свободно распространяемый фреймворк для написания веб-приложений. Он черпает концепции из других фреймворков, таких как Grails, Ruby on Rails, Seaside, Wicket и Django. В отличие от принятого в Ruby on Rails подхода «конвенции вместо конфигурации», Lift не придерживается архитектурного шаблона модель-представление-контроллер (MVC). Вместо этого Lift в основном ориентирован на подход «View First» (удобный для дизайнера) к разработке веб-страниц, вдохновленный фреймворком Wicket. Кроме того, Lift разработан как высокопроизводительный и масштабируемый веб-фреймворк, используя Scala actors для обработки более крупных объемов одновременных запросов, чем это возможно с сервером, создающим поток для каждого запроса.

Поскольку код программ на Scala выполняется в Java виртуальной машине (JVM), любая существующая библиотека Java и веб-контейнер могут использоваться для запуска приложений Lift. Приложения Lift упаковываются в WAR-файлы и развертываются на любом движке сервлетов 2.4 (например, Tomcat 5.5.xx, Jetty 6.0 и т. д.). Программисты, работающие с Lift, могут использовать стандартный стек разработки Scala/Java, включая среды разработки, такие как Eclipse, NetBeans и IDEA. Динамический веб-контент создается с помощью шаблонов с использованием стандартных редакторов HTML5 или XHTML. Приложения Lift также получают преимущества от нативной поддержки передовых техник веб-разработки, таких как Comet и Ajax.

Основные характеристики приложений Lift:

  • Устойчивость к распространенным уязвимостям, включая многие из OWASP.
  • Быстрая разработка, лаконичный и легко поддерживаемый код.
  • Высокая производительность и масштабируемость в реальном мире для обработки больших объемов трафика.
  • Интерактивность, подобная десктопному приложению.

Lift впервые был запущен 26 февраля 2007 года, в 2009 году выпущена версия 1.0[1], 30 июня 2010 года вышла версия 2.0[2].

В мае-июне 2009 года в журнале IEEE Internet Computing Стив Виноски (Steve Vinoski) опубликовал[3] в своей колонке «Функциональный Веб» статью «Scala и Lift — функциональные рецепты для Интернета»[4], в которой отмечены положительные качества использования функционального программирования, параллельности с асинхронной передачей сообщений и со статической моделью типизации, обеспечиваемые Lift.

Приложения на Lift упаковываются в war-файлы и выполняются в любом сервлет-контейнере (например Apache Tomcat, Jetty). Для написания на Lift можно использовать стандартные среды разработки для Java: Eclipse, NetBeans и IntelliJ IDEA.

На июль 2010 года в Google-группе фреймворка зарегистрировано более 2 тыс. участников.

Примечания

[править | править код]
  1. Lift 1.0 is available Архивировано 11 декабря 2010 года.
  2. Announcing Lift 2.0 Архивировано 2 июля 2010 года.
  3. Lift picking up momentum. Дата обращения: 17 февраля 2010. Архивировано 17 мая 2009 года.
  4. Scala and Lift — Functional Recipes for the Web. Дата обращения: 17 февраля 2010. Архивировано 19 июня 2009 года.
  • Lift — официальный сайт
  • liftweb — Репозиторий и wiki проекта на github
  • Chen-Becker, Derek; Weir, Tyler; Danciu, Marius (2009-05-25), The Definitive Guide to Lift: A Scala-based Web Framework (1st ed.), Apress, p. 200, ISBN 1430224215, Архивировано из оригинала 5 декабря 2010, Дата обращения: 16 февраля 2010 Архивная копия от 5 декабря 2010 на Wayback Machine
  • Michael Galpin. Build Comet applications using Scala, Lift, and jQuery — Введение в Lift на IBM Developers, написанное одним из разработчиков eBay (доступна также PDF-версия)
  • Michael Galpin. Give Apache Geronimo a Lift — ещё одна статья Майкла Галпина о Lift на IBM Developers