100puan

AngularJS

61puan

CanJS

Karşılaştırmanın kazananı
AngularJS
CanJS
vs
vs

52 incelenen özellikler

AngularJS vs CanJS

AngularJS
CanJS

AngularJS neden CanJS' den daha iyi?

  • Çift yönlü veri bağlaması vardır
    ?
  • Modeller sade JavaScript objeleridir
    ?
  • Otomatik görünüm filtreleme özelliği vardır
    ?
  • HTML'e uzanır
    ?
  • Bağımlı Enjekte özelliği vardır
    ?
  • Animasyonu destekleyen popüler bir eklentiye sahiptir
    ?
  • 1 daha az bağımlılık
    ?
  • DOM'u asenkronize bir şekilde günceller
    ?

CanJS neden AngularJS' den daha iyi?

  • Bağımlılığı olmayan 12KB daha küçük dosya boyutu
    ?

    69KBvs81KB
  • Bir şablonlama motoru kullanır.
    ?
  • Hesaplanmış özellikler
    ?
  • DOM manipulasyonu kütüphanesi agnostik(bilinemezci) mi
    ?
  • Şablonlar sunucu üzerinde ön-derlenebilir
    ?
  • Birleşik (kısmi) görünümler
    ?
  • 1 ve önceki Internet Explorer versiyonlarıyla uyumludur
    ?

    7vs8
  • Birden çok şablon motoruyla uyumludur
    ?

Genel bilgi

Görünümleri fazla ekstra koda ihtiyaç duymadan kapsam değişkenleri üzerinden filtreleme mekanizmasına (örneğin arama yaparken) sahiptir.
Şablon motorlar kolay ve esnek UI kurmasına izin verir.
3.Hesaplanmış özellikler
AngularJS
CanJS
Objelerin özelliklerini hesaplamak için fonksiyonların özellik olarak kullanılmasına izin verir.
JSX geliştiricilerin canlıdaki veya ön-derlenmiş sade JavaScript olan kodlarının içine direk olarak işaretleme yazmalarına izin veren bir şablonlama motorudur. Bu işaretleme ve kod arasındaki ayrımı kaldırır ve string tabanlı şablonlama dilleri üzerine hız iyileştirmesi sunar.
5.HTML'e uzanır
AngularJS
CanJS
Kimi insan bunu diğer şablon dilleri masrafını ortadan kaldırdığı için avantaj olarak görür.
MIT lisansı ticari kullanım dahil her türlü kullanıma garanti sağlamadan izin veren oldukça hoşgörülü bir lisansdır.
Kalan özelliklerini kaldırmadan başka bir yapı iskeletinin bir parçası yerine kullanılabilir.
İçiçe görünüm şablonlarının bir şablon içindeki üst-düzey görünümlere konulmasını destekler.
Önerilen dosya yapısını hazırlayan ve böylece geliştiricelerin daha hızlı başlamasını sağlayan resmi veya popüler boilerplate projeye sahiptir.

Eklentiler

Kolayca yeni animasyon görünümü yapma imkanları içeren bir eklentiye sahiptir.
Eklentiler fonksiyonelliği arttırmak ya da diğer hizmetlerle entegre olmayı sağlamak için daha kolay bir yol sunar. Fazla sayıda eklenti aktif bir kullanıcı topluluğunu işaret edebilir. Sadece resmi eklentiler dikkate alınır.
Bu framework'ün yaşayan bir ekosisteme sahip olduğunu gösterir, geniş topluluklar fazla esnekliğe ve hızlı geliştirmeyi destekler ve izin verir.
İstemci veri girişini işlenmeden veya bir sunucuya yollanmadan önce doğrulamaya yardımcı olan eklentiler. Bu sunucu-taraflı doğrulamanın yerini tutmazken kullanıcı deneyemini oldukça arttırır.
Modelleri jQuery boilerplate ajax çağırması yazılımına ihtiyaç duymadan sunucu-taraflı gösterimleri ile senkronize tutan faydalar içerir.
Modelleri jQuery boilerplate ajax çağırması yazılımına ihtiyaç duymadan sunucu tarafından senkronize edilebilmesi için bir eklentiye sahiptir.
7.Animasyon
AngularJS
CanJS
Kolayca yeni animasyon görünümü yapma imkanları içerir.
HTML5 LocalStorage ile senkronize etmek için basit bir fonksiyonalite sunan bir eklentiye sahiptir.

