2024년에 PHP를 다시 돌아보며 느낀 점들
과거에는 홈페이지를 만든다고 하면, 으례 방명록과 게시판을 달기 쉽상이었고, 그때 가장 인기 있었던 것이 제로보드
였습니다.
그땐 PHP
가 뭔지도 모르고 그저 단순히 HTML
, CSS
를 겨우 만지작거리던 수준에서 가지고 놀았었습니다. 그러다가 본격적으로 PHP
에 대해서 관심을 갖게된 건 워드프레스
때문이었습니다.
워드프레스
는 혼자서도 홈페이지를 만들기에 참 훌륭한 도구입니다. 다만, 제한된 기능 안에서만 움직여야한다는 점이 아쉽게 다가오곤 했습니다.
그래서 2018년즈음에는 학원에서 직장인을 대상으로 한, 2달짜리 PHP
단과과정을 잠깐 들었었습니다.
그때 처음 객체지향 프로그래밍
, MVC
패턴 같은 것들을 접했습니다. PHP
를 배우는것 이상으로 객체지향 프로그래밍
이라는걸 처음 접했던 경험이라, 그 부분이 참 도움이 되었던 것 같습니다.
그 뒤로 모던 자바스크립트
가 급부상하게 되면서 node.js
나 리액트
와 같은 혁신적인 도구들에 더 관심이 쏠린 덕분에 PHP
는 뒷전이 되었습니다.
아무래도 PHP
는 언어가 후졌다는 인식때문에 더더욱 외면하게 되었었죠. 그런데 최근에는 PHP
에 관심이 가기 시작했습니다.
일단 제가 PHP
에 대해서 매력을 느낀 점들은 아래와 같습니다.
SSR? PHP가 원래부터 하던 일이었다.
최근 자바스크립트
를 기반으로 NEXT.js
를 활용하는 사례들이 많습니다. 나름 기술에 대해서 트렌디하게 적용된다는 곳에서 정말 많이 쓰이는 것이 리액트
기반으로 SSR
이 가능한 NEXT.js
입니다.
그런데 개인적으로 React
/ NEXT.js
는 공부하다보면 버전이 바뀌어있고, 강의들으면서 따라 진행하다보면 latest 버전
으로 설치했다가 낭패를 보는 경우가 종종 일어났습니다. 더군다나 라이브러리와 리액트/넥스트.js의 버전이 맞지 않으면 벌어지는 여러가지 이슈, 게다가 버그
도 잦았죠.
NEXT.js
를 쓰는 가장 큰 이유는 SSR
인데 버그도 많고, 버전도 자주 바뀌고, Page라우팅
방식에서 App라우팅
방식으로 바뀌는 등, 새로운 개념으로 해마다 다르게 바뀌는 NEXT.js
를 따라간다는게 정말 학습하는 사람으로서는 버거운 느낌을 지우기 어렵습니다.
그에 비해서 PHP
는 기본이 SSR
이니까 그런 스트레스는 없습니다. 구닥다리라고 느낄지 모르지만, 지나치게 빠르게 변화하는 것보다, 오래토록 안정적인 것도 나쁘지 않다고 여겨지는 요즘입니다.
PHP는 정말 아무데서나 돌아간다.
PHP
의 가장 큰 장점 중 하나가 시쳇말로 월 500원짜리 웹호스팅
에서 돌아간다는 것입니다. 기본적으로 아주 저렴하게 서비스되는 웹호스팅
들을 보면 거의 Linux
/ Apache
/ MySQL(MariaDB)
/ PHP
환경은 기본적으로 제공됩니다.
NEXT.js
나 REACT.js
는 vercel
이나 netlify
와 같은 서비스로 처음엔 무료로 시작할 수 있기는 합니다만, 어딘가 종속된다는 느낌을 지우기 어려운데, PHP
는 그에 비하면 꽤 자유로운 폭넓은 선택지가 존재합니다.
express.js
와 같은 프레임워크를 사용한다면, 배포가 훨씬 더 복잡하죠. AWS
와 같은 서비스를 추가로 공부하지 않는 이상 단순하게 배포하기는 어렵습니다.
물론 PHP
도 라라벨
과 같은 프레임워크를 사용한다면, 단순하게 저렴한 웹호스팅에 서비스한다는게 좀 무리가 따르긴 합니다만, 아주 간단한 랜딩페이지에 폼을 제공하는 수준의 서비스를 만든다면, PHP
만큼 단순하고 강력한 도구도 없는 것 같습니다.
PHP는 취업이 목표가 아닌 사람에겐 꽤 훌륭한 도구이다.
사실 PHP를 다시 돌아보게 된 이유는 이게 가장 컸습니다. PHP의 점유율은 전세계적으로 봤을때 76.2%의 점유율을 보이고 있습니다.
하지만 우리나라는 뭐니뭐니해도 자바
죠.
취업이 목표라면 PHP
는 자바
에 비해서 대우나 일자리가 그리 좋은 선택지가 아닙니다.
대기업에서는 라라벨
을 사용한다고 하지만, 개인적인 생각으로 라라벨
과 같은 모던한 프레임워크
를 다룰 정도의 PHP
개발자라면 이미 JAVA
도 할 줄 알고, 그냥 어느정도 경지(?)에 다다른 사람일 경우인 것 같습니다. PHP
하나만 하는 사람은 아닐거라고 생각하는거죠
그런데 PHP
는 중소기업을 대상으로 한다면, 꽤 괜찮은 언어입니다.
통계상 우리나라 기업의 99%는 중소기업입니다.
대기업/공공기관 또는 대기업 하청/협력업체 등을 목표로 한다면 JAVA
가 현실적인 대안일테지만, 중소기업을 상대로 가벼운 홈페이지를 만들어주는 일이라면, 꽤 훌륭한 언어가 PHP
라고 생각합니다.
취직보다는 아르바이트나 소소한 규모의 작은 Side hustle
에 목표를 둔다면 말이죠. 개인적으로는 이쪽을 염두에 두고 있어서 PHP
를 다시 눈여겨보게 되었습니다.
PHP는 웬만한것은 다 내장되어있습니다.
express.js
나 Next.js
같은 것으로 웹사이트를 만들때는 뭔가 많은 라이브러리를 찾아서 깔아야하고, 그 라이브러리 특징을 파악하고 익숙해지는데까지 시간이 필요합니다.
그런데 또 유행이 바뀌고(?) 서로 이거써라 저거써라 추천하는데 휩쓸려서 라이브러리를 찾아 방황하다보면, 개발을 하는건지 라이브러리 체험단(?)을 하는건지 모를정도로 혼란을 겪곤합니다.
그런데 PHP
는 자바스크립트
에 비하면 내장된 기능들이 이미 꽤 쓸만한 것들이 많습니다. validation
체크할때나, 데이터베이스
관련된 것 등등 PHP
자체적으로 해결되는 것들이 자바스크립트
보다는 많습니다. 그래서 아직 학습도중이라 섵부른 판단일 수 있지만, 라이브러리를 찾아서 헤매던 스트레스는 자바스크립트
보다 덜한 것 같습니다.
종합적으로 보자면 PHP
의 장점은 아래와 같습니다
- SSR에 대한 고민 필요 없음
- 저렴한 웹호스팅에서도 동작(제작 예산절감)
- 오래토록 사용된 신뢰도 높은 언어
물론 단점도 있습니다.
- 문제 있는 레거시 코드가 많아 참고 자료가 많은데도 불구하고 쓸만한 자료는 드물다는 문제
- 높은 자유도가 보안 이슈로 연결되기 쉽다는 문제
- 국내 특성상 타 언어에 비해 상대적으로 낮은 임금
- 위의 단점들로 인해 생겨난 PHP라는 언어에 대한 부정적인 인식