루비 온 레일즈
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조차도 고급 프로그래머를 구하기 힘들어서 인력난에 허덕이는 중. 또한 정부에서 지정한 프레임워크는 Java의 Spring이기 때문에 더욱 밀려나는 편이다. * 성능 문제가 있다고 하는데, 차이는 그렇게 크지 않다고 한다. 그루폰, --트위터--[* Java로 변경하였다.], 카카오 같은 대형 회사들도 루비 온 레일즈를 사용한다. 사실 성능은 언어의 속도보다는 데이터베이스를 얼마나 빠르게 가져오느냐 등 다른 요소에 영향을 더 크게 받는다. * Python의 Flask에 해당하는게 Ruby의 Sinatra이다.
Rails로 만들어진 한국 내 서비스 현황
구글에 {{{ inurl:users/sign_in }}} 키워드로 검색해보면 레일즈를 사용중인 사이트들을 확인할 수 있다.
*그루미 *고파운더(https://www.gofounder.net) *더누보(http://the-nuvo.com) *리노트 * 마이리얼트립 *망고플레이트 * 모아폼 *밸류옵션 * 배틀코믹스 *볼링고 *산타 포 토익! *샤샤건건 *센트비 *스냅샵 *스탬프팡 *스트라입스 *아이노알바 *아이엠스쿨 *아임8 *연두 *에이트크루즈 *왓챠 *유에프오팩토리 * 유저해빗 *응답하라 국회의원 *이음 *자소설 *잡플래닛 * 증권플러스 인사이트 * 채팅캣 *카카오 *캐시슬라이드 *코드라이언 *코드스터디 *코드잇 *크리마(https://www.cre.ma) *클레비 *클래스팅 *텀블벅 *토스 *트라이캣치 *파이브 락스 *파크 히어 *판교장터 *해먹남녀 *호텔박사 * 필디