마이크로프레임워크

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

마이크로프레임워크는 웹 애플리케이션 개발을 위한 경량 프레임워크이다. 다양한 프로그래밍 언어로 구현되어 있으며, 파이썬의 Flask, 루비의 Sinatra, Node.js의 Express.js, PHP의 Slim 등이 있다.

마이크로프레임워크
개요
유형소프트웨어 라이브러리
목적웹 애플리케이션 개발 간소화
특징유연성, 경량성, 최소한의 기능 제공
장점빠른 개발, 작은 설치 공간, 맞춤화 용이
단점풀스택 프레임워크에 비해 기능 부족, 추가적인 코드 작성 필요
주요 기능
라우팅URL 매핑 및 요청 처리
템플릿 엔진동적 웹 페이지 생성
ORM (선택 사항)데이터베이스 상호 작용 단순화 (일부 마이크로프레임워크는 ORM을 포함하지 않음)
미들웨어요청 및 응답 처리 파이프라인 제어
예시
PythonFlask
Bottle
PHPSlim
Lumen
JavaScript (Node.js)Express.js
Hapi
RubySinatra
비교
풀스택 프레임워크장점: 풍부한 기능, 개발 생산성 향상
단점: 더 큰 설치 공간, 학습 곡선 높음
마이크로프레임워크장점: 유연성, 빠른 개발, 작은 설치 공간
단점: 기능 부족, 추가적인 코드 작성 필요
활용 사례
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. 마이크로프레임워크 목록

다양한 프로그래밍 언어로 구현된 마이크로프레임워크들이 존재한다.

👆
좌우로 밀어서 보기
프로그래밍 언어프레임워크 목록
Python
Ruby
Node.js
ScalaScalatra
PHP
Java
KotlinKtor
TclToolatra

3.1. Python

* Bottle
* Falcon
* Flask

3.2. Ruby

* Camping
* Sinatra

3.3. Node.js

* Express.js
* Fastify

3.4. Scala

Scalatra

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.7. Kotlin

Ktor는 Kotlin으로 작성된 마이크로프레임워크이다.

3.8. Tcl

Toolatra for Tcl