Η κατάσταση της JavaScript 2018

Ερευνήσαμε πάνω από 20.000 προγραμματιστές JavaScript. Εδώ μας είπαν.

Γράφω αυτές τις γραμμές κάπου ψηλά πάνω από τη Ρωσία, επειδή αποδεικνύεται ότι υπάρχουν άνθρωποι που είναι πρόθυμοι να με πετάξουν στα μισά του κόσμου για ένα συνέδριο, έτσι ώστε να μπορούν να με ακούσουν να μιλούν για τάσεις JavaScript.

Αν με ρωτήσετε, αυτό είναι ένα αρκετά καλό μέτρο για το πόσο δημοφιλής έχει γίνει η έρευνα της κατάστασης JavaScript και, κατ 'επέκταση, πόσο γρήγορα το οικοσύστημα JavaScript συνεχίζει να αυξάνεται.

Φέτος, κάναμε έρευνα για περισσότερους από 20.000 προγραμματιστές JavaScript για να καταλάβουμε τι χρησιμοποιούν, τι είναι ευχαριστημένοι και τι θέλουν να μάθουν. Και το αποτέλεσμα είναι μια μοναδική συλλογή στατιστικών και πληροφοριών που ελπίζουμε ότι θα σας βοηθήσουν να κάνετε το δικό σας τρόπο μέσω του οικοσυστήματος JavaScript.

; Δείτε τα αποτελέσματα

… Ή διαβάστε για να μάθετε περισσότερα για το έργο.

Τι νέο υπάρχει φέτος

Σκοτεινή λειτουργία

Εάν έχετε δει την έρευνα στο παρελθόν, το πρώτο πράγμα που θα παρατηρήσετε είναι πιθανώς το νέο, πιο σκούρο χρώμα. Πιστεύουμε ότι αλλάζει τα πράγματα λίγο, κάνει τα διαγράμματα να γίνονται πιο δημοφιλή και φαίνεται πολύ ωραίο!

Μεμονωμένες σελίδες

Εκτός από την ομαδοποίηση βιβλιοθηκών σε ευρείες ενότητες όπως front-end, back-end και ούτω καθεξής, αποφασίσαμε επίσης να δώσουμε σε κάθε βιβλιοθήκη τη δική της σελίδα. Αυτό καθιστά ευκολότερο να αγνοήσετε δεδομένα που δεν σχετίζονται με εσάς, ενώ εξετάζετε βαθύτερα τα εργαλεία που χρησιμοποιείτε.

Ιστορικά δεδομένα

Επειδή αυτή είναι η τρίτη έκδοση της έρευνας, είμαστε πλέον σε θέση να σας δείξουμε ιστορικά δεδομένα τα τελευταία δύο χρόνια! Αυτό είναι εξαιρετικά χρήσιμο για να δείτε τις πιο μακροπρόθεσμες τάσεις και όχι μόνο ένα παγωμένο στιγμιότυπο στο χρόνο.

Μου αρέσει και δεν μου αρέσει

Αποφασίσαμε να διαθέτουμε λιγότερες βιβλιοθήκες φέτος, αλλά με τη σειρά τους θέτουμε περισσότερες ερωτήσεις παρακολούθησης για καθεμία από αυτές. Έτσι, όχι μόνο σας ρωτήσαμε τι χρησιμοποιείτε, αλλά και γιατί το χρησιμοποιείτε.

Χωρίς CSS

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

Περισσότερα κοινή χρήση

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

Κύριες τάσεις

Σας ενθαρρύνουμε να δείτε τα πλήρη αποτελέσματα, αλλά ίσως βιάζεστε και θέλετε μόνο την ουσία του;

TL; DR: τα πράγματα δεν άλλαξαν τόσο πολύ φέτος.

JavaScript "Γεύσεις"

Καλούμε «γεύσεις» τις διάφορες συνταγές και γλώσσες που μπορούν να μεταγλωττιστούν σε JavaScript, όπως το TypeScript.

Και μιλώντας για TypeScript, είναι ο ξεκάθαρος ηγέτης σε αυτήν την κατηγορία. Στα περισσότερα μέρη, πάνω από το 40% των προγραμματιστών δήλωσαν ότι το είχαν χρησιμοποιήσει και θα το χρησιμοποιούσαν ευτυχώς ξανά, και σε ορισμένες χώρες η αναλογία αυτή ξεπέρασε ακόμη και το 50%.

Πλαίσια διεπαφής

Ακολουθεί ένα γράφημα που απεικονίζει πόσο ικανοποιημένοι είναι οι προγραμματιστές με βιβλιοθήκες front-end έναντι του αριθμού των χρηστών που διαθέτουν:

Όπως μπορείτε να δείτε, μόνο το React έχει τόσο υψηλό λόγο ικανοποίησης όσο και μεγάλη βάση χρηστών, αν και η Vue φτάνει σίγουρα εκεί. Το Angular από την άλλη πλευρά διαθέτει μια μεγάλη βάση χρηστών, αλλά οι χρήστες του δεν φαίνονται πολύ ευχαριστημένοι.

Επίπεδο δεδομένων

