티스토리 뷰

Play

Play 설명 및 설치

Jodu 2016. 9. 10. 09:41
반응형

1. Play란

Spring이라는 웹개발 프레임워크가 있는데 Play도 웹개발 프레임워크 중에 하나이다. Play는 1.0버전에서는 자바로 구현이 되었다가 2.0부터는 대부분이 스칼라로 구현되어 있다. 그럼 Spring과 차별성을 가지는 부분은 무엇일까??


스프링은 Blocking I/O 이지만 Play는 Non-Blocking I/O를 기반으로 동작한다. 또한 기능 변경에 의해 소스가 수정되었을 경우 스프링의 경우 WebServer를 재기동하여야 하지만 Play는 재기동이 필요없이 바로 적용된다.
스프링을 주로 쓰고 있는 현재로서 Play의 정확한 기능은 다 모르지만 재기동 없이 바로 적용되는 부분에서는 우와~였다.


2. Play설치

그럼 Play를 설치를 해봐야지??  Play를 설치 하기 위해서는 아래의 주소로 들어가면된다.

https://www.playframework.com/download 이 주소로 들어가면 아래와 같은 화면이 나타나고 Offline Distrubtion을 다운 받아서 진행 하면된다. 물론 자바와 스칼라, SBT가 설치된 상태라고 생각한다.

그럼 typeafe-activator-1.3.10.zip이라는 파일이 설치가 되고 해당 파일의 압축을 풀어서 적절한 위치에 위치 시켜준다. 나같은 경우는 /path/to/activator-1.3.10경로에 위치하고 있다. 파일을 적다한 위치에 위치 시켰다면 환경변수를 설정을 해주어야 한다. 

환경 변수가 설정을 하고 나면 command로 activator라는 명령을 줄 수 있게 된다.


Play설치라 해놓고 이상한 activator라는 놈을 다운 받았는데 정상적인 진행상황이 맞다. activator를 사용하면서 Play를 동작시키게 되는거 같은..

환경 변수 설정을 하였으므로 터미널에 activator ui 라는 명령을 줘보자~ 

위와 같은 화면이 나왔다면 제대로 진행된 상태이다.


3. IDE에서 Play 프로젝트 만들기

지금 부터는 IDE에서 Play프로젝트를 만들어 본다. JetBrain의 InteliJ의 경우 스칼라 플러그인 설치를 하면 IDE 자체에서 Play 프로젝트를 만들 수 있다.

하지만 이클립스의 경우 몇가지 설정을 통해서 프로젝트를 import를 해주어야한다.


먼저 activator new 명령을 이용하여 Play Project기본 틀을 만든다. 기본 틀이라 함은 Spring을 이클립스에서 프로젝트 생성되면 생겨나는 설정 및 디렉토리 구조를 말한다.

이클립스에 import하기 위한 설정은 다음과 같다. Play는 프로젝트 내부에 plugin설정을 할 수 있는 파일이 존재한다. 프로젝트의 디렉토리로 poject/plugins.sbt로 존재하게 된다.


위와 같이 //Eclipse plugins 내용을 추가를 한뒤 import를 시도하면 정상적으로 import되게 된다.

그리고 이클립스에서는 Play를 구동 시켜주는 기능이 없어서 터미널에서 진행하고 있는 프로젝트로 이동하여 activator 명령을 주어 run시켜줘야한다.

위와 같은 화면이 나오게 되고 http://localhost:9000/에서 아래와 같은 화면이 나타나면 정상적으로 동작하는 것이다.



4. 정리

아직 설치만 하고 잠시 Play의 프로젝트 흐름만 확인하여 정확히 Play의 장단점을 몸소 파악하지 못했지만 Play로 지금 프로젝트에서 만들고 있는 서비스를 만들어 볼 생각이다. 그러면서 직접 Spring과의 차이를 직접 느껴 보려 한다. 확실히 FrameWork를 처음 접할때 느끼는 거지만 Spring이나 Play나 어렵다....

추후에 Play 관련 포스팅은 Spring에서 제공되는 ORM이라던지 AOP 이런것들이 어떻게 지원되어지는 대해 포스팅 하고자 한다.

반응형

'Play' 카테고리의 다른 글

PlayFramework JSON Response  (0) 2017.02.18
PlayFramework Filter 적용하기  (0) 2017.02.18
Play패키지분석 및 작동 설명  (0) 2016.09.22
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함