Sıfırdan bir grup web uygulaması oluşturmak üzereyim. (Genel bakış için http://50pop.com/code adresine bakın .) Onlara birçok farklı istemciden erişebilmelerini istiyorum: ön uç web siteleri, akıllı telefon uygulamaları, arka uç web hizmetleri, vb. Her biri için JSON REST API.
Ayrıca, arka uç üzerinde çalışmayı tercih ediyorum, bu yüzden sadece API'ya odaklanmamı ve bir web sitesi, iPhone, Android veya başka bir uygulama olsun, ön uç kullanıcı arayüzü yapmak için başka birini işe almayı hayal ediyorum.
Lütfen hangi yaklaşımı benim izlemem gerektiğine karar vermeme yardımcı olun:
RAYLARDA BİRLİKTE
Çok standart bir Rails web uygulaması yapın. Denetleyicide, JSON veya HTML sunmak için answer_with anahtarını yapın. JSON yanıtı benim API'm.
Pro: Çok sayıda emsal. Büyük standartlar ve işleri bu şekilde yapmanın birçok örneği.
Con: API'nın web uygulamasıyla aynı olmasını istemiyorum. Anahtar yaklaşımıyla if / then response_w beğenmeyin. Çok farklı iki şeyi karıştırmak (UI + API).
REST SUNUCUSU + JAVASCRIPT-AĞIR MÜŞTERİ
Yalnızca JSON REST API sunucusu yapın. API'da doğrudan erişmek ve şablonları tarayıcıda görüntülemek için istemci tarafı JavaScript için Backbone veya Ember.js'yi kullanın.
Pro: API ve istemcinin ayrılmasını seviyorum. Akıllı insanlar bunun yolunun olduğunu söylüyor. Teoride harika. Modern ve heyecan verici görünüyor.
Con: Pek emsal değil. Bunun pek bir örneği iyi yapılmadı. Herkese açık örnekler (twitter.com) halsiz ve hatta bu yaklaşımdan uzaklaşıyor.
REST SUNUCU + SUNUCU-YAN HTML MÜŞTERİ
Yalnızca JSON REST API sunucusu yapın. Yalnızca REST API'sine erişen temel bir HTML web sitesi istemcisi yapın. Daha az istemci tarafı JavaScript.
Pro: API ve istemcinin ayrılmasını seviyorum. Ancak düz HTML5 sunmak oldukça kusursuzdur ve istemci yoğun değildir.
Con: Pek emsal değil. Bunun pek bir örneği iyi yapılmadı. Çerçeveler de bunu desteklemiyor. Nasıl yaklaşacağından emin değilim.
Özellikle sadece teoride değil deneyimlerden tavsiye almak.