Διαφορά μεταξύ AngularJS και Γωνίας 2

AnglesJS

Κοιτάζοντας πίσω, ήταν δυνατό να δημιουργηθούν πολύ προηγμένες εφαρμογές ιστού χρησιμοποιώντας το καθαρό API JavaScript, αλλά ήταν πολύ δύσκολο να διατηρηθεί ο πηγαίος κώδικας και να εξεταστούν όλα. Και στη συνέχεια το 2010 το JavaScript AngularJS εισήχθη ως Πλαίσιο MVW. Το δέντρο είχε μεγάλα πλεονεκτήματα που έκανε τους ανθρώπους να το αγαπούν:

  • Η δημιουργία κώδικα ήταν πολύ γρήγορη
  • Κάθε εφαρμογή ήταν εύκολο να δοκιμαστεί
  • Η Google βρισκόταν πίσω από το έργο

Υπάρχουν και άλλα πράγματα που μπορούν να κάνουν τις στροφές μεγάλες για τους προγραμματιστές. Η πρώτη είναι η αμφίδρομη σύνδεση δεδομένων. Έχει τη δυνατότητα να προβάλλει πληροφορίες που έχουν τροποποιηθεί στο JavaScript για να εμφανίζονται αυτόματα στο περιβάλλον χρήστη. Αρχικά, αυτό έκανε πολύ πιο εύκολο να αναπτυχθεί, δεδομένου ότι δεν απαιτείται περαιτέρω κωδικοποίηση, εκτός από τη σύνδεση ενός ελεγκτή HTML. Το δεύτερο πλεονέκτημα για τους γωνιακούς προγραμματιστές είναι οι οδηγίες. Είναι το σημείο εκκίνησης όλων των τμημάτων που βλέπουμε στο σύγχρονο μέρος. Οι οδηγίες μας επέτρεψαν να χρησιμοποιήσουμε και να αποκωδικοποιήσουμε αυτόν τον κώδικα περισσότερο από ποτέ. Το AngularJS ανάγκασε την έγχυση εθισμού, η οποία βοήθησε να κοροϊδευτεί ο εθισμός. Η εμφάνισή του στο πλαίσιο είναι ένα μεγάλο βήμα μπροστά στη δοκιμή γωνιακού λογισμικού.

Όλα αυτά τα οφέλη έχουν οδηγήσει όλο και περισσότερες εταιρείες να ξαναγράψουν τις εφαρμογές τους από τις λύσεις AngelsJS που χτίστηκαν σε άλλες βιβλιοθήκες.

Γωνία 2

Το AngularJS είναι ένας πολύ καλός τρόπος για να δημιουργήσετε μια εφαρμογή ή MVP. Με την άνοδο της δημοτικότητας και την προσθήκη περισσότερων χαρακτηριστικών στα κύρια χαρακτηριστικά, η γωνιακή ομάδα αποφάσισε να ξαναγράψει το αρχικό πλαίσιο εισάγοντας το Angular 2. Ορισμένα "Γωνιακά 2" και "AngularJS" μοιράζονται μόνο ένα πράγμα: όνομα. Υπάρχει ng-path (που ονομάζεται ng-εκσυγχρονισμός) από το AngularJS ως το Angular 2. Ωστόσο, το Angle 2 εξακολουθεί να είναι ένα νέο πλαίσιο που μοιράζεται μερικές από τις έννοιες των προκατόχων του.

Η όλη έννοια της δομής εφαρμογής άλλαξε στη γωνία 2. Προηγουμένως ήταν ένα πλαίσιο MVC που σας επέτρεψε να δημιουργήσετε προγράμματα με τη μορφή διασυνδεδεμένων αντικειμένων, όπως ελεγκτές, προβολές, υπηρεσίες και ούτω καθεξής. Η όλη αρχιτεκτονική AngularJS ήταν η εξής:

Οι μοναδικές πραγματικές εφαρμογές web web χρησιμοποιώντας το AngularJS

αρχιτεκτονική img - ng1

Τώρα η έννοια των οδηγιών έχει εφαρμοστεί για να πλησιάσει ακόμη περισσότερο το πρότυπο Component Web και τη μέθοδο React του προγραμματισμού. Πρόκειται για τα στοιχεία στη γωνία 2. Αυτό σημαίνει ότι όλο το πρόγραμμα είναι τώρα ένα στοιχείο και περιέχει ένα διαφορετικό σύνολο στοιχείων (τα οποία μπορούν να αλλάξουν). Τελειώνει με μια δομή που μοιάζει με δέντρο:

img - ng2 αρχιτεκτονική

