나무모에 미러 (일반/밝은 화면)
최근 수정 시각 : 2023-12-24 02:29:22

Ruby on Rails

웹 프레임워크 기술
{{{#!wiki style="margin:0 -10px"
{{{#!folding [ 펼치기 / 접기 ]
{{{#!wiki style="margin:-5px 0px -10px; word-break:keep-all"
$ 유료 포함 • 취소선 단종 및 중단
<colbgcolor=#f6f6f9,#2f3241> 프론트엔드<colbgcolor=#fcfcfd,#272935> CSS BootstrapTailwind CSSBulmaFoundationSkeletonPico
JSX ReactNext.jsSolidJSAstroPreactGatsbyRemixInfernoQwik
JS AngularSvelteBackbone.jsjQueryAstrohtmxEmber.jsLit11tyMarkoVanJSAlpine.js
Vue Nuxt.jsVuePressGridsomeQuasarAstro
Python Reflex
백엔드 Java SpringStrutsGWTGrailsJoobyPlay! FrameworkScala
Kotlin Ktor
JS ExpressNestJSkoaHonofastify
.NET ASP.NET$
PHP LaravelCodeigniterReasonablephalconSymfonyzendCakePHPFuelPHPYiiSlimPHPixe
Python DjangoFlaskFastAPI
Ruby Ruby on RailsSinatra
풀스택 JSX Next.jsAstroSolidStartRemixQwik City
JS SvelteKitFreshAstroMarko
Vue Nuxt.jsQuasarAstro
Java Vaadin$
Python StreamlitReflex
하이브리드 .NET Blazor
Dart Flutter
Kotlin Kotlin Multiplatform
}}}}}}}}} ||



파일:Ruby on Rails 로고.svg

공식 홈페이지

1. 개요2. 특징
2.1. 장점2.2. 단점
3. 여담4. Rails로 만들어진 한국 내 서비스 현황5. 관련 문서

1. 개요

Ruby on Rails는 Ruby를 사용하는 웹 프레임워크로 덴마크의 데이비드 하이네마이어 핸슨(David Heinemeier Hansson)이 오픈 소스로 만들었다. 줄여서 Rails나 RoR이라고도 부른다. 풀 스택 웹 프레임워크이고, non full-stack 웹 프레임워크로는 Sinatra 등이 있다.

Ruby on Rails 이후 등장한 거의 모든 풀스택 웹 프레임워크는 Rails의 디자인에 영향을 받았다고 해도 과언이 아닐 정도이다​. PythonDjangoPHPLaravel이 그 영향을 받아 설계되었다. MVC 모델 패턴을 채택하고 있으며, 사용하는 언어가 Ruby인지라 고급지고 간결한 코드를 작성할 수 있다. 특히 애자일 프로세스에 초점을 맞추는 스타트업 기업들이 많이 채택하였다.

다만 2016년 부터 Node.js기반의 웹프레임워크(예, express, nest.js 등) 라는 신흥 강호가 갑툭튀해 점유율이 바짝 쫓기는 상황이다. 2020년 이후로는 전세계적으로 Node.js를 더 많이 쓴다.

2. 특징

루비로 작성된 MVC 패턴을 이용하는 오픈 소스 웹 프레임워크이다

2.1. 장점

2.2. 단점

3. 여담

4. Rails로 만들어진 한국 내 서비스 현황

구글에 inurl:users/sign_in 키워드로 검색해보면 레일즈를 사용중인 사이트들을 확인할 수 있다.

5. 관련 문서



[1] 프레임워크의 '확장성(Scalability)'이란 시스템의 스펙이 변경되어도 그에 맞추어 기능이 계속 동작하게끔 만들 수 있는지의 여부를 의미한다. 시스템에서 '확장성'은 두 가지로 나뉘는데, 특정한 (서버) 하드웨어의 CPU나 RAM을 업그레이드하는 것을 수직적 확장성이라고 하고, 아키텍처 자체를 늘리는 것(ex. 단일 서버 → 서버/로드 밸런서/DB 인스턴스로 분할)을 수평적 확장성이라고 한다. '이식성'은 다양한 운영 체제에서 사용될 수 있는지의 여부이다.[2] 프로젝트 초반에는 빠른 개발이 가능해 장점일 수 있지만 초반을 지나면 '사이드 이펙트'를 만들 가능성이 급격히 커진다[3] Scala로 변경하였다.