PHP개발에 관해서 찾다가..
이라는 글을 찾았습니다.
오호~ PHP에도 Framework라는 개념이 있더군요.
그래서 PHP Framework를 선택하기 위해서 이런저런 자료를 조사 하면서 조사한 내용을 정리 해 볼려고 합니다.
Ruby On Rails의 영향으로 웹 프로그래밍에서 Framework에 대한 관심이 폭발적으로 늘어나게 되고, PHP에서도 Framework에 지원이 활발하게 진행이 되었나 봅니다. 그리고 위의 글에서와 같이 여러개의 PHP Framework가 생겨 나게 되고, 현재 주류를 이루고 있는 Framework는 4개 정도로 압축 되는거 같습니다.
- Zend Framework
- CakePHP
- Code Igniter
- Symfony
자료를 찾아서 나름대로 특징을 정리 해 봤습니다.
Zend Framework
- PHP의 핵심 기부자인 Zend Technologies에서 개발.
- PHP5 만 지원
- 다양한 DB 데이터베이스 추상화
- 확장가능한 MVC 모델 지원
- HTML 폼 렌더링 및 유효성 검사 지원
- 유연한 캐싱 서브 시스템
- 엄격한 코드 테스트를 거친 안정된 코드
- 국제화 지원
- 많은 양의 예제 지원
- new BSD 라이센스
- 국내 사용자 포럼을 못 찾았음.
CakePHP
- PHP4, PHP5 지원
- 구조화 된 MVC모델 지원
- 데이터베이스 인터랙션과 간략화한 쿼리를 위한 CRUD 가 통합됨
- 애플리케이션 스캐폴딩
- 보기좋은 맞춤 URL 의 요청 디스패처
- 빠르고 유연한 템플릿 기능 (PHP 문법, 각종 헬퍼 포함 )
- AJAX, 자바스크립트, HTML 폼을 위한 각종 뷰 헬퍼
- 보안, 세션, 리퀘스트 등을 처리하는 컴포넌트
- 유연한 뷰 캐시
- 유연한 접근 제한 목록
- 자료 검사 기능 내장
- 국제화 지원
- MIT License
- CakePHP 한국 사용자 모임.
Code Igniter
- PHP4, PHP5 지원
- 설치가 간편하다.
- 잘 정리된 문서
- 확장이 용이하다.
- MVC 모델 지원
- 간견한 문법
- 다른 프레임워크에 비해 빠른 속도
- 국제화 지원
- BSD 라이센스
- CodeIgniter 한국 사용자 모임
- CodeIgniter 한글 메뉴얼
Symfony
- PHP5만 지원
- 간단한 템플릿과 도우미(Helpers)
- 캐시 관리
- 기본 골격 (CRUD/Admin generator)
- 스마트 URLs (routing policy)
- 국제화 지원
- 객체모델과 MVC 분리
- MIT License
- 국내 사용자 포럼을 못 찾았음.
주요 특징들의 위와 같습니다. 여기저기서 찾은 자료들이라서 ^^;; 잘 비교가 되지 않네요..
실행 속도 비교
그리고 다음은 중요한 실행 속도 입니다.
4개의 Framework를 모두 비교한 자료는 찾지를 못했습니다.
먼저 Zend Framework, CakePHP, CodeIgniter를 비교한 결과를 그래프로 그려 봤습니다.
그래프에서 높을 수록 빠른 겁니다. CodeIgniter가 독보적인 선두를 보이고 있습니다. 그리고 Zend Framework와 CakePHP가 뒤를 따르고 있습니다.
그런데 Symfony에 대한 비교가 없어서, CakePHP, Zend Framework, Symfony의 속도를 비교를 검색해 봤는데.. 최근에 비교한 내용을 찾을 수가 없었습니다.
그래서 결국 이상한 나라의 언어(글을 보고 어떤 나라인지 유추를 못 하겠네요 ^^;;;)로 된 페이지를 찾았습니다. 언어는 해독 불가(-_-;;) 이지만, 그래프는 볼 수 있어서.. 첨부 합니다.
위와 같은 그래프가 나오더군요.. 결국 Symfony가 4개의 프레임워크 중에서 가장 늦은 속도를 가지고 있는거 같습니다.
그럼 대세는?
마지막으로 Google Trends의 그래프를 첨부하겠습니다.
검색의 빈도를 통해서 어떤게 관심을 받는지 보는건데,
검색 결과로 봐서는 cakephp가 1위 이지만, 가장 후발 주자로 시작한 codeingniter가 많이 따라잡고 있는 것으로 볼 수 있습니다.
여기 까지 PHP Framework를 소개하는 포스팅을 마칠려고 합니다.
비교는 여기까지이고 PHP의 Framework의 선택은 개발자의 몫이 아닐까 합니다.
출처 - http://gyuha.tistory.com/249
===================================================================================
2006년 CakePHP의 등장 이후,
전세계 규모로 볼 때 PHP 프레임워크의 인기는
CakePHP, 그뒤로 Symfony순 이었습니다.
아래 그래프는 당시 해당 프레임워크가 얼마나 검색되었나
검색수로 본 PHP Framework 트렌드로서
사용도, 주목도를 나타대는 지표로 볼 수 있습니다.
당시 Symfony는 대규모 Web 서비스에 채용되어 이후의 성장이 기대 되었지만,
PHP4를 지원하지 않아 아직도 PHP4를 이용하는 유저수를 끌어들이지 못했고,
또한 Zend Framework는 PHP 엔진을 개발하고 있는
Zend Technologies사가 개발하고 있는 프레임워크이기도 하여
신뢰성으로 높아 이후에 점유율을 높힐 가능성이 있었습니다.
그 이후, 폭발적으로 늘어난 PHP 프레임워크는 현재
어느정도 인기 있는 프레임워크의 가닥이 잡힌듯 합니다.
아래는 최근 2011년 까지의 PHP Framework의 트렌드를
나타내는 그래프입니다.
Codeigniter (코드이그나이터)는 등장과 함께 무서운 인기로 점유율을 높혔고
가장 최근에 등장한 Yii (이)도 최근 PHP 프레임워크 인기 설문조사에서
당당히 1위를 차지 하였습니다.
물론 이러한 순위보다는
자신 또는 조직이 개발하는 웹 어플리케이션이나 웹 사이트의
규모나 목적에 맞게 적절히 선택하여
사용하는게 맞다고 생각되지만,
프레임워크가 거의 외국에서 만들어 지다 보니
문서화나 정보가 많이 부족한것도 사실이기 때문에,
어느정도 인기도를 감안하여 선택해야 추후 개발에
차질이 없이 진행할 수 있을 거라고 생각됩니다.
또한 이러한 프레임워크가 인기도와는 틀리게 각 나라별로 선호도가 달라서
예를 들면 전세계적으로 유명한 CakePHP를 선택했지만
우리나라에서는 거의 정보를 찾아 볼 수 없는 슬픈 현실도 생각해야 합니다.
웹 어플리케이션 개발 전체를 본 다면
PHP에 한하지 않고, 다양한 개발 언어에 있어서
다수의 프레임워크가 진화를 계속할 것입니다.
개발언어의 벽을 넘어 서로 영향을 주고 받는 프레임워크가
등장할 가능성도 있어 앞으로 프레임워크의 동향은
주의해서 볼 필요가 있다고 생각합니다.
PHP의 프레임워크의 역사와 현재
'Development > PHP' 카테고리의 다른 글
php - include vs require (0) | 2013.01.08 |
---|---|
php - date() 오류 (0) | 2012.07.21 |
php - mail 함수 (1) | 2012.07.11 |
PHP Framework - CodeIgniter (0) | 2012.05.07 |
php 오류해석기 (0) | 2012.02.03 |