AdonisJS 튜토리얼: 궁극적인 가이드 (2023)
Source: Dev.to

이 튜토리얼은 AdonisJS 5를 처음부터 고급 수준까지 다루며, 첫 번째 AdonisJS 애플리케이션을 구축하고 배포하는 과정을 안내합니다.
Chapter 1: Complete AdonisJS Overview
What is AdonisJS?
AdonisJS는 개발자 ergonomics, 안정성, 속도에 초점을 맞춘 Node.js 프레임워크입니다. Laravel, Rails, Spring과 같은 프레임워크에서 사용되는 MVC 패턴을 따르므로 해당 생태계에서 온 개발자들에게 친숙합니다. 풀‑스택 웹 프레임워크로서 AdonisJS는 다른 Node.js 프레임워크와 차별화되는 다수의 내장 기능과 애드온을 제공합니다.
Features of AdonisJS
-
Database
- 강력한 ORM (Lucid)과 쿼리 빌더, 마이그레이션, 시드, 팩토리.
- SQL First Design: MySQL, PostgreSQL, MSSQL 및 기타 주요 SQL 서버를 완벽히 지원.
- Active Record ORM: Laravel Eloquent와 Rails Active Record에서 영감을 받아 복잡한 쿼리와 관계를 위한 깔끔한 API 제공.
-
HTTP
- 라우트 그룹, 서브도메인, 패턴 매칭, 리소스 라우트 등을 지원하는 고급 라우팅 시스템.
- Form Validator: TypeScript 타입 추론을 활용한 런타임 요청 검증.
- JSON Serializers: JSON:API 사양에 대한 내장 지원.
-
Security
- 내장 CSRF 방지, XSS, 클릭재킹, 스크립트 인젝션 방어.
- 교차 출처 요청을 제어하는 구성 가능한 CORS 설정.
-
Auth
- 다중 드라이버 인증 (세션, 불투명 토큰, 기본 인증).
- 권한 부여를 위한 내장 RBAC (역할 기반 접근 제어).
- Health Check: Kubernetes 등 플랫폼에서 모니터링할 수 있도록 구성 가능한 애플리케이션 상태 확인 엔드포인트.
Why You Should Learn AdonisJS
- Familiarity: Laravel 및 Rails와 유사한 관습을 공유해 해당 프레임워크 개발자들의 전환이 용이합니다.
- Rapid Development: ergonomics와 생산성을 강조해 빠르게 애플리케이션을 구축할 수 있습니다.
- Full‑Stack Capabilities: 통합된 시스템을 제공해 서로 다른 라이브러리 간의 glue code 필요성을 줄입니다.
- TypeScript First: 순수 JavaScript와도 호환되면서 일류 TypeScript 지원을 제공합니다.
AdonisJS Framework vs Other Frameworks
AdonisJS는 NestJS, Express, Koa 등과 비교될 수 있습니다. Adonis Mastery의 Chimezie Enyinnaya 님이 만든 유용한 영상이 AdonisJS가 이러한 대안들보다 갖는 장점을 보여줍니다.
보다 깊이 있게 배우고 싶다면, Learn AdonisJS: From Zero to Deploy 강좌를 참고하세요. 이 강좌는 처음부터 프로덕션 수준의 애플리케이션을 구축하는 과정을 단계별로 안내합니다.
Chapter 2: AdonisJS The Framework
Exploring The Framework
이 장에서는 AdonisJS의 구조, 다양한 컴포넌트와의 상호 작용, 초보자가 프레임워크에 접근하는 방법을 살펴봅니다. Laravel과 마찬가지로 AdonisJS는 MVC 아키텍처 패턴을 따르며, 이는 Laravel Framework: The Ultimate Guide 및 Wikipedia article on MVC와 같은 자료에서 잘 문서화되어 있습니다.
AdonisJS는 HTTP 요청 처리, 라우팅, 검증, 인증 등을 다루는 도구들을 갖춘 완전한 웹 프레임워크로, 현대 웹 애플리케이션을 구축하기 위한 일관된 환경을 제공합니다.