Kitaplıklar & Paketler

DOM manipulasyonu ile başa çıkmak için spesifik bir kütüphane (jQuery, Zepto veya MooTools gibi) kullanımına gerek duymaz veya kullanımı ciddi şekilde teşvik etmez ve geliştiricinin seçtiği kütüphane ile kullanılabilir.
Eşzamanlı Olmayan Modül Tanım kütüphaneleri kolay modüler, temiz programlamayı sağlar. Bir framework böyle bir kütüphanede düzgün çalışmıyorsa bileşenlerini modülize etmek ve bağımlılıkları çözmek için Dependency Injection gibi farklı araçlara sahip olabilir.
Bower önyüz uygulamaları için kolay kullanımlı, npm benzeri bir paket yöneticisidir.
Node paket yöneticisi aynı zamanda ön yüz scriptlerini yönetmek için kullanılabilir.
5.jQuery Lite içerir
AngularJS
CanJS
DOM manipulasyonunun gerekli olduğu durumlarda jQery Lite öğelerini kullanır. Bu şekilde geliştiriciler bütün kütüphaneyi eklemek zorunda kalmadan jQuery'nin rahat yardımcı fonksiyonlarını alır. Bir çok kullanma durumunda bu projenin jQuery'e bağımlılığını ortadan kaldırır.
Popüler ve faydalı kütüphane olan underscore.js'e bağlıdır. Underscore liste manipulasyonları ve fonksiyonel programlama için yardımcı fonksiyonlar içerir.

Veri ilişkilendirme

Modeller ve görünümler birbirlerini güncellemeye mecburdur.
2.Tek yönlü veri bağlama
AngularJS
CanJS
Bir görüntülenebilir obje değiştiğinde görünümler otomatik olarak güncellenmeye mecburdur.
Bu uygulama ve REST-Servisleri ya da LocalStorage arasındaki veri transferini kolaylaştırır. Ayrıca getter setter fonksiyonları yüzünde oluşan kompleksiteyi azaltır.
Karışımlar obje-odaklı kalıtıma ihtiyaç duymadan ortak özellikleri paylaşan birbirinden farklı objelere izin veren bir programlama tekniğidir.
Model ve görünümlerin birbirlerini güncellemesini destekler. Bu, dosya boyutunu arttırır ve aynı zamanda daha fazla esneklik sağlar.
Modeller değişikler için gözlenir. Bu iyi bilinen bir desendir. Bazı durumlarda kirli-karşılatırmadan daha başarılı sonuç verebilir.
Değişiklik olup olmadığını kontrol eder ve ilgili alanları günceller. Bazı durumlarda gözlemcilerden daha başarılı sonuç verebilir.

Performans

Daha küçük dosya boyutu daha hızlı yükleme demektir.
Yönlendirme tarayıcı url'si ile etkileşime izin verir. Eğer bir-sayfa uygulamaları kuruyorsanız iyi bir kullanıcı deneyimi için bu çok özemlidir.
3.Sözler kullanır
AngularJS
CanJS
Promises/A+ tanımlamasının iç implementasyona sahiptir. Promises sunucu cevaplarıyla uğraşırken bildirimlere cevap veren popüler bir alternatiftir.
Sunucuda önceden oluşturulmuş şablon motorunu destekler. Bu, özellikle düşük bilgi işlem gücüne sahip cihazlarda sayfa hızını artırır.
Bu arama motoru taranabilirliğini oldukça arttırır. Bu özellikle düşük programlama gücüne sahip araçlarda sayfa hızını arttırabilir.
Bu test edilebilmeyi ve modülerliği arttırır.
Daha az bağımlılık eklenecek daha az ekstra script, genellikle daha az geliştirme gideri ve daha hızlı yükleme süresi demektir,
Model değişiklikleri görünüm güncellemelerinde hemen sonuç vermez ama sıraya konulur ve grup olarak dağıtılır. Bu anında görünüm güncellemelerinden çok daha başarılı sonuç verir.
jQuery Deferred gibi sözleri destekleyen kütüphanelerin kullanımına izin verir. Sözler sunucu cevaplarıyla uğraşırken bildirimlere popüler bir alternatiftir.

En iyi MV* sistemleri hangisidir?

Hepsini Göster
This page is currently only available in English.