Ajax-heavy web uygulamaları için desenler


12

Şimdiye kadar, web uygulamaları geliştirmek için MVC modelinin büyük bir hayranıydım. Web için çoğunlukla PHP'de (Kohana ve CodeIgniter çerçeveleriyle) ve Ruby'de (RoR) geliştirdim.

Uygulamalarım Ajax tarafında ağırlaştıkça (tek sayfalık uygulamalar vb.) MVC'nin temel kavramlarına ihanet edemediğimi fark ettim: Javascript işlerin çoğunu yapıyor; sadece görüntüleme veya daha fazla js / json kodu istemek için denetleyicileri çağırmak yanlış görünüyor.

Tüm yönlendirme işlerini denetleyicilerde tutmaya çalıştıktan sonra, şimdi bunları temelde onlarla Javascript (yani çerçevenin PoV'sından, görünümlerin bir parçası) arasında bölüyorum. Json isterken MVC yıkılma daha da belirgin görünür: isteği yapıyor js kodu olan kontrolör; çerçevenin denetleyicisi sadece modelin verileri için proxy olarak işlev görüyor - aslında istediğim şey.

Peki, neye bakmalıyım?

Saf javascript uygulamaları, örneğin backbone.js ve belge tabanlı, json tükürme veritabanı (couchDB) ile arka uç olarak düşünüyordum, ancak ilişkisel veritabanlarımı seviyorum.

Başka bir seçenek aşağıdaki olurdu: Ben sadece PHP / ruby ​​/ go / whatnot "yönlendirilmiş modeller" yapmak istiyorum. Bunlar isteği analiz edecek, db'yi arayacak, bazı jsonları geri verecektir.

Bu yaklaşım benim için ilginç görünüyor, ancak herhangi bir önemli belge veya akademik analizden yoksun, bu yüzden sıçramadan biraz korkuyorum.

Fikirler?


Socketstream gibi bir şeye geçmek istiyorsunuz . Gerçek zamanlı, ağır uygulamalar için tasarlanmıştır
Raynos

2
Değişimden korkma. İlişkisel veritabanlarının yeri vardır, ancak projeniz ilişkisel bir veritabanı gerektirmiyorsa, kullanmayın.
beatgammit

Yanıtlar:


1

Herhangi bir akademik analiz yoksa, bunu kendiniz yapın. Bir sonraki küçük ölçekli projenizi deneyin ve nasıl sevdiğinizi görün. Paul Graham'ın, yaygın olarak kullanılmasa bile, başlangıç ​​için Lisp'i neden seçtiği konusundaki makalesini okuyun. http://www.paulgraham.com/avg.html

Orada çok sayıda MVC javascript çerçevesi var. Öncelikle bir javascript uygulaması oluşturmak istiyorsanız, o zaman yapın.

Sadece raylar veya veritabanı için bir sarıcı olan herhangi bir çerçeve içinde dinlendirici bir API oluşturmak ve ilişkisel veritabanı vazgeçmek zorunda kalmazsınız. Sunucu tabanlı bir mantık uygulaması olsaydı, veritabanını çağırdığınız gibi API'yi çağırmanız yeterlidir.

Ayrıca, uygulamanızı bu şekilde oluşturursanız, çevrimdışı desteğe çok kolay bir şekilde oluşturabilirsiniz.


Bunu bir sonraki projem için deneyeceğim. Javascript çerçevelerine gelince, ne önerirsiniz? Şimdilik baktığım tek şey omurga.
cbrandolino

@cbrandolino omurga onunla oynamak zorunda kaldığım sınırlı bir süre iyi görünüyor. Daha küçük bir proje için sammyjs.org'u kontrol etmek isteyebilirsiniz .
Seth Archer Brown
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.