개발관련/용어

서버사이드 스크립트 언어(Server Side Script Language)란? / 서버언어 Top 5

고통받는다 2023. 7. 2. 04:34

서버사이드 스크립트 언어라는 용어에 대해 알아보겠습니다.​​

서버사이드 스크립트 언어?

 

웹 서버에서 실행되는 스크립트 언어로, 동적 웹 페이지를 작성하는 데 사용됩니다.

이런 스크립트 언어는 서버에서 실행되기 때문에 클라이언트에서 해당 스크립트 언어를 확인해 볼 수 없으며, 이런 특징 때문에 결과적으로 보안에 더 뛰어납니다.

서버사이드 스크립트 언어는 서버에서 실행되는 언어입니다.

그래서 클라이언트에서는 서버 스크립트 언어를 확인할수 없습니다.

그것이... 서버 사이드 스크립트 언어니까...

 

서버 사이드 스크립트 언어 종류

 

  • ASP
  • JSP
  • PHP
  • Python
  • Ruby
  • JavaScript
  • Perl

등등..​​

서버 사이드 스크립트 언어 Top 5는?

 

2021년 9월 기준 서버사이드 스크립트 언어 Top 5는 다음과 같습니다.

  1. JS (Node.js)
  2. Python (Django, Flask, Pyramid)
  3. PHP (Laravel, Symfony, CakePHP)
  4. Ruby (Ruby on Rails)
  5. Go (Go Web)​​

각 언어별 특징?

 

JavaScrpt (Node.js)
  1. 이벤트 기반 : 비동기 이벤트 기반 아키텍처를 사용하여 I/O 작업을 처리하므로, 높은 처리량을 제공합니다.
  2. 빠른 실행 속도 : V8 엔진을 사용하기 때문에 빠른 실행 속도를 보장합니다.
  3. 대규모 커뮤니티 : JS는 프론트엔드에서 주로 사용되는 언어로 대규모 커뮤니티를 보유하고 있습니다. 때문에 많은 라이브러리와 프레임워크가 존재합니다.
  4. 높은 생산성 : 3번의 내용과 이어집니다. 프론트 엔드와 백엔드 모두 JS로 작성할 수 있기 때문에 개발 생산성이 높아집니다.
  5. 유연성 : JS는 동적 타입 언어로, 코드 수정 및 개발에 있어 높은 유연성을 제공합니다.
  6. 모듈화 : Node.js는 모듈화 기능을 제공하여 코드를 모듈화하고, 다른 모듈에서 재사용 할 수 있습니다.
  7. 플랫폼 독립: Node.js는 플랫폼 독립 언어로, 다양한 OS에서 사용이 가능합니다.​​

Python (Django, Flask, Pyramid)

 

  1. Django
    • 전체적인 구성이 강력하고 일관성이 있어 빠르게 개발이 가능합니다.
    • ORM이 내장되어 DB 작업이 용이합니다.
    • admin 페이지 제공으로 관리 용이성이 높습니다.
    • 보안성에 대한 많은 기능 제공
  2. Flask
    • 가볍고 유연한 프레임 워크로서 작은 프로젝트에 적합합니다.
    • 플러그인을 통한 기능 확장이 용이합니다.
    • 마이크로 서비스 아키텍처에 적합합니다.
  3. Pyramid
    • 유연하고 확장성이 높은 프레임워크입니다.
    • 소규모 웹 애플리케이션, 대규모 웹 애플리케이션 모두 적합합니다.
    • URL 경로의 매핑 및 라우팅에 대한 기능을 제공합니다.

​​

PHP (Laravel, Symfony, CakePHP)

 

  1. Laravel
    • MVC 아키텍처를 기반으로 합니다.
    • 빠른 개발과 유지 보수를 위한 다양한 기능을 제공합니다.
    • Artisan CLI를 통해 개발자의 생산성을 높일 수 있습니다.
    • Blade 템플릿 엔진을 사용하여 쉽게 템플릿을 작성할 수 있습니다.
  2. Symfony
    • 컴포넌트 기반 아키텍처를 기반으로 합니다.
    • 다양한 기능과 높은 유연성을 제공합니다.
    • 높은 확장성과 재사용성을 보장합니다.
    • Doctrine ORM을 사용하여 데이터베이스 연동을 간편하게 할 수 있습니다.
  3. CakePHP
    • MVC 아키텍처를 기반으로 합니다.
    • 빠른 개발과 유지 보수를 위한 다양한 기능을 제공합니다.
    • CRUD 작업을 쉽게 할 수 있습니다.
    • 자동으로 DB를 생성하고 마이그레이션을 수행할 수 있습니다.​​

Ruby (Ruby on Rails)

 

  1. Convention Over Configuration : 개발자가 구성해야 하는 것을 최소화하고, 미리 정의된 컨벤션을 따르도록 유도합니다. 이로 인해 개발자가 개발에 집중할 수 있도록 도와줍니다.
  2. DRY : 중복 코드를 최소화하도록 설계되어 있습니다. 이를 통해 코드의 유지 보수성과 개발 생산성을 향상시킵니다.
  3. 강력한 ORM : ActiveRecord라는 ORM을 제공합니다. 이를 통해 DB와의 상호작용을 추상화하고, SQL 쿼리 작성을 최소화합니다.
  4. 빠른 개발 속도 : 1 ~ 3을 통해 개발 생산성을 향상시키고 이로 인해 빠른 개발 속도를 보장합니다.
  5. 강력한 커뮤니티와 생태계 : Ruby on Rails는 자체적으로 강력한 커뮤니티를 가지고 있으며, 개발자끼리 활발한 커뮤니티 활동이 일어나고 있습니다. 그러 인해 다양한 플러그인, 라이브러리, 오픈소스 프로젝트 등을 활용해 볼 수 있습니다.​​

Go (Go Web)

 

  1. 높은 실행 속도 : Go는 컴파일 언어로 C++ 수준의 실행 속도를 가지고 있습니다.
  2. 간결한 문법 : Go는 문법이 간결하고 가독성이 높아 다른 언어에 비해 적은 양의 코드로 동일한 기능을 구현할 수 있습니다.
  3. 병행성 : Go는 병행성을 지원하는 언어로, 동시에 여러 개의 작업을 처리할 수 있습니다.
  4. 내장 웹 서버 : Go는 내장된 웹 서버를 제공하므로, 별도의 웹 서버 소프트웨어를 설치하지 않아도 간단한 웹 애플리케이션을 개발할 수 있습니다.