2012-01-03 3 views
0

저는 RoR을 처음 사용하고 있으며 웹 데스크탑처럼 작동하는 웹 응용 프로그램을 만들려고합니다. '데스크톱'은 iGoogle과 비슷한 것으로 블록을 드래그 앤 드롭 할 수 있습니다.레일에 루비가있는 웹 기반 데스크탑

이 프로젝트에서 필자는 OAuth가있는 Facebook, Twitter와 같은 다른 서비스 공급자와 확실히 연결해야합니다. 목표는 사용자가 웹 브라우저를 사용하여 여러 장치 (모바일, 태블릿, 랩톱)에서 '데스크톱'에 액세스 할 수있게하고 사용자가 인증 프로세스 후 '데스크톱'에서 원하는 서비스 (Facebook, Twitter)를 사용할 수있게하는 것입니다.

제 질문은 : MVC가이 프로젝트에 적용될 수 있습니까? 일반적으로 데이터베이스는 사용자 정보와 iGoogle과 같은 블록 만 저장하기 때문에. 그렇다면 RoR이 이에 대한 좋은 해결책이 될까요? 귀하의 조언에 감사드립니다.

+0

몇 가지 경험을 얻기 위해 몇 가지 작은 프로젝트를 레일과 함께 만들 것을 제안합니다. 그렇다면 그것이 잘 맞는지 아닌지 알게 될 것입니다. –

+0

필자는 레일과 함께 트위터와 비슷한 마이크로 블로그 및 시네마 웹 응용 프로그램을 만들었지 만 쉽지 만 강력한 기능이라고 느꼈습니다. 내가 생각하는 웹 애플리케이션은 페이지를 많이 만들지 않을 수도 있습니다.이 경우 레일 스케이프의 경로는 내게 의미가 없습니다 (낭비). – shinnyx

답변

0

MVC는 데이터베이스와 복잡한 데이터 및 테이블 관계를 (상대적으로) 쉽게 처리 할 수있는 이점을 제공합니다. 이것은 가장 가벼운 메모리 사용량이없는 큰 프레임 워크를 사용하는 데 드는 비용입니다.

데이터베이스에 몇 가지 키/값 정보를 저장하고 몇 가지 기본 사용자 정보를 저장하기 만하면 복잡한 관계가 필요하지 않습니다. Sinatra (레일과 같은 랙 기반)과 같은 마이크로 프레임 워크로 아이디어를 시도하고 필요에 따라 충분한 지 확인하는 것이 좋습니다. 그러나 이미 더 복잡한 경우 확장 계획이있는 경우 RoR이 더 나은 선택 일 수 있습니다.

당신은 통제되고 유지 보수 가능한 방식으로 데이터를 저장하고 액세스하기를 원하기 때문에 MVC를 적용 할 수 있습니다. RoR이 너무 많은 오버 헤드가 될 수 있습니다. 이런 작은 애플 리케이션을 위해 - 세이 - 메모리 풋 프린트가 그다지 중요하지 않다면 레일스는 그 일을 할 것이다. 그러나 그저 작은 서브셋 만 사용해야 할 것이다.

+0

메모리 사용 공간에 동의하지만 레일 보석은 Sinatra에서 작동합니까? – shinnyx

+0

랙 기반 애플리케이션의 가장 큰 장점은 하나의 레일 (예 : 레일)에서 필요한 부분을 Sinatra 애플리케이션에 추가 할 수 있다는 것입니다. 예를 들어 ActiveRecord :: Validations from Rails를 Sinatra 프로젝트에 포함시켜 해당 데이터베이스 유효성 검사를 활용할 수 있습니다. 나는 그것을 직접 시도하지 않았지만 ** 루비 ** 보석은 oauth-ruby와 마찬가지로 Sinatra와 함께 작동해야합니다. –

+0

명확히 해 주셔서 감사합니다. Sinatra가 저에게 효과가 있는지 여부를 알려 드리겠습니다. – shinnyx

0

아마 당신을 위해 일할 것입니다. OAuth를 수행 할 수있는 많은 "보석"이 있습니다. 아마 개발에 시간을 절약 할 수 있습니다. MVC는 당신이 데이터를 저장하고 접근하기를 원하기 때문에 아마도 당신을 위해 일할 것입니다. 모델없이 컨트롤러/뷰를 만들 수도 있습니다. 또는 필요한 모델에 따라 모델이 분리됩니다! 추가로 레일에서 아약스 호출을하는 것은 쉽습니다. 이것은 아마도 iGoogle과 같은 응용 프로그램에 적합 할 것입니다.

하지만이 모든 것이 레일이나 다른 언어를 사용하기위한 주요 사항이되어서는 안됩니다. 익숙한 언어를 사용하십시오. 새로운 언어/프레임 워크/학습은 어려운 일정에 처한 경우 나쁜 선택이 될 수 있습니다. 내 제안은 예를 들어 레일에 블로그를 쉽게 적용하고이 언어가 효과가 있는지 확인하려고하는 것입니다. (예를 들어 인터넷 검색)

클라이언트 측에서 JQuery를 사용할 수 있습니다. 또한 원하는 작업에 따라 Jquery Mobile을 살펴볼 수도 있습니다. http://jquerymobile.com/

시작하려면 많은 웹 사이트가 필요합니다. railscast.com에서 비디오 및 자습서를보고 레일이 작동하는지 확인하는 것이 좋습니다.

여기에 몇 가지 링크 http://railscasts.com/episodes/310-getting-started-with-railshttp://rubyonrails.org/screencasts

행운입니다!

+0

조언 해 주셔서 감사합니다.하지만 단일 페이지 응용 프로그램을 만들고 싶다면 MVC/RoR이 잘 작동하는지에 대한 관심이 더 많을 것이라고 생각합니다. – shinnyx

+0

MVC는 작동하지만 다소 오버 헤드가있을 수 있습니다. 각 블록은 컨트롤러로 정의 할 수 있습니다.) –