뉴스센터 목록으로 돌아가기

Ruby와 Ruby on Rails

위시켓 | 2015.03.20.

[위시켓 / 그린 클라이언트 #24]

150320_wishket_GC_rubyonrails_b

안녕하세요, 위시켓입니다!

지난 시간 ‘그린클라이언트’에서는 웹 개발용 프로그래밍 언어인 PHP의 간단 개념과 장단점에 대해서 소개해드렸는데요. 매우 간단하고 쉬운 언어라고 설명해드렸던 것, 기억하시나요?
이번 시간에도 엄청난 생산성과 효율성을 자랑하는 언어인 'Ruby'에 대해서 간단하게 살펴보도록 하겠습니다.

Ruby

애자일(agile) 방식에 어울리는 웹 프로그래밍 언어의 대표 주자

Ruby는 1995년 마츠모토 유키히로라는 일본 사람이 고안한 언어입니다. 그래서인지 일본에서는 Python보다도 인기가 많다고 하네요. Ruby는 위에서 먼저 말씀 드린 것처럼, 매우 쉽고 간단한 언어입니다. Ruby에 대한 한 마디로 ‘애자일(Agile) 방식’에 적합한 프로그래밍 언어라고 소개해드렸는데요.



‘애자일(Agile) 방식’이 무슨 뜻인가요?


- Q. 개발에도 지켜야 할 프로세스가 있나요?


이제부터 자세히 설명해드리도록 하겠습니다.

"스트레스가 없는 쉬운 프로그래밍을 지향하고 우리의 삶을 반영해야 하며, 프로그래밍 언어는 컴퓨터가 아닌, 인간 중심으로 설계되어야 한다."


이것이 Ruby의 철학입니다.
Ruby의 개발자인 마츠모토 유키히로의 트위터에 들어가보면, 자기 소개란에‘Ruby의 아빠’라고 적혀있는데요. Ruby를 하나의 프로그래밍 언어가 아닌 ‘사람’처럼, 자신의 ‘자식’처럼 생각하는 마음을 엿볼 수 있었습니다.

150320_wishket_GC_image1

이러한 Ruby의 철학 때문일까요? Ruby를 재미있게 배워볼 수 있는 게임 사이트도 있습니다.‘Ruby Warrior’라는 게임인데요. Ruby언어로 캐릭터를 조작해서 던전을 클리어 하는 게임입니다. 관심 있으신 분은 아래에 링크를 참고하시길 바랍니다.
(‘Ruby Warrior’ 사이트 URL:https://www.bloc.io/ruby-warrior#/)

국내에선 최근에 관심을 받기 시작하여 Ruby 개발자의 수가 많지 않지만, 미국과 일본에서는 Ruby가 이미 많이 사용되고 있습니다. Ruby의 개발자인 마츠모토의 말에 따르면, 미국에서는 50% 이상이, 일본에서는 70% 이상이 Ruby로 웹서비스가 개발되었다고 하네요.

Ruby의 장점은 무엇인가요?

Ruby는간결함과 생산성이 강조된 언어입니다. 그렇기 때문에 어느 정도 익숙해지면 개발하는 속도가 매우빠릅니다. 웹사이트를 만들려고 할 때, 가장 빨리 만들 수 있는 언어가 바로 Ruby라고 하네요. 같은 숙련도의 Java 개발자와 Ruby 개발자가 같은 시간에 웹사이트를 만든다고 하면, Ruby로 만드는 것이 더 빠르다고 합니다. 검색해보니, 효율적인 측면에서 Java보다 Ruby의 손을 들어주는 의견을 많이 확인할 수 있었습니다.

또한 Ruby는 배우기도 매우 쉽기 때문에 누구나 금방 배울 수 있다고 합니다. (위시켓의 프로젝트 매니저님도 Ruby를 이용해서 웹사이트를 만들어본 경험이 있다고 하네요.)

Ruby의 최대 장점은확장성과 이식성이 매우 높다는 것입니다. 그렇기 때문에 유지보수에 드는 노력 또한 매우 절약해주지요.Python이나 JavaScript 등 다른 언어로 개발된 라이브러리를 Ruby 위에 구현할 수 있습니다.

150320_wishket_GC_image2

구글에 검색해보면, 다른 언어의 라이브러리나 API를 Ruby로 구현하는 방법을 찾는 글을 많이 확인해볼 수 있었습니다. 그만큼 Ruby가 다양한 다른 언어들을 받아들일 수 있다는 뜻이지요.

Ruby의 단짝, Ruby on Rails

Ruby를 얘기하면서 Ruby on Rails를 빼놓을 수 없겠지요.
Ruby on Rails는 Ruby의 웹 프로그래밍 프레임워크인데요. Ruby 자체도 쉽고 간편한 언어이지만, 레일스 덕분에 더욱 사용하기 편리해졌다고 합니다. Ruby는 그다지 주목 받지 못하다가 2004년 말, Ruby on Rails가 개발되면서 폭발적인 인기를 끌게 됩니다.

150320_wishket_GC_image3

TIOBE에서 조사한 프로그래밍 언어들 중 Ruby의 점유율 변화 추이입니다.
2006년 이후에 점유율이 폭발적으로 증가하는 것이 보이시지요? 2008년 12월에 약 4%의 점유율을 차지하면서 8위까지 순위가 올라갔습니다. 현재에는 약 1%의 점유율로 18위까지 떨어진 것을 확인할 수 있네요.

Ruby로 만들어진 대표적인 사이트로는 소셜커머스인 그루폰(Groupon)과 오픈소스 소프트웨어 호스팅 사이트인깃헙(Github)이 있습니다.트위터(Twitter)도 Ruby on Rails를 이용하다가 규모가 커지자, Java기반의 Scala라는 언어로 갈아탔다고 하네요.

Ruby의 한계점에 대해서

장점이 있으면 단점도 존재하겠지요. Ruby의 가장 큰 단점은속도가 느리다는 것입니다. 예시를 들어보겠습니다. C와 Python, Ruby를 비교해볼 때, 서버에서 고객들에게 전체 메일을 보낸다고 하면, C에서 보낸 메일이 제일 빨리 도착하고, 그 다음이 Python, 그리고 가장 느린 것이 Ruby입니다.

또한 Ruby는 어중간하다는 단점이 있지요. 다른 언어들의 장점 사이에서 포지셔닝이 잘 되어있지 않다는 느낌이 들었습니다. 아예 대규모 서비스에서 이용하기에도 실행 속도 측면이 걸리기 때문에 이용하기 어렵지요. 또한 협업이 필요한 대형 프로젝트에서는 Ruby가 쓰이기에 부적합하다고 합니다.

Ruby는 어떤 프로젝트에서 이용하는 것이 좋을까?

웹사이트를 쉽고 빠르게 만들 수 있기 때문에 동접자가 많지 않은 간단한 사이트를 구축할 때 이용하는 것이 좋습니다. 또한 프로토타입을 만들 때 이용하는 것을 추천해드리는데요. 위에서 설명해드렸던 것처럼 Ruby는 빠르게 무언가를 만들어보는 데에 굉장히 효율적인 언어이기 때문에, 스타트업처럼 빠르게 작은 서비스를 자주 출시해서 소비자의 반응을 봐야 할 때 이용하기 가장 좋은 언어입니다. 고객 중심의 서비스를 보다 빨리 개발하는 데에 목적이 있다면, 굉장히 적합한 환경인 것이지요.

국내에서는 Ruby on Rails 개발자가 많이 없지만, 몇몇 스타트업에서 적극적으로 사용한다고 합니다. 실리콘밸리 중심의 전 세계 스타트업은 이미 이러한 방식으로 Ruby를 많이 사용하고 있다고 하네요.

『Easy Start! 웹 개발 2.0 루비 온 레일스』의 저자인 황대산씨도 Ruby가 소규모 팀에게 어울리고, 레일스로 개발할 때는 스토리보드가 필요 없기 때문에 기존 업체들도 파일럿 프로젝트에는 레일스를 도입하는 사례가 늘고 있는 추세라고 합니다.

지금까지 Ruby에 대해서 간단하게 훑어봤습니다. 어떠셨나요?
우리 나라에서는 Ruby를 많이 이용하고 있지 않아서 다른 언어에 비해 관련 서적이나 동영상 강의를 찾기 힘들었는데요. Ruby의 장점을 십분 활용하여 스타트업이나 기업에서 빠르게 서비스를 출시해서 잠재고객들의 반응을 확인해야 할 때, 프로토타입용으로 Ruby를 이용하는 것도 좋은 방법일 것 같다는 생각이 들었습니다.

혹시 궁금한 사항이나 질문이 있으시다면, 댓글로 남겨주세요! 친절하게 답변해드리도록 하겠습니다. 여러분이 프로젝트를 진행하면서 개발자 파트너와 원활하게 의사소통 할 수 있도록! 앞으로도 유용한 개발 토막 상식으로 찾아 뵙겠습니다 :)


‘Ruby와 Ruby on Rails’과 관련된 위시켓 인기글


PHP 간단 개념과 장단점에 대해서


Java와 JavaScript의 차이점은?


150120_wishket_blog_under

위시켓 | 2015.03.20.

'뉴스센터'의 다른 글 보기

클라이언트를 유혹하는 지원 내용 작성법

모바일 웹과 반응형 웹 비교

Ruby와 Ruby on Rails

PHP 간단 개념과 장단점에 대해서

성공의 지름길로 가는 프로 프리랜서 되는 팁

뉴스센터 더 보기 >