10

Bu soru, iki MVC Çerçevesinin (istemci tarafında ve sunucu tarafında) birlikte uzatılmasıyla ilgilidir.Javascript MVC Çerçeveleri ve Sunucu Tarafı Çerçeveleri

Bazı Geçmiş: Web geliştirmeye oldukça yeni geldim, ancak çok yetkin bir programcıyım. Sadece son zamanlarda javascript ve Django öğrendim. Benim app için Ön uç oldukça Javascript ve dolayısıyla bir çerçeve kullanmaya karar verdi. Şu anda mevcut çerçeveler üzerinde okuma yapıyorum ve backbone.js + jquery yöneliyorum.

Sorunum, backbone.js gibi bir MVC çerçevesinin Django gibi bir sunucu tarafı çerçevesiyle nasıl birlikte var olabileceğini tam olarak anlamadığım.

Backbone.js'yi anladığımdan, modelde bir değişiklik olduğunda, modelle ilgili karşılık gelen görünümler otomatik olarak güncelleştirilir. Burada, Müşteri tarafının çerçevesinin “görüşlerine” değiniyor muyuz? Böyle bir "görünüm", arka uç çerçevesinin "denetleyicisi" ile iletişim kurar mı?

Olası bir dizin yapısı nasıl olabilir? Böyle bir mimari kötü mü?

Soru mantıklı mı? ya da ben mi kaybettim?

Düzenleme: netlik eklemek için: sanırım benim temel soru şudur: (u bir istemci tarafı çerçevesini kullanan espertially ise) bir kompleks tek sayfalık JS web uygulaması istemci tarafında yapılandırılmalıdır nasıl? Özellikle, uygulamayı, model nesneleri, kullanıcı arabirimi bileşenleri, herhangi bir denetleyici ve sunucu kalıcılığını ele alan nesneler açısından nasıl yapılandırılacağını merak ediyorum.

cevap

7

Rails/Backbone açısından konuşabilirim, fakat Django'nun çok farklı olacağını hayal edemiyorum.

İlk olarak, Backbone gibi bir istemci tarafı MVC çerçevesi yalnızca tek diskli uygulamalar için değildir. Daha geleneksel bir uygulamanın bir veya daha fazla görünümüne zengin bir etkileşim eklemek için de kullanabilirsiniz. Onlar sadece istemcide yapı ve veri soyutlamaları sağlar.

Sonraki, bu istemci tarafı çerçeveleri özellikle arka uç MVC çerçevelerinizle çalışmak üzere tasarlanmıştır. Backbone.js (özellikle etiketlediğinden beri) modeller ve koleksiyonlar REST servisleriyle çalışır. GET/POST/PUT/DELETE fiillerinden konuşacaklar ve zamanla eşzamanlı olmayan istekte bulunduklarında arka uçtaki denetleyicilerinizle iletişim kuracaklar.

Omurga durumunda, HTML yerine JSON ile konuşur. Raylar söz konusu olduğunda, bu kontrolörde gerçekten kolayca halledilir. İstek bir HTML ise, bir görünümü HTML olarak döndürürsünüz. Bir JSON isteği (* .json veya Content-type) ise, denetleyici verilerin JSON temsilini döndürür. Radarda aynı denetleyiciye birden çok içerik isteği (HTML, XML, JSON, vb.) Yanıtı verdiğinden Django'da bu kadar kolay olduğunu varsayıyorum.

+0

Teşekkür ederim. Bu yardımcı bir cevaptı. –

İlgili konular