Ο σκοπός της αρχιτεκτονικής εφαρμογών του Angular 2 είναι να δημιουργήσει όσο το δυνατόν λιγότερα τμήματα διασυνδεδεμένα.

Το πιο σημαντικό, υπάρχουν δύο τρόποι για να δημιουργήσετε στοιχεία:

  • Έξυπνα στοιχεία: Γνωρίζουν την κατάσταση του προγράμματος και μπορούν να επικοινωνήσουν με τις υπηρεσίες για να λάβουν ή να αλλάξουν πληροφορίες.
  • Βαριά εξαρτήματα: Θα πρέπει να έχουν μόνο εισόδους και εξόδους. Όταν παρέχουν τιμές εισόδου, είναι έτοιμες να αναπτυχθούν οπουδήποτε (ή ακόμη και έξω από το σύστημα) και δεν πρέπει να γνωρίζουν την κατάσταση της εφαρμογής.

Εργασία

Έχοντας ένα τέτοιο δομικό στοιχείο μπορεί να κάνει τεράστια διαφορά στην απόδοση. Ο σκοπός του AngularJS δεν ήταν να δημιουργήσει το πιο αποτελεσματικό πλαίσιο, αλλά το πιο εύκολο πράγμα ήταν να γράψεις. Δεδομένου ότι η απόδοση έχει γίνει ένα πρόβλημα, το Angular 2 έχει εισαχθεί για την αντιμετώπιση του ζητήματος. Το AngularJS είχε έναν πεπτικό κύκλο που επέτρεψε τις αλλαγές να ανεβαίνουν και να κατεβαίνουν. Η γωνία 2, με τη σειρά της, έχει ένα κατευθυνόμενο γράφημα των στοιχείων, τα οποία ελέγχονται πάντοτε μία φορά (από τη ρίζα στα φύλλα μέσω μίας μονοδιάστατης διαδρομής). Σύμφωνα με τα μέλη της γωνιακής ομάδας πυρήνα, οι αλλαγές αυτές καθιστούν τις εφαρμογές της γωνίας 2 3-10 φορές πιο γρήγορα από τις πιο πρόσφατες εφαρμογές που βασίζονται στο AngularJS.

Οικοσύστημα

Οι γωνίες θεωρούνται πλέον περισσότερο από ποτέ πλαίσια. Το εργαλείο που μας δίνει η γωνιακή ομάδα είναι μια ολοκληρωμένη λύση. Αυτό είναι διαφορετικό από το React (είναι απλώς μια βιβλιοθήκη για την εμφάνιση εξαρτημάτων), αλλά εδώ είμαστε σε θέση να δημιουργήσουμε πλήρη προγράμματα χωρίς τη χρήση λύσεων τρίτων κατασκευαστών. Το πλαίσιο παρέχει τα παρακάτω μπλοκ για χρήση από εμάς:

  • Το στοιχείο είναι το κύριο και σημαντικότερο. Η γωνία 2 αφορά τα εξαρτήματα και τη διαμόρφωση. Αυτά είναι τα κύρια δομικά στοιχεία του προγράμματος. Έχει λογική και εμφάνιση.
  • Οδηγία - Αυτό είναι πολύ παρόμοιο με ένα στοιχείο, αλλά δεν περιλαμβάνει ένα πρότυπο (προβολή). Εκτελεί πρόσθετες λειτουργίες σε υπάρχοντα στοιχεία DOM.
  • Σωλήνες - Σας δίνει τη δυνατότητα να επεξεργάζεστε μεταβλητές σε ένα πρότυπο με έναν συγκεκριμένο τρόπο.
  • Η υπηρεσία είναι μια κλάση έγχυσης που χρησιμοποιείται για την ανταλλαγή λογικής μεταξύ των εξαρτημάτων. Τυπικά (και προτιμάται) είναι η στρώση μεταξύ του συστατικού και του API.
  • Έντυπα - Μια ολοκληρωμένη λύση για την εργασία με φόρμες σε μια εφαρμογή. Αυτή τη φορά, μπορείτε να επιλέξετε δύο στυλ: με βάση το πρότυπο και με βάση το μοντέλο.
  • Το HTTP είναι μια υπηρεσία που εγκαθίσταται σε παρακολουθούμενες συσκευές για τον έλεγχο της επικοινωνίας μεταξύ του μπροστινού και του API.
  • Router - Τώρα κατευθύνεται απευθείας στα στοιχεία.
  • Δοκιμή - Ένα σύνολο εργαλείων για τις δύο μονάδες που είναι έτοιμες να εκτελέσουν δέσμες ενεργειών με όλα τα παραπάνω μπλοκ και στο τέλος για δοκιμές.

