Programim dhe zhvillim, javascript, python, php, html

Përmirësoni performancën AngularJS në nivele të shumta

Po shkruaj një aplikacion kompleks me shumë komponentë duke përdorur AngularJS. Aktualisht, komponentët kryesorë janë gati dhe dua të përmirësoj performancën e aplikacionit.

Pas një hetimi të shkurtër në terren, gjeta disa burime shumë të dobishme:

11 këshilla për të përmirësuar performancën AngularJS

Shembulli i përmirësimit të performancës së aplikacionit wep AngularJS

Performanca e AngularJS në aplikacione të mëdha

Gjithsesi, më duhen disa këshilla shtesë për disa tema:

1. Skripti dhe Shërbimet/Fabrikat po ngarkohen

  • aktualisht, të gjitha skriptet janë ngarkuar në fund të etiketës <body></body> brenda index.html. Prandaj, kur përdoruesi ngarkon drejtpërdrejt një ui-route ose thjesht ringarkojmë faqen e caktuar, të gjithë skriptet ngarkohen përsëri. Dëshiroj të ngarkoj skriptet vetëm në gjendjet që përdorin skriptin e dhënë.
  • Shërbimet/Fabrikat/etj. ngarkohen në të njëjtën mënyrë. Kjo shkakton faqe të cilat NUK kanë nevojë për të dhënën p.sh. Shërbim për ta ngarkuar dhe kjo po ngadalëson performancën, për shkak të ngarkesës së madhe të të dhënave. Më duhet t'i inicializoj/ngarkoj ato vetëm kur nevojiten në gjendjen aktuale.

2. Përkthim/Lokalizimi

  • Unë jam duke përdorur Angular Translate - i18n Referenca, por kur jam duke përkthyer elementet e faqes duhet të përdor p.sh. <button>{{btnName | translate}}</button. Kjo teknikë dhe përdorimi i përgjithshëm i filtrave cilësohet si një nga mangësitë më të mëdha të performancës. Faqja ka shumë elementë, kështu që kjo me të vërtetë mund të ngadalësojë ngarkimin. A ka ndonjë zgjidhje më të mirë apo ndonjë zgjidhje?

3. Në përgjithësi

  • Kam lexuar temat e shumta në ng-repeat dhe veçorinë e tij track by, kështu që supozoj se është bërë, por ende nuk jam 100% i sigurt se e kuptoj< /strong> ciklet $digest ($apply) janë të sakta.
  • Kam lexuar disa komente se duhet "të shmangim lidhjen e çdo gjëje drejtpërdrejt me një funksion", por nuk e kuptoj fare.

Çdo koment ose këshillë shtesë në lidhje me AngularJS dhe performancën e tij janë të mirëseardhura!

Faleminderit :)


  • 1. ju mund të ngarkoni me dembel ato me $ocLazyload. 2. nuk di asnjë mënyrë të mirë këndore për të zgjidhur (edhe pse personalisht e zgjidh atë duke përdorur rendererin tim). 3. track by është mirë kur keni shumë artikuj në ng-repeat. lidhja me funksionin është e shtrenjtë sepse ato shkojnë shumë në proporcion me numërimin $$watchers. 23.07.2015
  • Faleminderit për përgjigjen, do të shikoj këtë $ocLazyload. Aktualisht kam probleme me Grunt dhe Gulp sepse projekti është mjaft i madh dhe është shumë e vështirë t'i integrosh në këtë pikë :( 23.07.2015

Përgjigjet:


1

Duke lexuar sa më sipër, duket se tashmë jeni përpjekur të optimizoni vetë AngularJS. Sidoqoftë, nuk përmendet optimizimet në procesin tuaj të ndërtimit. Unë mendoj se do të ishte e mençur që ju të hetoni Grunt ose Gulp. Me këto mjete ju mund të lidhni dhe minimizoni të gjithë JavaScript-in tuaj në një skedar të vetëm të minuar. Në këtë mënyrë ju keni një ngarkesë vetëm një herë gjatë inicializimit të faqes tuaj.

Kontrollo këtë https://medium.com/@dickeyxxx/best-practices-for-building-angular-js-apps-266c1a4a6917

21.07.2015
  • Faleminderit për këshillën, do ta kontrolloj, por gjithsesi po përballem me çështjet e ngarkimit të skriptit/këndor dhe me filtrat që besoj se konsumojnë më shumë performancë :) 21.07.2015
  • Nëse i bashkoni të gjitha JS në një skedar, të gjitha çështjet e skriptit/ngarkimit duhet të përmirësohen ndjeshëm. Si e matni performancën aktualisht? 21.07.2015
  • Unë jam duke përdorur Batarang dhe Timeline të Chrome. Mund ta bëj këtë histori Grunt menjëherë dhe të shoh nëse e rrit aplikacionin :) 21.07.2015
  • Materiale të reja

    Masterclass Coroutines: Kapitulli-3: Anulimi i korutinave dhe trajtimi i përjashtimeve.
    Mirë se vini në udhëzuesin gjithëpërfshirës mbi Kotlin Coroutines! Në këtë seri artikujsh, unë do t'ju çoj në një udhëtim magjepsës, duke filluar nga bazat dhe gradualisht duke u thelluar në..

    Faketojeni derisa ta arrini me të dhënat false
    A e gjeni ndonjëherë veten duke ndërtuar një aplikacion të ri dhe keni nevojë për të dhëna testimi që duken dhe duken më realiste ose një grup i madh të dhënash për performancën e ngarkesës...

    Si të përdorni kërkesën API në Python
    Kërkesë API në GitHub për të marrë depot e përdoruesve duke përdorur Python. Në këtë artikull, unë shpjegoj procesin hap pas hapi për të trajtuar një kërkesë API për të marrë të dhëna nga..

    Një udhëzues hap pas hapi për të zotëruar React
    Në këtë artikull, do të mësoni se si të krijoni aplikacionin React, do të mësoni se si funksionon React dhe konceptet thelbësore që duhet të dini për të ndërtuar aplikacione React. Learning..

    AI dhe Psikologjia — Pjesa 2
    Në pjesën 2 të serisë sonë të AI dhe Psikologji ne diskutojmë se si makineritë mbledhin dhe përpunojnë të dhëna për të mësuar emocione dhe ndjenja të ndryshme në mendjen e njeriut, duke ndihmuar..

    Esencialet e punës ditore të kodit tim VS
    Shtesat e mia të preferuara - Git Graph 💹 Kjo shtesë është vërtet e mahnitshme, e përdor përpara se të filloj të punoj për të kontrolluar dy herë ndryshimet dhe degët më të fundit, mund të..

    Pse Python? Zbulimi i fuqisë së gjithanshme të një gjiganti programues
    Në peizazhin gjithnjë në zhvillim të gjuhëve të programimit, Python është shfaqur si një forcë dominuese. Rritja e tij meteorike nuk është rastësi. Joshja e Python qëndron në thjeshtësinë,..


    © 2024 albai.ru, Programim dhe zhvillim, javascript, python, php, html