10

Ben bu nedenle üzerinde çalışıyorum benim özel web uygulaması ile ilgili değildir, bu konu sübjektif hale gelebilecektir biliyorum. JavaScript içinJavaScript'te MVC framework'ü ne zaman kullanmalıyım?

, ben Backbone.js gibi MVC kütüphaneleri ile çalışmış değil ama mantık ve görüşlerini ayırımı içinde avantaj görüyoruz. Diğer yandan, çerçeveyi öğrenmek ve uygulamayı kullanmak için uyarlamak zaman almaya değmez. Ayrıca, JavaScript'teki tüm görünümleri ele almak SEO'yu çok daha zorlaştırır, sanırım.

Peki nasıl o anlamda bir web uygulaması kavramı verilen backbone.js veya benzer bir çerçeve kullanmayı kolaylaştırır karar gerekir? Karar ne bağlıdır?

Herhangi bir yardım

soru daha objektif açığız yapmak.

+0

Underscore.js, başka dillere bağlantı noktaları var gibi görünüyor. Cehaletimi affedin, ama Underscore MVC ile ne ilgisi var? Sadece bazı yardımcı fonksiyonlar eklemek gibi görünüyor. –

+0

JavaScript web uygulamaları için [modeller] (http://backbonejs.org/#Model) ve [views] (http://backbonejs.org/#View) sağlar. Haklısın, daha az bir çerçeve ve daha çok araç takımı. Ama ben tamamen işe yaramadım. [Backbone.js ve geleneksel MVC] (http://backbonejs.org/#FAQ-mvc) ile ilgili bir makale. – danijar

+2

Ben ilk kez ben MVC javascript de uygulanabilir biliyorum geldi zaman tamamen şaşırdı ..., alt çizgi, omurgalı bir örnek olmak ... ama ne zaman kullanmak için hala benim için büyük bir soru işareti ... Bu konuda iyi bir açıklama birçok kişiye yardımcı olacaktır. Soru için + 1 –

cevap

7

Orada birçok istemci tarafında javascript MVC (veya MV *) çerçeveler vardır. Çoğu, MVC'nin ne olduğu ve web uygulamanızla birlikte nasıl çalışması gerektiği hakkında farklı bir fikre sahip gibi görünüyor.

Sen * çerçeve zor hale geliyor javascript istemci tarafında karmaşıklığı yönetmek için ise bir MV düşünmelisiniz. Eğer arka taraf ile çok fazla eşzamansız iletişim yapan son derece dinamik bir tek sayfa uygulaması (SPA) yaratan bir ekibiniz varsa, bunu düşünmek isteyeceksiniz. Aksi halde çok dağınık javascript kodu ile sona ermek kolaydır.

Bir OG * çerçevesi aşağıdaki yollardan birinde veya birkaçında size yardımcı olacaktır:

  • kodu yapılandırılmalıdır nasıl tanımlayarak. Bu, çerçevenin görüşünün ne olduğuna bağlı olarak çeşitli derecelerde yapılır. Örneğin omurga kendisi kütüphane yerine bir çerçeve dikkate alır ve bu şekilde model html bağlanarak kullanıcı
  • kadar karar verme daha bırakır. Veri sayfası otomatik bir URL'de (tek sayfa uygulamalar için) tarih ve doğrulama
1

Sen MVC yapısı underscore.js ve diğer benzer kütüphaneler başta kişiler MVC yapısı kolay boyunca korunur farklı amaçlarla kullanılabilecek şekilde bir varlık içinde özellik olarak her form alanına odaklanarak ile backbone.js kullanarak javascript dahil edilebilir Bildiğimiz manipülasyon javascript bağlama olayı, dom manipülasyon, serileştirme için iyi Bunlar yapı, vb

O seçtikleri için uygulamanın amacına bağlı olarak

hangi yapı uygun javascript için mVC veya MVVM yapısı olsun. MVVM yapısı javascript içine angular.js veya knockoutjs ya da başka bir kütüphane görüntülemek için dinamik bağlama için kullanılabilir Javascript kullanılabilir
MVVM mimarisi, yeniden yükleme veya ajax olmadan form alanı bağlama korumak için yararlı olacaktır Çok sayıda uygulama vardır js mimarisi ve ben sadece birkaç tane işaret ettik. eg

: o zaman Serialize form inputs to JSON using Backbone.js

Bu örnekte

form değerleri model olarak alınır ve manipüle edilebilir ve iş mantığını ekleyebilir ve seri hale getirilebilir veya olay bağlayıcı ve baskı veya herhangi bir şey yapabilir

7

Ben projeniz bağlıdır düşünüyorum kullanışlı özellikler sunarak (ve tersi)

  • güncellenecektir değiştirir Yani eğer.Burada, frontend MV * framework'ü kullanıp kullanmayacağınıza karar vermenize yardımcı olabilecek bir kontrol listesi. ajax isteği

    • sürü tam sayfa yeniden yüklenmesini gerektirmeyen sizin işlevsellik
    • Birçok arkayüz için. Yorum ekleme, sayfalama veya sonsuz kaydırma gibi.
    • Arka uçta modeller/REST API'leriniz var. Ön taraftaki aynı yapıyı çoğaltabilir/kullanabilirsiniz.
    • Farklı sayfalarda mantık/dom manipülasyon işlevlerini paylaşıyorsunuz.

    Daha fazla puan bulursam daha fazlasını eklerim. Şu an düşünebildiğim bu ve bu tam bir liste değil. Herhangi bir öneri kabul edilir.

  • İlgili konular