마이크로프레임워크
1. 개요
마이크로프레임워크는 웹 애플리케이션 개발을 위한 경량 프레임워크이다. 다양한 프로그래밍 언어로 구현되어 있으며, 파이썬의 Flask, 루비의 Sinatra, Node.js의 Express.js, PHP의 Slim 등이 있다.
마이크로프레임워크
개요
| 유형 | 소프트웨어 라이브러리 |
|---|---|
| 목적 | 웹 애플리케이션 개발 간소화 |
| 특징 | 유연성, 경량성, 최소한의 기능 제공 |
| 장점 | 빠른 개발, 작은 설치 공간, 맞춤화 용이 |
| 단점 | 풀스택 프레임워크에 비해 기능 부족, 추가적인 코드 작성 필요 |
주요 기능
| 라우팅 | URL 매핑 및 요청 처리 |
|---|---|
| 템플릿 엔진 | 동적 웹 페이지 생성 |
| ORM (선택 사항) | 데이터베이스 상호 작용 단순화 (일부 마이크로프레임워크는 ORM을 포함하지 않음) |
| 미들웨어 | 요청 및 응답 처리 파이프라인 제어 |
예시
| Python | Flask Bottle |
|---|---|
| PHP | Slim Lumen |
| JavaScript (Node.js) | Express.js Hapi |
| Ruby | Sinatra |
비교
| 풀스택 프레임워크 | 장점: 풍부한 기능, 개발 생산성 향상 단점: 더 큰 설치 공간, 학습 곡선 높음 |
|---|---|
| 마이크로프레임워크 | 장점: 유연성, 빠른 개발, 작은 설치 공간 단점: 기능 부족, 추가적인 코드 작성 필요 |
활용 사례
| API 개발 | 데이터 제공 및 상호 작용을 위한 API 구축 |
|---|---|
| 간단한 웹 애플리케이션 | 블로그, 개인 웹사이트 등 |
| 마이크로서비스 | 분산 시스템 아키텍처 구축 |
📚 더 읽어볼만한 페이지
-
웹 프레임워크 -
드루팔
드루팔은 드리스 바이테르트가 개발하여 2001년 공개된 PHP 기반의 오픈 소스 콘텐츠 관리 시스템으로, 모듈과 테마를 통해 기능 확장이 가능하며 다양한 기관에서 활용되고 활발한 커뮤니티를 가지고 있다. -
웹 프레임워크 -
실버스트라이프 CMS
실버스트라이프 CMS는 PHP로 제작된 오픈 소스 콘텐츠 관리 시스템으로, 웹사이트 및 웹 애플리케이션을 개발하고 관리하는 데 사용되며, MVC 패턴과 Sapphire ORM 프레임워크를 활용하여 사용자 친화적이고 확장 가능한 플랫폼을 제공한다.
목차
2. 의사 코드 예
php
require "foo.php";
foo::get("/hello/{name}", function($name) {
return "Hello $name!";
});
```
다음은 마이크로프레임워크의 동작 방식을 보여주는 간단한 의사 코드이다. `<syntaxhighlight>` 태그는 허용되지 않는 문법이므로 제거했다. 코드 블록은 ` ```` ``` ` 문법을 사용하여 표현했다.
3. 마이크로프레임워크 목록
다양한 프로그래밍 언어로 구현된 마이크로프레임워크들이 존재한다.
3.2. Ruby
* Camping
* Sinatra
3.3. Node.js
* Express.js
* Fastify
3.5. PHP
php
require "foo.php";
foo::get("/hello/{name}", function($name) {
return "Hello $name!";
});
```
PHP를 위한 마이크로프레임워크는 다음과 같다.
* Lumen
* Slim
* Silex
3.6. Java
* Spark
* Jooby
* Javalin
* Jodd
* Helidon
* Pippo
* Rapidoid
* Armeria
* Akka HTTP
* Ratpack
3.8. Tcl
Toolatra for Tcl