Το επίπεδο δεδομένων ομαδοποιεί όλες τις τεχνολογίες που χρησιμοποιούνται για τη μετάδοση και τη διαχείριση δεδομένων. Και ενώ η Redux είναι κυρίαρχη όσον αφορά τους πρώτους αριθμούς, πιστεύουμε ότι η τάση ευνοεί τη GraphQL και τις παρακείμενες τεχνολογίες όπως το Apollo:

Φυσικά, θεωρητικά μπορείτε να χρησιμοποιήσετε το Redux και το GraphQL μαζί, αλλά στην πράξη αυτός ο συνδυασμός ενδέχεται να καταλήξει να αντικατασταθεί από ένα ειδικό εργαλείο GraphQL, όπως η ενσωματωμένη διαχείριση κατάστασης του Apollo.

Για να μάθετε τι συμβαίνει με τις δοκιμές, τα βασικά πλαίσια και πολλά άλλα, διαβάστε τα πλήρη αποτελέσματα!

Η στοίβα

Μπορεί να φαίνεται περίεργο να μιλάμε για μια στοίβα τεχνολογίας για αυτό που είναι, στον πυρήνα του, ένας απλός στατικός ιστότοπος. Αλλά αυτό είναι JavaScript για το οποίο μιλάμε τελικά! Γνωρίζετε λοιπόν ότι τα πράγματα δεν θα είναι ποτέ τόσο απλά!

  • Συλλέξαμε τα δεδομένα χρησιμοποιώντας Typeform. Δημιουργήσαμε το δικό μας εργαλείο γραμμής εντολών για να δημιουργήσουμε έρευνες από τα περιγράμματα YAML μέσω του API τους, το οποίο ήταν μια τεράστια βοήθεια για γρήγορη επανάληψη.
  • Στη συνέχεια, επεξεργαστήκαμε και ομαλοποιήσαμε τα δεδομένα χρησιμοποιώντας το Elasticsearch.
  • Συνδέσαμε τα προκύπτοντα αρχεία JSON στο Gatsby για να δημιουργήσουμε τον ιστότοπο. Χρησιμοποιήσαμε έναν συνδυασμό δυνατοτήτων αναζήτησης δεδομένων Gatsby GraphQL και απλών παλιών importγια να φορτώσουμε τα δεδομένα.
  • Τέλος, δημιουργήσαμε όλα τα γραφήματα χρησιμοποιώντας την εκπληκτική βιβλιοθήκη οπτικοποίησης δεδομένων Nivo.js για το React.

Εάν είστε περίεργοι, ολόκληρο το έργο είναι διαθέσιμο στο GitHub για μαθησιακούς σκοπούς.

Σχετικά με την ομάδα

Σε περίπτωση που είστε περίεργοι ποιος είναι πίσω από την έρευνα:

Sacha Greif (εγώ!)

Δημιούργησα την έρευνα το 2016 για να απαντήσω στις δικές μου ερωτήσεις σχετικά με τις καλύτερες τεχνολογίες που πρέπει να μάθω. Δύο χρόνια αργότερα μαθαίνω ακόμα και προσπαθώ επίσης να επανεπενδύσω όλες αυτές τις πρόσφατα αποκτηθείσες γνώσεις στο δικό μου πλαίσιο JavaScript, Vulcan.js.

Ραφαήλ Μπενίτ

Ο Raphael είναι ο δημιουργός του Nivo, και ένας ειδικός σε όλο τον κόσμο της οπτικοποίησης δεδομένων και του κακού κώλου. Φροντίζει επίσης για όλες τις εργασίες ανάλυσης δεδομένων για την έρευνα.

Μάικλ Ράμπε

Ο Michael είναι ο δημιουργός του BestOfJS, ενός αθροιστή δεδομένων και τάσεων σχετικά με το οικοσύστημα JavaScript. Είναι το τέλειο άτομο για να ρωτήσετε πότε χρειάζεστε δεδομένα σχετικά με κάποια σκοτεινή βιβλιοθήκη JavaScript!

Τι έπεται

Η έναρξη του φετινού ιστότοπου ήταν το αποτέλεσμα της συλλογής, ανάλυσης και παρουσίασης δεδομένων πάνω από δύο μήνες σκληρής δουλειάς. Αλλά υπάρχουν ακόμα πολλά περισσότερα που μπορούμε να κάνουμε.

Για παράδειγμα, θα θέλαμε να διαθέσουμε τον ιστότοπο αποτελεσμάτων σε περισσότερες γλώσσες. Αυτό θα απαιτήσει λίγη εκ νέου μηχανική από την πλευρά μας, καθώς πολλές χορδές είναι επί του παρόντος σκληρά κωδικοποιημένες, αλλά θα πρέπει να είναι δυνατές.

Εάν θέλετε να βοηθήσετε στη μετάφραση του ιστότοπου στη γλώσσα σας, ρίξτε μια ματιά σε αυτό το νήμα του GitHub.

Και με όλη τη δουλειά που έχουμε κάνει, αρχίζουμε να πιστεύουμε ότι μπορεί να είναι καλή ιδέα να επαναχρησιμοποιήσουμε τη ρύθμιση για άλλες έρευνες. Τι θα λέγατε για την κατάσταση του… Turbo Pascal; Ίσως όχι. Αλλά ενημερώστε μας στα σχόλια εάν έχετε οποιεσδήποτε προτάσεις!