처음부터 많은 웹 앱을 만들려고합니다. ( 개요에 대해서는 http://50pop.com/code 를 참조하십시오 .) 프론트 엔드 웹 사이트, 스마트 폰 앱, 백엔드 웹 서비스 등 다양한 클라이언트에서 액세스 할 수 있기를 바랍니다. 각각에 대한 JSON REST API.
또한 백엔드 작업을 선호하므로 웹 사이트, iPhone, Android 또는 기타 앱에 관계없이 순수하게 API에 집중하고 프론트 엔드 UI를 만들기 위해 다른 사람을 고용하는 것을 좋아합니다.
어떤 방법을 사용해야하는지 결정하도록 도와주세요.
철도에 함께
매우 표준적인 Rails 웹앱을 만드십시오. 컨트롤러에서 respond_with 스위치를 수행하여 JSON 또는 HTML을 제공하십시오. JSON 응답은 내 API입니다.
찬성 : 많은 선례. 이런 식으로 일을하는 훌륭한 표준 및 많은 예.
단점 : API를 웹앱과 동일하게 만들 필요는 없습니다. if / then respond_with 스위치 방식을 좋아하지 않습니다. 두 가지 매우 다른 것들을 혼합 (UI + API).
REST 서버 + JAVASCRIPT-HEAVY 클라이언트
JSON 전용 REST API 서버를 작성하십시오. 클라이언트 측 JavaScript에 Backbone 또는 Ember.js를 사용하여 API에 직접 액세스하여 브라우저에 템플릿을 표시하십시오.
Pro : API와 클라이언트의 분리를 좋아합니다. 똑똑한 사람들은 이것이 갈 길이라고 말합니다. 이론적으로는 훌륭합니다. 최첨단과 흥미 진진한 것 같습니다.
단점 : 많은 선례가 없습니다. 이것의 많은 예가 잘 이루어지지 않았습니다. 공개 예 (twitter.com)는 느리게 느껴지고 심지어이 접근법에서 벗어나고 있습니다.
REST 서버 + 서버 측 HTML 클라이언트
JSON 전용 REST API 서버를 작성하십시오. REST API에만 액세스하는 기본 HTML 웹 사이트 클라이언트를 작성하십시오. 클라이언트 측 JavaScript가 적습니다.
Pro : API와 클라이언트의 분리를 좋아합니다. 그러나 평범한 HTML5를 제공하는 것은 매우 무모하고 클라이언트 집약적이지 않습니다.
단점 : 많은 선례가 없습니다. 이것의 많은 예가 잘 이루어지지 않았습니다. 프레임 워크도이를 지원하지 않습니다. 어떻게 접근 해야할지 모르겠습니다.
특히 이론이 아닌 경험으로부터 조언을 구합니다.