Što je novo u programu Angular 9.1

Stigao je Angular 9.1, s poboljšanjima performansi i istodobnosti kompajlera kompatibilnosti ngcc. Pozornost je pripalo i cjevovodu za kompilaciju i prikazivanje Ivy, što je rezultiralo boljim performansama.

Angular 9.1, objavljen 25. ožujka, slijedi izdanje Angular 9.0, koje je postalo dostupno kao produkcijsko izdanje 6. veljače 2020. Nadogradnja verzije 9.0 na popularni okvir zasnovan na TypeScriptu prema zadanim postavkama prebacuje programe na Ivy compiler i runtime.

Ivy nudi bržu AOT kompilaciju, kao i manje veličine snopova, brže testiranje i bolje uklanjanje pogrešaka. Poboljšano vezivanje klasa i stilova CSS-a također je predstavljeno u Ivy-u, zajedno s poboljšanjima u provjeri tipa, pogreškama gradnje i vremenima izrade. Također je dio programa Angular 9  ng update, koji obećava da će biti pouzdaniji i informativniji alat za ažuriranje aplikacija i njihovih ovisnosti. 

Angular pruža ubrizgavanje ovisnosti, što je posebno korisno za sastavljanje podatkovnih usluga za aplikacije, zajedno s upotrebom HTML predloška za sastavljanje komponenata. U Angularu programeri i dalje sastavljaju komponente s HTML komponentom koja se povezuje s TypeScript kodom za imperativne dijelove programa.

Gdje preuzeti Angular 9.1 ili prethodna izdanja

Proizvodno izdanje Angular možete preuzeti s GitHub-a, kao i beta izdanja. Objavljen je vodič za ažuriranje za Angular, zajedno s vodičem za nadogradnju na Angular 9.

Nove značajke u programu Angular 9.1

  • Optimizacija izvedbe za ngcc, kao i poboljšanja istodobnosti i pouzdanosti za slučajeve upotrebe ngcc monorepo. NPM skripta za postinstalaciju više se ne preporučuje. S ngcc, asinhronizirana obrada je pauzirana ako drugi proces ima datoteku zaključavanja. Također s ngcc-om, sposobnost izravnavanja izvorne mape može učitati stablo izvornih datoteka povezanih izvornim kartama i izravnati ih u jednu izvornu kartu. Ova se izvorna mapa izravno preslikava iz konačno generirane datoteke u izvorne izvore na koje se pozivaju međuizvorne karte.
  • Podržani su TypeScript 3.8.
  • Internacionalizacija putem i18n sada podržava podatke o lokalnom jeziku RTL.
  • Izvedba bršljana poboljšana je uklanjanjem neiskorištenog argumenta događaja u uputama slušatelja. Prije toga, Ivy je generirao $eventargument, čak i ako ga izrazi slušatelja nisu koristili. To bi moglo dovesti do nepotrebnog generiranja bajtova. Također, uključeno je i popravak kompatibilnosti za provjeru predloška Ivy.

Nove značajke u programu Angular 9.0

