루비 온 레일즈

From Hidden Wiki
Jump to navigation Jump to search

개요

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


파이썬(Python)의 쟁고우(Django)나 피에이치피(PHP)의 라라벨(Laravel)과 비슷한 존재인데, Rails 이후 등장한 거의 모든 풀스택 웹 프레임워크는 Rails의 디자인에 영향을 받았다고 해도 과언이 아닐 정도이다​. MVC 모델 패턴을 채택하고 있다. 일단 사용하는 언어가 Ruby인지라 고급지고 간결한 코드를 작성 할 수 있다는 장점을 어필, 애자일 프로세스에 초점을 맞추는 많은 스타트업 기업들이 채택하고 주가도 오르려는 찰나 Node.js라는 신흥 강호가 갑툭튀해 점유율이 바짝 쫓기는 상황. 규모 확장 및 축소에 적합하지 않다는, 즉 Scalable하지 않다는 치명적인 단점이 더해져 기존에 레일즈를 채택한 기업들도 다른 프레임워크로 옮긴 사례가 종종 있다.

또한 "Python + Django"처럼 개발 속도는 빠르지만 실행 속도가 느리다는 단점이 있다.


특징

장점

* Ruby로 개발한다. --더 이상 설명이 필요한가?--
* 언어의 특성이 애자일에 초점이 맞춰져 있기 때문에 생산성이 높다.
* 데이터베이스 작업 시 매우 편리하다.
* 세부적인 설정을 줄일 수 있다.

단점

* 개발자가 부족하다. 물론 언어의 단점은 아니지만 일본을 제외하면 다른 국가에서도 개발자가 많지 않다.
* 성능 이슈가 있다. (후술)

여담

* 루비를 모르는 사람도 강좌 몇 개를 보면 쓸만한 블로그 하나를 만들 수 있을 정도로 쉽고 빠르게 제작할 수 있다.
* 위에서 서술한 Scalable의 정의는 사용자의 수에 맞춰 애플리케이션의 크기가 동적으로 변하는 규모의 가변성이라고 정의할 수 있다. 서버에서 돌리는 애플리케이션이 사용자가 주는 부하에 맞춰 서버의 자원을 낭비하지 않고 동작하는 정도가 Scalable이다.
* 빠르게 서비스를 개발해야 하는 스타트업 회사에서 많이 사용한다. 하지만 한국에서는 루비라는 언어 자체가 굉장히 마이너하기 때문에 상대적으로 PHP 개발자를 선호하는 경향이 있다. 그 PHP조차도 고급 프로그래머를 구하기 힘들어서 인력난에 허덕이는 중. 또한 정부에서 지정한 프레임워크는 JavaSpring이기 때문에 더욱 밀려나는 편이다.
* 성능 문제가 있다고 하는데, 차이는 그렇게 크지 않다고 한다. 그루폰, --트위터--[* Java로 변경하였다.], 카카오 같은 대형 회사들도 루비 온 레일즈를 사용한다. 사실 성능은 언어의 속도보다는 데이터베이스를 얼마나 빠르게 가져오느냐 등 다른 요소에 영향을 더 크게 받는다.
* PythonFlask에 해당하는게 RubySinatra이다.

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

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

*그루미
*고파운더(https://www.gofounder.net)
*더누보(http://the-nuvo.com)
*리노트
* 마이리얼트립
*망고플레이트
* 모아폼
*밸류옵션
* 배틀코믹스
*볼링고
*산타 포 토익!
*샤샤건건
*센트비
*스냅샵
*스탬프팡
*스트라입스
*아이노알바
*아이엠스쿨
*아임8
*연두
*에이트크루즈
*왓챠
*유에프오팩토리
* 유저해빗
*응답하라 국회의원
*이음
*자소설
*잡플래닛
* 증권플러스 인사이트
* 채팅캣
*카카오
*캐시슬라이드
*코드라이언
*코드스터디
*코드잇
*크리마(https://www.cre.ma)
*클레비
*클래스팅
*텀블벅
*토스
*트라이캣치
*파이브 락스
*파크 히어
*판교장터
*해먹남녀
*호텔박사
* 필디

관련 문서