라라벨이란…

늘 PHP로 날코딩만 해왔었는데, 정부과제를 하면서 가급적이면 최신 트렌드의 PHP 기술?을 사용해보고자 하는 뽐뿌가 왔습니다. 더이상의 날코딩은 그만하고 싶고, MVC 기반의 프레임워크들을 적용해보면 좋겠다 하던차에 눈에 들어오던게 라라벨이었네요.

프레임워크들을 사용해본다 했을때 떠오르던것은 코드이그나이터, CakePHP 그리고 라라벨, 이정도 세가지가 후보가 되었던것 같습니다.

그리고나서 구글링을 해보니 의외로 라라벨의 성장세가 무섭기도 하고, 커뮤니티도 잘 갖춰진것 같아 보였고, 우리나라에서도 상대적으로 다른 프레임워크에 비해 관심이 높아보이니 선택을 안할 수 없었죠.

이런 배경으로 선택된 라라벨은 말 그대로 PHP 프레임워크입니다. https://www.laravel.com의 타이틀에는 ‘The PHP Framework for Web Artisans’ 라는 문구가 적혀있고, 글자 그대로 직역하면 ‘웹 장인들을 위한 PHP 프레임워크‘ 정도가 되겠습니다.

그러면, 프레임워크란 무엇일까? 거기에는 다양한 정의가 있습니다.

Gof의 디자인 패턴으로 유명한 랄프 존슨(Ralph E. Johnson)은 그의 아티클 Components, Frameworks, Patterns (Feb 21, 1997)에서 프레임워크는 객체지향의 재사용 테크닉중의 하나라고 정의하였고, 일반적으로는 ‘시스템의 전체 또는 부분의 재사용가능한 디자인’ 또는 ‘개발자에 의해 커스터마이즈될수 있는 응용프로그램의 골격이다’로 정의된다고 설명하였습니다. 이말은 곧 프레임워크는 컴포넌트와 패턴의 결합이라고도 정의됩니다.

일반적으로 라이브러리와 헛갈리기도 하는데, 라이브러리는 재사용가능한 다양한로직 또는 코드들을 잘 정리해 놓은 집합체라고 본다면, 프레임워크는 위의 정의처럼 일종의 골격이라고 보면 되겠습니다. 다만, 배포되는 프레임워크에는 개발자의 편의를 위해 골격에 더해지는 각종 기능을 모아놓은 라이브러리들이 포함되어 있는 경우가 대부분이어서 좀 헛갈리는 경우가 종종있습니다.

암튼, 골치아픈 이야기는 여기쯤 하고, 저도 현재 라라벨을 공부하는 입장이라 정리도 할겸, 혹여 라라벨을 시작하려는 분들에게 도움이 될까하여 여기에 올려보고자 합니다.




Leave a Reply

Your email address will not be published. Required fields are marked *