Skip to content

Play framework #
Find similar titles

Structured data

Category
Programming

Play framework(https://www.playframework.com/) #

Play framework 이란? #

  • 2007년부터 자바 웹 어플리케이션 개발을 쉽게 하기 위해 Zenexity의 내부 프로젝트로 개발이 시작되었으며, 기존의 웹 프로젝트 수행 방식을 반영해 웹 아키텍쳐를 유지하면서 생산성 증대 효과를 가져올 수 있었다. 뿐만 아니라 J2EE 에서 사용하는 복잡한 관행을 깨뜨리고 패키징에 대한 완전히 새로운 접근법을 시도하여 자바 웹 어플리케이션 개발을 위한 새로운 패러다임을 제시하였다.
  • 2009년 오픈소스 프로젝트로 진행하면서 매우 긍정적인 반응을 얻었으며, 많은 개발자들이 참여하는 가운데 여전히 빠르게 버전업이 되고 있다. 지속적으로 발전하는 웹 기술의 신속한 반영과 웹 아키텍처의 실시간 처리 구조로의 변화, Scala를 비롯한 JVM 언어등 다양한 언어와 DB를 지원할 수 있도록 웹 프레임워크 플레이 2.0이 개발되어 배포되고 있다.

Play framework 특징 #

  • 비동기 방식 프로그래밍
    • 웹 어플리케이션에서 병렬 실시간 데이터 처리가 많아지기 때문에 웹 프레임워크에서도 비동기 HTTP 프로그래밍 모델을 지원할 필요가 있음.
    • 플레이 2.0에서는 액터(Actor)를 이용해 고도의 병렬 시스템에 최적화된 모델을 제공
  • 타입 안정성
    • 타입 안정성이란 탕비의 오류를 막거나 방지하는 정도를 말함.
    • 플레이 2.0에서 Scala를 추가적으로 지원하면서 컴파일러가 자료형을 더 확실하게 검사
    • 컴파일 시점에 템플릿과 경로파일이 일관적인지 검증하여 더욱 쉽게 패키지하고 재사용할 수 있기 때문에 실행(run-time)시점에 성능이 훨씬 더 좋아지는 장점이 있음.
  • 자바와 스칼라의 네이티브 방식 지원
    • Scala가 자바와 호환성이 좋기 때문에 스칼라를 외부 모듈로 사용하였음.
    • 별도의 모듈로 Scala를 지원하는 것은 한계가 있음.
    • Scala의 강력함을 제대로 활용하기 위해서는 별도의 모듈로 스칼라를 지원하는 것이 아니라 플레이 2.0의 핵심으로 지원하기로 함.
    • 자바의 장점들을 모두 고려한 자바 API지원은 물론 인터프리터나 컨버터를 사용하지 않고 Scala 언어를 그대로 사용할 수 있도록 지원
  • 강력한 빌드 시스템 제공
    • 서블릿 API가 아닌 비동기 HTTP API를 제공해야 하고, 새로운 패키징 방식을 추진하기 위해 새로운 방식의 플레이 어플리케이션 실행 및 컴파일, 배포를 하기 위한 새로운 방식을 선택
    • 플레이 1.x 버전에서는 파이썬 스크립트 모음을 제작해 빌드와 배포작업을 진행하였음.
    • 플레이 2.0 버전 부터 빌드툴을 Scala의 빌드도구인 sbt로 바꾸었고 템플릿 엔진도 Scala를 사용하고 Scala의 동시성 프렘임워크인 akka를 도입하였음.

Incoming Links #

Related Data Sciences #

Suggested Pages #

0.0.1_20140628_0