Το σύγχρονο JavaScript παραμένει πίσω από μόνο προγράμματα περιήγησης ιστού. Θα μάθετε τώρα σχετικά με τις εφαρμογές JavaScript και τις εγγενείς κινητές εφαρμογές που έχουν δημιουργηθεί στο JavaScript. Υπάρχουν πολλά βασικά έργα που σχετίζονται με τον πυρήνα στη γωνία 2 που αξίζει να αναφερθούν και αξίζουν τις δικές τους ιστορίες:

  • Το Angle Universal είναι μια υπηρεσία διακομιστή.
  • Το γωνιακό CLI είναι μια διεπαφή γραμμής εντολών για την έναρξη ενός έργου.
  • Το NativeScript 2 είναι μια εγγενής εφαρμογή για κινητά.
  • Το Ionic 2 είναι μια εφαρμογή για κινητά που χρησιμοποιεί περιήγηση στο web.
  • Codelyzer - ένα μοναδικό αστάρι για τη γωνία 2.
  • ngrx - αντιδραστικός προγραμματισμός.

Όλα αυτά αποτελούν ολόκληρη την πλατφόρμα, όχι μόνο τη γωνία.

Πραγματικά σχέδια με 2 κουκίδες με το ZingChart

Είναι η Γωνιακή 2 η σωστή επιλογή για το έργο μου;

Βλέπετε, το Angle 2 χρειάζεται να μάθει πολύ περισσότερο από την προηγούμενη έκδοση. Επίσης περιπλέκει έργα, έτσι τα πρώτα βήματα είναι πιο δύσκολα. Αυτό είναι σε αντίθεση με το δικό μας στο AngularJS. Δεν είναι εύκολο (ή και αδύνατο) να πηδήσετε σε ένα έργο χωρίς να γνωρίζετε τις έννοιες και την εργαλειοθήκη του. Παρόλο που αυτό μπορεί να αλλάξει στο μέλλον, σας συνιστούμε να ξεκινήσετε μόνο τα έργα Γωνίας 2 εάν είστε έμπειρος προγραμματιστής JavaScript.

Έχουμε ήδη αναφέρει πως η γωνία 2 είναι το πρώτο πολιτικό ίδρυμα. Είναι πολύ ισχυρό, αλλά έχει τα μειονεκτήματά του. Το πρόβλημα είναι κυρίως το zon.js, το οποίο εμποδίζει την εκτέλεση των περισσότερων ασύγχρονων λειτουργιών στο πρόγραμμα περιήγησης. Ο υπάρχων κώδικας μπορεί να καταστραφεί αν προσπαθήσετε να το ενσωματώσετε σε άλλο πλαίσιο ή βιβλιοθήκη. Λόγω αυτής της ενόχλησης, πρέπει να είστε πολύ προσεκτικοί (αλλά αυτό είναι δυνατό) όταν προσπαθείτε να ενημερώσετε σταδιακά την εφαρμογή σας που λείπει. Από την άλλη πλευρά, συνιστάται να αναβαθμίσετε την εφαρμογή σας AngularJS (η αναβάθμιση θα είναι χρήσιμη) και θα καλύψουμε αυτό το θέμα αργότερα στο βιβλίο.

Τώρα πρέπει να βεβαιωθείτε ότι υπάρχουν δύο εύκολοι τρόποι για να ξεκινήσετε με τη Γωνία 2:

  • Ενημερώστε το υπάρχον AngularJS 1.5 (βασισμένο σε στοιχεία)
  • Εκκίνηση της εφαρμογής από την αρχή

Μια άλλη καλή ερώτηση είναι: Είναι χρήσιμο αυτό για την ομάδα μου; Είναι σαφές ότι προσπαθούμε να εισαγάγουμε περισσότερα εργαλεία και έννοιες. Στην αρχή του έργου δημιουργούν ένα μικρό φράγμα, αλλά είναι χρήσιμα μακροπρόθεσμα. Επιπλέον, το Angular 2 γίνεται μια λύση για χρήση σε μια μεγάλη κοινότητα. Οι περισσότερες συμβάσεις συμβάλλουν στη διατήρηση ενός εξελιγμένου προγράμματος. Κάνει επίσης το Angular 2 ένα καλύτερο εργαλείο για μακροπρόθεσμα έργα.

Παρακαλώ υποβάλλετε

Σύγκριση των Re AngactJS και ReactJS

☞ Οδηγός για αρχάριους AngularJS