SORU
12 Temmuz 2012, PERŞEMBE


Daha iyi performansa sahip Angular.js Backbone.js ya

Web geliştiricisiyim ve büyük çapta bir web uygulaması geliştirmek için başladım, ama kullanmak için ne emin değilim. Angular.js ama ben de Backbone.js kabul düşünüyordum. Sizin için en iyi çerçeve ne olurdu? ya da en azından ikisi arasında bir karşılaştırma var performansı görmek.

CEVAP
16 Temmuz 2012, PAZARTESİ


Buradaki hiç kimsenin bir çözüm daha hızlı ya da diğerinden daha yavaş olduğunu iddia eden ya da bu kütüphaneler veya çerçeveler (ya da genel olarak performans testi) kadar hakkında hiçbir şey bilmiyor mu ya da yalancıdır.

Performans çok zor bir özelliği ölçmek için onu etkileyen o kadar çok değişken çünkü. Sadece birkaç isim için:

  • test kalite/referans kodu
  • kütüphanenin kalite/çerçeve kodu
  • uygulama türü
  • uygulama kodu kalite
  • tarayıcı kullanılır
  • istemci donanım
  • diğer işlemler istemci donanım üzerinde aynı anda çalışıyor
  • internet Bağlantı kalitesi ve hızı
  • yük ve sunucu performansını server
  • ve liste böyle uzayıp gidiyor.

ama daha da önemlisi, tam olarak ne performansı? performans çok fazla şeyler, dahil olmak üzere kapsayan çok geniş bir terimdir:

  • zaman uygulaması bootstrap alır
  • zaman bir kullanıcı eylemine yanıt alır
  • kaynak kullanımı (cpu/bellek/ağ)
  • dom manipülasyon performans kütüphane/çerçeve/uygulama kodu tarafından yapılır
  • çöp toplayıcı dostu
  • ve yine bu liste böyle uzayıp gidiyor.

Sorunuzu yanıtlamak için en iyi yolu uygulamanın iyi temsilcisi olan bir uygulama oluşturmak içininşa etmek niyetindeve rakip kütüphaneleri/çerçeveler ile uygulamak. O zaman yaz bunları istikrarlı bir ortamda kafa kafaya karşılaştırmak kaliteli bir benchark.

Bu tabii ki çok zahmetli bir iştir ve para ile yalnızca birini kabul eder.

Ancak bu sorun için farklı bir çözüm var: özel olarak kullandığınız anlayın:

  • çerçeve/kütüphane DAHİLİ olarak kullandığı çekirdek akar ve algoritmaları öğrenmek. genellikle önemi olmamalı iken, bir perf konusu olduğunda sorunları, uygulamanız nasıl bir anlayış, ve performans sorunları tanımlamak ve düzeltmek için olanak sağlar
  • eğer performans kütüphane/çerçeve yazarlar uzmanlığı olan bir şey olup olmadığını kontrol edin
  • eğer çerçeve/kütüphane performans sorunlarını belirlemek ve bunları çözmek için yardımcı olmadığını kontrol edin

Omurga ve AngularJS arasında gerçek bir karşılaştırma için, çok farklı iki çözüm mukayese ediyorsunuz.

Omurga için herhangi bir dom manipülasyon yapmaz, uygulamanızı hızı çoğunlukla üzerinde ne kadar iyi dom manipülasyon (bu uzmanlık?) yapabilir misin bağlıdır.

AngularJS sizin için dom manipülasyon çoğu yok ve bu uzmanlık alanına giren bir ton var, gerçekten iyi olduğunuz sürece, zor zamanlar bizi eşleşen olacak.

İkinci olarak, omurga modeli mutasyon olayları, gözlem, model sarma ve yapay alıcıları ve ayarlayıcıları kullanımına dayanır. Sadece bu da değil, bu çok verimsiz eksikliği yüzünden olay arasında bir köprü (bir ihtimal var ama geçici bir çözüm için bu son omurga sürüm), ancak kullanılan yapay alıcıları ve ayarlayıcıları da müdahale ile JİT derleyicisi tarayıcınızın.

Misko Açısal büyülü modeli nasıl long post mutasyon bir gözlem yazdı. Burada tekrar etmeyeceğim. Ama temelde bir AngularJS uygulama performansını doğrudan bağlantıları uygulamanın geçerli görünümüyle kullanılan sayısı ve karmaşıklığı ile ilgilidir. Bu düşünceyle, kolayca Açısal performansını tahmin edebilirsiniz. Hatta daha iyi olan araçları gibi AngularJS Batarang uzatma için Krom, biz izin için kolay bir enstrüman uygulama ve anlamak olan bağlarını sayfa yavaş ve bu olanak sağlar odak sabitleme parçaları kodunuzu bu gerçekten önemli.

Gidiyorum sonuçlandırmak diyerek kütüphaneye ya da çerçeve olacak en iyi çözüm için kullanmanız doğduğunda sen de istemelisin hakkında daha fazla bilgi edinin araçları inşa uygulamaları ile ve zaman çok önemli, karar verin hangisi en iyisi belirli bir kullanma durumu. Benim bahis yazacaksın uygulamalar çoğu için, performansı önemli ölçüde eğer çerçeve ya da kütüphane geçerseniz değiştirmeyecek. Performansı hakkında endişe ederdim önce verimlilik gibi diğer faktörlere daha fazla ağırlık, kullanım, test edilebilirlik, toplum ve belgelerin kolay bir zaman olurdu.

Ve son bir şey: kriterler genellikle yanıltıcı, ama bu olanları göz atın ve inanmayarak onları almak.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Charles Nesson

    Charles Ness

    27 NİSAN 2006
  • ipsy

    ipsy

    1 EKİM 2012
  • Lamarr Wilson

    Lamarr Wilso

    27 Aralık 2008