2012. 1. 4. 11:09 일상

RoR, Django, grails의 장점을 계승한 java web framework
License : Apache 2 licence
site : http://www.playframework.org/

특징
- 소스 수정시 자동 리로딩
- Restful,  무상태 유지 모델 ( share nothing architecture)
- 그루비 기반 템플릿
- 순수 자바

======================

생각해본 장점들

1. 최근 웹 프레임웍의 동향을 잘 반영했다. (스캐폴딩, JPA, 템플릿엔진)
그레일즈를 많이 참조한듯 싶군요..

2. 순수자바로 개발이 가능하다는점
그루비나 스칼라, 루비 기반 웹 프레임워크 들이 지적받는 점중 가장 큰것은 언어적 기반입니다.
지금도 배울게 많은데, 새로운 스크립트를 또 배워야 하나.. 하지만 이건 그냥 자바 코딩이라는 유혹..

3. share nothing 구조가 장점이 될 수 있겠다. (단 공유가 필요할 경우 주의해야 합니다.)

======================
생각해본 문제점

1. 웹프레임웍 비호환성
legacy(java)를 이용한다는 건 legacy의 재사용성을 장점으로 수용하려는 것인데, (grails는 spring위에 올라타는 선택을 했다.) play는 stateless를 내세우면서 웹 영역을 특정 환경으로 고정시키는 선택을 했습니다.
따져보면 일반적인 라이브러리의 재사용은 타 스크립트 언어도 가능합니다. 그거 없으면 다들 곤란하니까요..
웹 프레임웍들에서 만들어낸 유용한 기능들(필터 등)을 play에서 적용이 불가능하다는 말은 안하겠지만 쉽지 않을듯 하네요.
또한가지.. stateless 방식을 주장하는 것은 이해할만하나, spring과 같이 선택적으로 운용할 수 있는 여지를 주는 것이 더 바람직하지 않을까 싶습니다. (자바세계가 MS와 다른 특징중 하나는 열린 표준과 확장성이 아닐까요.. )
물론 신생 프레임워크에서 선택과 집중을 한 결과라고 생각하긴 합니다..

2. 레퍼런스 & 벤더
우선 절대적으로 레퍼런스가 작고.. (이건 grails도 마찬가지 )
TypeSafe에 붙은 것도 그닥.. ( grails는 그나마 springsource에 붙어있으니 적당한 후원자라도 얻었죠. )

3. View layer의 익숙하지 않은 template syntax
그루비어들에게는 친근하겠지만, 일반 JSP나 X-Intenet에 익숙한 사람들에게는 또다른 재앙이 될 수 있겠습니다.

4. 핵심모듈은 scala
playframework의 소스를 추적하다보면 play.api* 들은 모두 scala .
아직 성숙도에 대해 검증이 필요한 프레임워크를 사용하다보면 필연적으로
내부구조를 파악해야 하는데, 다소 걸림돌이 될 것으로 보입니다.
ex) play.db.DB.getConnection(xx,xx) => play.api.db.DB.scala ...

아무튼... 흥미로운 프레임워크임에는 틀림없습니다.

posted by smplnote