서버사이드 스크립트 언어라는 용어에 대해 알아보겠습니다.
서버사이드 스크립트 언어?
웹 서버에서 실행되는 스크립트 언어로, 동적 웹 페이지를 작성하는 데 사용됩니다.
이런 스크립트 언어는 서버에서 실행되기 때문에 클라이언트에서 해당 스크립트 언어를 확인해 볼 수 없으며, 이런 특징 때문에 결과적으로 보안에 더 뛰어납니다.

서버사이드 스크립트 언어는 서버에서 실행되는 언어입니다.
그래서 클라이언트에서는 서버 스크립트 언어를 확인할수 없습니다.
그것이... 서버 사이드 스크립트 언어니까...
서버 사이드 스크립트 언어 종류
- ASP
- JSP
- PHP
- Python
- Ruby
- JavaScript
- Perl
등등..
서버 사이드 스크립트 언어 Top 5는?
2021년 9월 기준 서버사이드 스크립트 언어 Top 5는 다음과 같습니다.
- JS (Node.js)
- Python (Django, Flask, Pyramid)
- PHP (Laravel, Symfony, CakePHP)
- Ruby (Ruby on Rails)
- Go (Go Web)
각 언어별 특징?
JavaScrpt (Node.js)
- 이벤트 기반 : 비동기 이벤트 기반 아키텍처를 사용하여 I/O 작업을 처리하므로, 높은 처리량을 제공합니다.
- 빠른 실행 속도 : V8 엔진을 사용하기 때문에 빠른 실행 속도를 보장합니다.
- 대규모 커뮤니티 : JS는 프론트엔드에서 주로 사용되는 언어로 대규모 커뮤니티를 보유하고 있습니다. 때문에 많은 라이브러리와 프레임워크가 존재합니다.
- 높은 생산성 : 3번의 내용과 이어집니다. 프론트 엔드와 백엔드 모두 JS로 작성할 수 있기 때문에 개발 생산성이 높아집니다.
- 유연성 : JS는 동적 타입 언어로, 코드 수정 및 개발에 있어 높은 유연성을 제공합니다.
- 모듈화 : Node.js는 모듈화 기능을 제공하여 코드를 모듈화하고, 다른 모듈에서 재사용 할 수 있습니다.
- 플랫폼 독립: Node.js는 플랫폼 독립 언어로, 다양한 OS에서 사용이 가능합니다.
Python (Django, Flask, Pyramid)
- Django
- 전체적인 구성이 강력하고 일관성이 있어 빠르게 개발이 가능합니다.
- ORM이 내장되어 DB 작업이 용이합니다.
- admin 페이지 제공으로 관리 용이성이 높습니다.
- 보안성에 대한 많은 기능 제공
- Flask
- 가볍고 유연한 프레임 워크로서 작은 프로젝트에 적합합니다.
- 플러그인을 통한 기능 확장이 용이합니다.
- 마이크로 서비스 아키텍처에 적합합니다.
- Pyramid
- 유연하고 확장성이 높은 프레임워크입니다.
- 소규모 웹 애플리케이션, 대규모 웹 애플리케이션 모두 적합합니다.
- URL 경로의 매핑 및 라우팅에 대한 기능을 제공합니다.
PHP (Laravel, Symfony, CakePHP)
- Laravel
- MVC 아키텍처를 기반으로 합니다.
- 빠른 개발과 유지 보수를 위한 다양한 기능을 제공합니다.
- Artisan CLI를 통해 개발자의 생산성을 높일 수 있습니다.
- Blade 템플릿 엔진을 사용하여 쉽게 템플릿을 작성할 수 있습니다.
- Symfony
- 컴포넌트 기반 아키텍처를 기반으로 합니다.
- 다양한 기능과 높은 유연성을 제공합니다.
- 높은 확장성과 재사용성을 보장합니다.
- Doctrine ORM을 사용하여 데이터베이스 연동을 간편하게 할 수 있습니다.
- CakePHP
- MVC 아키텍처를 기반으로 합니다.
- 빠른 개발과 유지 보수를 위한 다양한 기능을 제공합니다.
- CRUD 작업을 쉽게 할 수 있습니다.
- 자동으로 DB를 생성하고 마이그레이션을 수행할 수 있습니다.
Ruby (Ruby on Rails)
- Convention Over Configuration : 개발자가 구성해야 하는 것을 최소화하고, 미리 정의된 컨벤션을 따르도록 유도합니다. 이로 인해 개발자가 개발에 집중할 수 있도록 도와줍니다.
- DRY : 중복 코드를 최소화하도록 설계되어 있습니다. 이를 통해 코드의 유지 보수성과 개발 생산성을 향상시킵니다.
- 강력한 ORM : ActiveRecord라는 ORM을 제공합니다. 이를 통해 DB와의 상호작용을 추상화하고, SQL 쿼리 작성을 최소화합니다.
- 빠른 개발 속도 : 1 ~ 3을 통해 개발 생산성을 향상시키고 이로 인해 빠른 개발 속도를 보장합니다.
- 강력한 커뮤니티와 생태계 : Ruby on Rails는 자체적으로 강력한 커뮤니티를 가지고 있으며, 개발자끼리 활발한 커뮤니티 활동이 일어나고 있습니다. 그러 인해 다양한 플러그인, 라이브러리, 오픈소스 프로젝트 등을 활용해 볼 수 있습니다.
Go (Go Web)
- 높은 실행 속도 : Go는 컴파일 언어로 C++ 수준의 실행 속도를 가지고 있습니다.
- 간결한 문법 : Go는 문법이 간결하고 가독성이 높아 다른 언어에 비해 적은 양의 코드로 동일한 기능을 구현할 수 있습니다.
- 병행성 : Go는 병행성을 지원하는 언어로, 동시에 여러 개의 작업을 처리할 수 있습니다.
- 내장 웹 서버 : Go는 내장된 웹 서버를 제공하므로, 별도의 웹 서버 소프트웨어를 설치하지 않아도 간단한 웹 애플리케이션을 개발할 수 있습니다.
'개발관련 > 용어' 카테고리의 다른 글
오버 엔지니어링(Overengineering) 과 적정 엔지니어링(Just-enough Engineering (0) | 2023.07.02 |
---|---|
보일러플레이트 코드란(Boilerplate Code)? (0) | 2023.07.02 |
용어설명 - 정적 파일/ 동적 파일 이란? (0) | 2023.07.02 |
웹서버와 앱서버, WAS / 차이 (0) | 2023.07.01 |
프로퍼티 (Property)란? (0) | 2023.07.01 |