Osim što je Ivy zadana, Angular 9.0 uključuje sljedeće nove značajke i poboljšanja:

  • Nove opcije za providedIn, za stvaranje @Injectableusluge, uključuju platform, što čini uslugu dostupnom u posebnom injektoru pojedinačne platforme koji dijele sve aplikacije na stranici i any, koji pruža jedinstvenu instancu u svakom modulu koji ubrizgava token.
  • Kabelski svežanj, kako bi se osiguralo da su jedinični testovi pravilno obuhvaćeni i manje krhki. Detalji implementacije apstrahirani su.
  • Nove komponente koje omogućuju uključivanje mogućnosti YouTubea i Google Mapsa u programe.
  • Podržani su TypeScript 3.7 i TypeScript 3.6.
  • Izvedba je poboljšana za slušatelje događaja.
  • Zadani kôd valute u CurrencyPipesada je moguće konfigurirati.
  • Da bi se poboljšala izvedba prikazivača Ivy, ponovljeni pristupi globalnom stanju uklanjaju se iz uputa i18n kada su informacije već dostupne. Ivy također poboljšava performanse uklanjanjem dodatnog SafeDetectionkoda. A paket @ angular / localize može se dodati projektu Angular CLI putem ng add.
  • Također za Ivy render, nude se bolje poruke o pogreškama za nepoznate komponente. Osim toga, dodana je nova zastava localize-translatekoja omogućuje specificiranje izvornog jezika.
  • Da bi se poboljšale performanse u jezgri, sanitizacija postaje drhtava u Ivy rendereru. 
  • Također je u Ivyu promijenjena provjera vrste predloška kako bi se dobila ts.Diagnostics. To popravlja problem s dizajnom u kojem je Angular kompajler proizveo i izvornu dijagnostiku TypeScript i vlastiti format interne dijagnostike, koji nije bio optimalan.
  • Također za jezgru, Angular dodaje novu shemu migracije, prema zadanom planu migracije.
  • NgFormSelectorWarningSelektor je uklonjen.
  • Za ngcc (Angular compatibility compiler) dodana je migracija za neukrašene podređene klase.
  • Izvršeni su brojni ispravci programskih pogrešaka za Ivy, kompajler, jezgru, jezičnu službu, ngcc i Bazel.

Nove značajke u programu Angular 8.2

Izdana u kolovozu 2019., Angular verzija 8.2 uključuje:

  • Da bi se poboljšale performanse kompajlera, izbjegava se kopiranje iz prototipa tijekom kloniranja objekta. Ovo ažurira funkciju kloniranja klase ApplySourceSpanTransformer, gdje je korištena petlja za ulazak, što je rezultiralo kopiranjem iz prototipa u vlastita svojstva, što troši više memorije.
  • Podrška za TypeScript 3.5.
  • Sastavljanje ciljeva koje koriste alati Kythe pomoću rezača Ivy. Ovo eliminira probleme s unakrsnim referencama na prijelazne ovisnosti koje se ne generiraju zbog načina na koji naslijeđeni prevodilac učitava takve ovisnosti.
  • Podrška za $elementnadograđenu komponentu templatei templateURLfunkcije.
  • Za Bazel korisnici sada mogu proslijediti prilagođeni Bazel CompilerHost za Angularnu kompilaciju, podržavajući nadjačavanje domaćina TypeScript kompajlera.
  • Brojni su ispravci programskih pogrešaka, uključujući povećanje ograničenja memorije ngcispod Bazela s 2 GB na 4 GB.

Nove značajke u programu Angular 8.1

  • Na raspolaganju su ispitni pomagači za nadogradnju / statičnu biblioteku koja povezuje Angular i AngularJS mlaznice bez potrebe za potpunim bootstrapom hibridne aplikacije.
  • Ukidanje integracije s Web Tracing Framework-om, koji je Angular ranije podržavao za testiranje performansi. Tim za razvoj programa Angular primijetio je da integracija nije održana i vjerojatno danas ne funkcionira za većinu aplikacija programa Angular. 
  • Provedba definitionAndBoundSpan, koja se sada daje prednost nad definition. Provedba definitionje prepravljena i pojednostavljena.
  • Ukidanje API-ja platforme-webworker. Uključivanje ove podrške bilo je eksperimentalno, kako bi se pokušalo pokrenuti cijelu aplikaciju u web radniku, da bi web sadržaj pokrenuo pozadinske skripte. Kutni zagovornici to više ne nastoje učiniti.

Angular 8.1 također nudi ispravke programskih pogrešaka za alat za izgradnju Bazel, kao i za kutnu jezgru i usmjerivač.

Nove značajke u programu Angular 8.0

Poboljšanja u programu Angular 8, objavljena u svibnju 2019., uključuju sljedeće: