Προγραμματισμός

Τι νέο υπάρχει στο Angular 9.1

Έφτασε το Angular 9.1, με βελτιώσεις στην απόδοση και την ταυτόχρονη χρήση του μεταγλωττιστή συμβατότητας ngcc. Ο αγωγός συλλογής και απόδοσης Ivy έλαβε επίσης προσοχή, με αποτέλεσμα καλύτερη απόδοση.

Το Angular 9.1, που δημοσιεύθηκε στις 25 Μαρτίου, ακολουθεί την έκδοση Angular 9.0, η οποία έγινε διαθέσιμη ως κυκλοφορία παραγωγής στις 6 Φεβρουαρίου 2020. Η έκδοση 9.0 αναβάθμιση στο δημοφιλές πλαίσιο βάσει TypeScript αλλάζει εφαρμογές από τον μεταγλωττιστή Ivy και τον χρόνο εκτέλεσης από προεπιλογή.

Το Ivy προσφέρει γρηγορότερα, συλλογή AOT, καθώς και μικρότερα μεγέθη πακέτων, ταχύτερες δοκιμές και καλύτερο εντοπισμό σφαλμάτων. Βελτιωμένη σύνδεση κατηγορίας CSS και στυλ εμφανίζεται επίσης στο Ivy, μαζί με βελτιώσεις στον έλεγχο τύπου, τα σφάλματα κατασκευής και τους χρόνους κατασκευής. Επίσης μέρος του Angular 9 είναιng ενημέρωση, το οποίο υπόσχεται να είναι ένα πιο αξιόπιστο και ενημερωτικό εργαλείο για την ενημέρωση των εφαρμογών και των εξαρτήσεων τους.

Το Angular παρέχει εξάρτηση εξάρτησης, η οποία είναι ιδιαίτερα χρήσιμη για τη συναρμολόγηση υπηρεσιών δεδομένων για εφαρμογές, μαζί με τη χρήση ενός προτύπου HTML για τη σύνθεση στοιχείων. Στο Angular, οι προγραμματιστές εξακολουθούν να συνθέτουν στοιχεία με ένα στοιχείο HTML που συνδέεται με τον κώδικα TypeScript για επιτακτικά μέρη του προγράμματος.

Πού να κατεβάσετε το Angular 9.1 ή προηγούμενες κυκλοφορίες

Μπορείτε να κατεβάσετε την έκδοση Angular παραγωγής από το GitHub καθώς και τις εκδόσεις beta. Ένας γωνιακός οδηγός ενημέρωσης έχει δημοσιευτεί, μαζί με έναν οδηγό για αναβάθμιση σε Angular 9.

Νέες δυνατότητες στο Angular 9.1

  • Βελτιστοποιήσεις απόδοσης για το ngcc, καθώς και βελτιώσεις ταυτότητας και αξιοπιστίας για περιπτώσεις χρήσης ngcc monorepo. Το σενάριο μετά την εγκατάσταση NPM δεν συνιστάται πλέον. Με ngcc, η επεξεργασία ασύγχρονου διακόπτεται εάν μια άλλη διαδικασία έχει το lockfile. Επίσης με το ngcc, μια ικανότητα ισοπέδωσης χάρτη προέλευσης είναι σε θέση να φορτώσει ένα δέντρο αρχείων προέλευσης που συνδέονται με χάρτες προέλευσης και να τα ισοπεδώσει σε έναν χάρτη πηγής. Αυτός ο χάρτης πηγής χαρτογραφεί απευθείας από το τελικό αρχείο που δημιουργήθηκε στις αρχικές πηγές που αναφέρονται από τους ενδιάμεσους χάρτες πηγής.
  • Υποστηρίζεται το TypeScript 3.8.
  • Η διεθνοποίηση, μέσω του i18n, υποστηρίζει πλέον τις τοπικές πληροφορίες RTL.
  • Η απόδοση του Ivy βελτιώθηκε με την κατάργηση του αχρησιμοποίητου ορίσματος συμβάντων στις οδηγίες ακροατή. Προηγουμένως, ο Ivy δημιούργησε ένα $ event επιχείρημα, ακόμα κι αν δεν χρησιμοποιείται από τις εκφράσεις του ακροατή. Αυτό θα μπορούσε να οδηγήσει σε περιττή δημιουργία byte. Επίσης, έχει συμπεριληφθεί μια διόρθωση συμβατότητας για τον έλεγχο προτύπων Ivy.

Νέες δυνατότητες στο Angular 9.0

Εκτός από τον ορισμό του Ivy ως προεπιλογή, το Angular 9.0 περιλαμβάνει τις ακόλουθες νέες δυνατότητες και βελτιώσεις:

  • Νέες επιλογές για παρέχεται, για τη δημιουργία ενός @ Ενέσιμη υπηρεσία, περιλαμβάνουν πλατφόρμα, η οποία καθιστά μια υπηρεσία διαθέσιμη σε ένα ειδικό μπεκ πλατφόρμας singleton κοινόχρηστο από όλες τις εφαρμογές σε μια σελίδα, και όποιος, η οποία παρέχει μια μοναδική παρουσία σε κάθε ενότητα που εισάγει το διακριτικό.
  • Εξαρτήματα εξαρτημάτων, για να διασφαλιστεί ότι οι δοκιμές μονάδας είναι σωστά εκτεθειμένες και λιγότερο εύθραυστες. Οι λεπτομέρειες εφαρμογής αφαιρούνται.
  • Νέα στοιχεία που επιτρέπουν τη συμπερίληψη των δυνατοτήτων του YouTube και των Χαρτών Google σε εφαρμογές.
  • Υποστηρίζονται TypeScript 3.7 και TypeScript 3.6.
  • Η απόδοση βελτιώθηκε για τους eventListeners.
  • Ο προεπιλεγμένος κωδικός νομίσματος σε Σωλήνας νομισμάτων είναι πλέον διαμορφώσιμο.
  • Για να βελτιώσετε την απόδοση του renderer Ivy, οι επαναλαμβανόμενες παγκόσμιες προσβάσεις κατάστασης καταργούνται από τις οδηγίες i18n όταν οι πληροφορίες είναι ήδη διαθέσιμες. Ο Ivy παίρνει επίσης μια ενίσχυση απόδοσης από την αφαίρεση των επιπλέον Ασφαλής ανίχνευση κώδικας. Και το πακέτο @ angular / localize μπορεί να προστεθεί σε ένα έργο Angular CLI μέσω ng προσθήκη.
  • Επίσης, για την απόδοση του Ivy, προσφέρονται καλύτερα μηνύματα σφάλματος για άγνωστα στοιχεία. Επιπλέον, προστέθηκε μια νέα σημαία τοπικοποίηση-μετάφραση που επιτρέπει τον καθορισμό των τοπικών ρυθμίσεων προέλευσης.
  • Για τη βελτίωση της απόδοσης στον πυρήνα, η αποχέτευση καθίσταται αμετάβλητη στο rendering Ivy.
  • Επίσης στο Ivy, ο έλεγχος τύπου προτύπου έχει αλλάξει για να παράγει ts.Dagnagnostics. Αυτό επιδιορθώνει ένα ζήτημα σχεδιασμού στο οποίο ο μεταγλωττιστής γωνίας έχει παράγει τόσο εγγενή διαγνωστικά TypeScript όσο και τη δική της εσωτερική διαγνωστική μορφή, η οποία δεν ήταν βέλτιστη.
  • Επίσης για τον πυρήνα, το Angular προσθέτει ένα νέο σχηματικό μετανάστευσης, σύμφωνα με το δεδομένο σχέδιο μετανάστευσης.
  • ο NgFormSelectorΠροειδοποίηση ο επιλογέας έχει αφαιρεθεί.
  • Για ngcc (μεταγλωττιστής γωνιακής συμβατότητας), έχει προστεθεί μια μετεγκατάσταση για παιδικές τάξεις.
  • Έχουν γίνει αρκετές διορθώσεις σφαλμάτων για τον Ivy, τον μεταγλωττιστή, τον πυρήνα, την υπηρεσία γλώσσας, το ngcc και το Bazel.

Νέες δυνατότητες στο Angular 8.2

Κυκλοφόρησε τον Αύγουστο του 2019, το Angular Version 8.2 περιλαμβάνει:

  • Για τη βελτίωση της απόδοσης του μεταγλωττιστή, η αντιγραφή αποφεύγεται από το πρωτότυπο κατά την κλωνοποίηση ενός αντικειμένου. Αυτό ενημερώνει τη λειτουργία κλώνου της κλάσης ApplySourceSpanTransformer, όπου χρησιμοποιήθηκε ο βρόχος εισόδου, το οποίο είχε ως αποτέλεσμα την αντιγραφή από το πρωτότυπο σε ιδιότητες, καταναλώνοντας περισσότερη μνήμη.
  • Υποστήριξη TypeScript 3.5.
  • Συγκέντρωση στόχων που χρησιμοποιούνται από τα εργαλεία της Kythe με τον Ivy renderer. Αυτό εξαλείφει ζητήματα με παραπομπές σε μεταβατικές εξαρτήσεις που δεν δημιουργούνται, λόγω του τρόπου φόρτωσης τέτοιων εξαρτήσεων από τον μεταγλωττιστή παλαιού τύπου.
  • Υποστήριξη για στοιχείο $ σε αναβαθμισμένο στοιχείο πρότυπο και templateURL λειτουργίες.
  • Για το Bazel, οι χρήστες μπορούν πλέον να περάσουν ένα προσαρμοσμένο Bazel CompilerHost για μια γωνιακή συλλογή, υποστηρίζοντας την παράκαμψη του κεντρικού υπολογιστή μεταγλωττιστή TypeScript.
  • Ένας αριθμός διορθώσεων σφαλμάτων, συμπεριλαμβανομένης της αύξησης του ορίου μνήμης των ngc κάτω από το Bazel από 2 GB έως 4 GB.

Νέες δυνατότητες στο Angular 8.1

  • Παρέχονται δοκιμαστικοί βοηθοί για την αναβάθμιση / στατική βιβλιοθήκη που συνδέει τους εγχυτήρες Angular και AngularJS χωρίς να απαιτείται πλήρης εκκίνηση μιας υβριδικής εφαρμογής.
  • Κατάργηση της ενσωμάτωσης με το Web Tracing Framework, το οποίο η Angular είχε υποστηρίξει προηγουμένως για έλεγχο απόδοσης. Η ομάδα ανάπτυξης του Angular σημείωσε ότι η ενσωμάτωση δεν έχει διατηρηθεί και πιθανότατα δεν λειτουργεί για τις περισσότερες γωνιακές εφαρμογές σήμερα.
  • Εφαρμογή του ορισμόςAndBoundSpan, το οποίο προτιμάται πλέον ορισμός. Η εφαρμογή της ορισμός έχει ανακατασκευαστεί και απλοποιηθεί.
  • Κατάργηση των API πλατφόρμας-webworker. Η συμπερίληψη αυτής της υποστήριξης ήταν πειραματική, για να προσπαθήσετε να εκτελέσετε μια ολόκληρη εφαρμογή σε ένα Web Worker, για το περιεχόμενο ιστού να εκτελεί σενάρια στο παρασκήνιο. Οι γωνιακοί υποστηρικτές δεν επιδιώκουν πλέον να το κάνουν αυτό.

Το Angular 8.1 προσφέρει επίσης διορθώσεις σφαλμάτων για το εργαλείο κατασκευής Bazel, καθώς και τον πυρήνα και τον δρομολογητή Angular.

Νέες δυνατότητες στο Angular 8.0

Οι βελτιώσεις στο Angular 8, που κυκλοφόρησαν τον Μάιο του 2019, περιλαμβάνουν τα εξής: