리프트 (웹 프레임워크)

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

Lift는 웹 애플리케이션 개발을 위한 표현력이 풍부한 스칼라 기반의 프레임워크이다. Grails, Ruby on Rails 등 다른 프레임워크의 개념을 차용하며, Wicket 프레임워크에서 영감을 받은 "View First" 개발 방식을 사용한다. 스칼라 액터를 활용하여 고성능과 확장성을 제공하며, 자바 가상 머신 위에서 실행되므로 기존 자바 라이브러리 및 웹 컨테이너와의 호환성을 가진다. Lift는 보안, 빠른 개발 속도, 유지 관리 용이성을 특징으로 하며, 2009년 2월에 버전 1.0이 출시되었다.

리프트 (웹 프레임워크) - [IT 관련 정보]에 관한 문서
기본 정보

이미지 준비중입니다.

리프트 로고
종류웹 프레임워크
라이선스아파치 라이선스 2.0
웹사이트공식 웹사이트
개발
개발자리프트 팀
작성자데이비드 폴락
프로그래밍 언어스칼라
릴리스
최초 릴리스2007년
최신 버전3.5.0
최신 릴리스 날짜2021년 10월 21일
기타
운영체제크로스 플랫폼
📚 더 읽어볼만한 페이지
  • 스칼라로 작성된 자유 소프트웨어 - 스칼라 (프로그래밍 언어)
    스칼라는 마틴 오더스키가 설계한 객체 지향 및 함수형 프로그래밍 언어이며, 자바 플랫폼에서 실행되고 자바 코드와 상호 운용이 가능하며, 아파치 스파크 등 다양한 곳에서 활용된다.
  • 스칼라로 작성된 자유 소프트웨어 - 아파치 스파크
    아파치 스파크는 대규모 데이터 처리를 위한 오픈 소스 분산 처리 시스템으로, 빠른 속도와 다양한 API 지원을 통해 빅데이터 분석, 머신 러닝, 스트리밍 처리 등 여러 분야에서 활용되며 아파치 소프트웨어 재단의 핵심 프로젝트 중 하나이다.
  • 크로스 플랫폼 소프트웨어 - MSN
    MSN은 1995년 마이크로소프트가 윈도우 95와 함께 출시한 웹 포털이자 관련 서비스 모음으로, 뉴스, 엔터테인먼트, 스포츠, 금융 등 다양한 콘텐츠를 제공하며 주요 온라인 서비스를 통합하는 허브 역할을 수행한다.
  • 크로스 플랫폼 소프트웨어 - 구글 포토
    구글 포토는 사진 및 동영상 저장, 공유, 관리 기능을 제공하는 구글의 클라우드 기반 서비스로, 자동 분류, 얼굴 인식, 검색 기능을 제공하지만 2021년부터 무료 무제한 저장 용량 제공 정책이 변경되었고, 2024년에는 기술의 군사적 이용에 대한 윤리적 논란이 있었다.
  • 웹 프레임워크 - 드루팔
    드루팔은 드리스 바이테르트가 개발하여 2001년 공개된 PHP 기반의 오픈 소스 콘텐츠 관리 시스템으로, 모듈과 테마를 통해 기능 확장이 가능하며 다양한 기관에서 활용되고 활발한 커뮤니티를 가지고 있다.
  • 웹 프레임워크 - 실버스트라이프 CMS
    실버스트라이프 CMS는 PHP로 제작된 오픈 소스 콘텐츠 관리 시스템으로, 웹사이트 및 웹 애플리케이션을 개발하고 관리하는 데 사용되며, MVC 패턴과 Sapphire ORM 프레임워크를 활용하여 사용자 친화적이고 확장 가능한 플랫폼을 제공한다.

2. 설계 목표 및 특징

Lift는 스칼라로 작성된 오픈 소스 웹 프레임워크이다. 동적 웹 콘텐츠는 표준 HTML5 또는 XHTML 편집기를 사용하여 템플릿을 통해 작성된다. Lift는 Comet 및 Ajax와 같은 고급 웹 개발 기술에 대한 기본 지원을 제공한다.

Lift의 주요 특징은 다음과 같다:

* OWASP를 포함한 일반적인 취약점에 강하다.
* 실제 환경에서 높은 성능과 확장성을 제공하여 대규모 트래픽 수준을 처리한다.
* 데스크톱 애플리케이션처럼 인터랙티브하다.

2.1. 표현력과 간결함

Lift는 웹 애플리케이션 작성을 위한 표현력이 풍부한 프레임워크이다. Grails, Ruby on Rails, Seaside, Wicket, Django와 같은 다른 프레임워크의 개념을 차용한다. Ruby on Rails 스타일로 설정보다 관례를 선호하지만, 모델-뷰-컨트롤러 (MVC) 아키텍처 패턴을 규정하지는 않는다. 대신, Lift는 Wicket 프레임워크에서 영감을 받은 "View First"(디자이너 친화적) 웹 페이지 개발 방식에 주로 기반을 두고 있다. 또한 스칼라 액터를 활용하여 스레드당 요청 서버보다 더 많은 동시 요청을 지원함으로써 고성능의 확장 가능한 웹 프레임워크로 설계되었다.

Lift 애플리케이션은 구축 속도가 빠르고 간결하며 유지 관리가 용이하다.

2.2. View First 개발 방식

Lift는 Wicket 프레임워크에서 영감을 받은 "View First"(디자이너 친화적) 웹 페이지 개발 방식을 주로 사용한다. 이는 모델-뷰-컨트롤러 (MVC) 아키텍처 패턴을 따르는 Grails, Ruby on Rails, Django와 같은 프레임워크와는 다른 접근 방식이다. View First 개발 방식은 웹 디자이너가 익숙한 HTML5 또는 XHTML 편집기를 사용하여 템플릿을 작성하고, 개발자가 이 템플릿에 동적 콘텐츠를 연결하는 방식으로 진행된다.

2.3. 고성능 및 확장성

Lift는 스칼라 액터를 활용하여 스레드당 요청 서버보다 더 많은 동시 요청을 지원함으로써 고성능의 확장 가능한 웹 프레임워크로 설계되었다. Lift는 실제 환경에서 높은 성능과 확장성을 제공하여 대규모 트래픽 수준을 처리한다.

2.4. 보안

Lift는 OWASP를 포함한 일반적인 취약점에 강하다.

2.5. 자바 생태계와의 호환성

스칼라 프로그램 코드는 자바 가상 머신(JVM) 내에서 실행되므로, 기존의 모든 자바 라이브러리 및 웹 컨테이너를 Lift 애플리케이션 실행에 사용할 수 있다. 따라서 Lift 웹 애플리케이션은 WAR 파일로 패키징되어 모든 서블릿 2.4 엔진 (예: Tomcat 5.5.xx, Jetty 6.0 등)에 배포된다. Lift 프로그래머는 Eclipse, NetBeans, IDEA와 같은 IDE를 포함한 표준 스칼라/자바 개발 도구 체인을 사용할 수 있다.

3. 역사

리프트의 안정 버전 1.0은 2009년 2월 26일에 출시되었다(프로젝트 시작 후 2년). 2010년 6월에는 리프트 2.0이 출시되었다. 리프트의 원작자인 데이비드 폴락은 FLOSS weekly 팟캐스트에서 리프트 2.0 출시에 대해 논의했다.

리프트는 2012년 2월 26일에 5년간의 지속적인 개발을 달성했다.