PHP vs JavaScript

문상우·2023년 6월 24일
0

PHP

목록 보기
1/2
post-thumbnail

PHP란?

" "를 의미하는 PHP(PHP: Hypertext Preprocessor) 는 웹 개발에 특히 적합하고 HTML에 삽입할 수 있는 널리 사용되는 오픈 소스 범용 스크립팅 언어이다. C언어를 기반으로 만들어진 서버 측에서 실행되는 서버 사이드 스크립트 언어이기도 하며, 구문은 C, Java 및 Perl을 기반으로 하며 배우기 쉽다. 이 언어의 주요 목표는 웹 개발자가 동적으로 생성된 웹 페이지를 빠르게 작성할 수 있도록 하는 것이지만 PHP로 훨씬 더 많은 일을 할 수 있다.


그럼 스크립트 언어인 JavaScript와 PHP의 차이는 무엇일까?

먼저 우리는 왜 위 두 언어를 알아야 하는가에 궁금증을 가져야 한다.

  • 우리가 흔히 알고 있는 HTML, CSS는 모두 정적인 특성을 가지고 있다..!
  • 정적이라는 것은 변하지 않는 것을 말하며 어떤 이벤트가 발생하거나, 새로운 정보를 추가하고 싶어도 불가능하다는 것을 말한다.
  • 이러한 정적인 페이지로 개발을 하게 되면 아주 사소한 변화를 위해 새로운 파일 전체를 만들어야 할 수도 있기에,,
  • 웹 브라우저 프로그래밍을 통해 동적으로 HTML이 동작할 수 있도록 설계한다.
  • 그리고 이런 동적인 페이지를 만들 수 있는게 바로 JavaScript 또는 PHP이다.

JavaScriptClient 측에서 동작하는 Client Side Rendering(CSS)이고, PHPServer 측에서 동작하는 Server Side Rendering(SSR)이다. CSR과 SSR의 차이는 클라이언트에게 보여질 화면을 어디서 주냐에 달려 있다. 쉽게 생각하면, JavaScript는 클라이언트 측에서 Html 파일을 제공하는 것이고, PHP는 서버 측에서 Html 파일을 제공하는 것이다.


PHP의 장단점

장점

  1. 주요 운영체제와 대부분의 웹 서버에서 지원한다.
  2. 다른 프로그래밍 언어보다 직관적으로 코드를 작성할 수 있어서, 작성해야 하는 코드의 양이 적다.
  3. 텍스트 처리에 특화되어 있어 HTML 문서 처리에 적합하다.

단점

  1. 간단한 사이트를 제작하기 위해 만든 언어라서 복잡한 사이트를 만드는 데는 효율적이지 못하다.
  2. 보안에 안전하지 않은 언어 구조를 가진다.

자바스크립트와 비교했을 때, PHP의 장단점

장점

  1. 프로그램 코드가 보여지지 않기에 자바스크립트에 비해 보안성이 뛰어나다.
  2. 웹 브라우저의 버전과 종류에 영향을 받지않는다.

단점

  1. 실시간으로 처리하는 경우 적합하지 않다.

결론

기존에는 JavaScript에서 하지 못했던, 특정 프로세스를 웹에 추가하거나, 데이터베이스에서 가져온 데이터를 웹상의 내용과 결합해 보여주는 것이 PHP에서만 가능했기에, PHP를 많이 사용했었지만, Node.js 가 나온 후부터는 CSR, SSR 모두 JavaScript로 가능해지면서 PHP의 수요가 줄어든 것 같다. 웹 서비스를 제공하는 규모가 작은 홈페이지 및 게시글에서는 PHP를 통해 개발할 수 있겠지만, 그 규모가 커지게 된다면 HTTP 통신이 매우 잘 정리되어 있는 지금,, Spring or Node.js 로 API 서버를 개발하고, Client는 해당 Server가 제공하는 API를 통해 서비스를 제공하는게 좋을 것 같다는 생각을 하게 되었다.

또, 개인적으로 많이 느낀 것은,, PHP 언어에 관련되어서 공식 문서에 아주 명확하게 정리되어 있다는 것이다.

타입, 참조, 제어, 예외, 함수, 해쉬, 데이터베이스, 파일 입출력, 심지어 가비지 컬렉터에 관련된 내용까지 모두 상세하게 하나하나 작성되어 있다..! 그만큼 PHP를 개발한 사람들의 자부심이 대단하다는 것을 많이 느끼게 된 것 같고, 공부하는 사람에게는 매우 친절하다 라는 것 또한 느꼈다.

출처


[PHP] PHP란 무엇인가? (자바스크립트와 차이점)

http://www.tcpschool.com/php/php_intro_intro

PHP 소개 - 코딩의 시작, TCP School

https://choseongho93.tistory.com/61

PHP 공식 사이트

https://www.php.net/

PHP와 Node.js 바로 알기

https://library.gabia.com/contents/8313/

profile
성실하게 도전하고 기록하며 성장하자

0개의 댓글