Η λήψη νέων πλαισίων και βιβλιοθηκών συνεχώς είναι κάτι για το οποίο φημίζεται η JavaScript. Τον Ιούλιο του 2022 το οικοσύστημα υποδέχθηκε ένα νέο μέλος: το Bun.js. Εδώ, θα ρίξουμε μια ματιά στο Bun.js και θα δούμε πώς επηρεάζει το ευρύτερο οικοσύστημα JavaScript.
Τι είναι το Bun.js;
Κουλουράκι ορίζεται ως "ένας γρήγορος χρόνος εκτέλεσης JavaScript all-in-one". Είναι το τρίτο του είδους του μετά το Node.js και το Deno.js, που δημιουργήθηκε από τον Jarred Sumner χρησιμοποιώντας τη γλώσσα προγραμματισμού Zig.
Ο κύριος στόχος του είναι να παρέχει μια πλατφόρμα για την εκτέλεση JavaScript εκτός του προγράμματος περιήγησης, όπως το Node.js και το Deno.js, αλλά το Bun προχωρά για να παρέχει νέα επίπεδα ταχύτητας και βελτιωμένη πολυπλοκότητα.
Πώς εξελίχθηκε η JavaScript
Η JavaScript κατασκευάστηκε αρχικά για να τρέχει μόνο μέσα σε προγράμματα περιήγησης, που τροφοδοτούνται από μηχανές όπως το SpiderMonkey και το V8. Το 2009, ο Ryan Dahl ενσωμάτωσε τον V8 κινητήρα σε ένα πρόγραμμα C++ το οποίο ονόμασε Node.js. Η JavaScript, από τότε έγινε σχετική για διάφορες χρήσεις, όπως εφαρμογές διακομιστή και σε πραγματικό χρόνο.
Οι υποσχέσεις και οι λειτουργικές μονάδες ES είναι παραδείγματα σύγχρονων λειτουργιών JavaScript που δεν υπήρχαν όταν δημιουργήθηκε το Node.js. Ο Ryan έδωσε επίσης μια ομιλία το 2018 για πράγματα που μετάνιωσε για το Node.js. Οι τύψεις του ενέπνευσαν τη δημιουργία του Deno.js που κυκλοφόρησε το 2020.
Το Deno είναι ένα εκτελέσιμο αρχείο κατασκευασμένο με Rust που στοχεύει στην αντιμετώπιση όλων των ελαττωμάτων του Node, όπως η ασφάλεια, η απόδοση και η εγγενής υποστήριξη TypeScript. Είναι σημαντικά πιο γρήγορο και ασφαλές από το Node και συνοδεύεται από εργαλεία που λείπουν στο Node.js.
Ωστόσο, η Deno δεν έχει κερδίσει τη μαζική υιοθέτηση που αναμένεται ακόμη και μετά από τέσσερα χρόνια κυκλοφορίας, καθώς τα περισσότερα σύγχρονα συστήματα βασίζονται ήδη σε Node και η αλλαγή μπορεί να είναι οδυνηρή για τους προγραμματιστές. Πρέπει να ξαναγράψω τα περισσότερα npm Τα πακέτα για την υποστήριξη της Deno αμφισβητούν επίσης την υιοθέτησή της.
Τον Ιούλιο του 2022, εμφανίστηκε ένας νέος χρόνος εκτέλεσης σε beta -- "Bun.js" -- το οποίο ήταν ένα δημοφιλές θέμα εντός και εκτός της κοινότητας JavaScript. Η διαλειτουργικότητα με το Node.js και η απόδοση υψηλής ταχύτητας που ισχυρίζεται ότι προσφέρει ήταν το επίδειξη. Έχει επίσης εγείρει συζητήσεις ότι τελικά υπάρχει ένας "Κόμβος-καταστροφέας" γύρω.
Πώς συγκρίνεται το Bun.js με το Node.js και το Deno.js;
Το Node, το Deno και το Bun είναι όλοι χρόνοι εκτέλεσης για JavaScript εκτός του προγράμματος περιήγησης, αυτό δεν εξουδετερώνει τις διαφορές μεταξύ τους.
Το Node.js γράφτηκε σε C++, το Deno σε Rust και το Bun σε Zig. «Ο έλεγχος χαμηλού επιπέδου στη μνήμη και η έλλειψη κρυφής ροής ελέγχου στο Zig διευκολύνουν τη σύνταξη γρήγορου λογισμικού» αναφέρει ο ιστότοπος του Bun.
Ενώ το Node και το Deno τρέχουν και τα δύο τον κινητήρα V8 της Google, το Bun αξιοποιεί την απόδοση «γρήγορης εκκίνησης» του Webkit JavaScriptCore κινητήρα που χρησιμοποιεί το Safari της Apple. Τα αποτελέσματα συγκριτικής αξιολόγησης από τον ιστότοπο δείχνουν πώς το Bun κερδίζει τόσο το Node όσο και το Deno σε απόδοση, λειτουργώντας τουλάχιστον 3 φορές πιο γρήγορα από τους δύο χρόνους εκτέλεσης.
Το Bun έχει ενσωματωμένο npm (Διαχείριση πακέτων κόμβου) που κάνει την εγκατάσταση πακέτων από npm εύκολη και γρήγορη (20 φορές την ταχύτητα στο Node), υποστηρίζει επίσης TypeScript και μετατρέπει αυτόματα αρχεία TS και JSX. Άλλα συναρπαστικά χαρακτηριστικά του Bun περιλαμβάνουν ένα ενσωματωμένο πρόγραμμα-πελάτη SQLite3, web API όπως το fetch και το WebSocket, η αυτόματη φόρτωση μεταβλητών περιβάλλοντος και ένας δοκιμαστικός δρομέας.
Και από τα τρία, ο Bun παίρνει την τούρτα για παράσταση. Το Node παραμένει το πιο σταθερό με πολύ μεγάλη κοινότητα, ενώ το Deno είναι αυτή τη στιγμή το πιο ασφαλές.
Το Bun.js θα επηρεάσει πραγματικά το οικοσύστημα;
Το οικοσύστημα είναι ενθουσιασμένο από την κυκλοφορία του Bun. Είναι αποδεκτό ότι η διαφημιστική εκστρατεία γύρω από τον Bun ήταν τεράστια από την ανακοίνωση. Είναι απολύτως τόσο μεγάλη υπόθεση. Οι προγραμματιστές JavaScript θα το λάτρευαν πραγματικά, λαμβάνοντας υπόψη την "καταπληκτική" ταχύτητα και τα ισχυρά εργαλεία για παραγωγικότητα.
Επί πλέον, Διακομιστής Discord του Bun έχει ήδη πάνω από 2000 μέλη, γεγονός που αποδεικνύει τον ενθουσιασμό στην κοινότητα για αυτή τη νέα τεχνολογία.
Ποιο είναι το μέλλον των Node.js, Deno.js και Bun.js;
Το JavaScript δεν θα εξαφανιστεί σύντομα. Στην πραγματικότητα, είναι μια από τις τεχνολογίες που είμαστε βέβαιοι ότι θα υπάρχει ακόμα σε 10 χρόνια από τώρα. Οι Node, Deno και Bun έχουν επίσης μέλλον.
Ο κόμβος εξακολουθεί να ενημερώνεται τακτικά, έκδοση 18.0 μόλις κυκλοφόρησε πρόσφατα, επομένως το μέλλον του παραμένει ανέπαφο ακόμα και με τον Deno και τον Bun τριγύρω. Πολλές εταιρείες όπως το PayPal χρησιμοποιούν το Node στις υποδομές τους και ακόμη και νέες startup ακολουθούν το παράδειγμά τους.
Η περίπτωση είναι παρόμοια με την Deno, η οποία αναπτύσσεται ενεργά και μεγαλώνει. Η Deno προχωρά επίσης σε μια λύση SaaS για την παροχή διαχειριζόμενων υπηρεσιών χρόνου εκτέλεσης JavaScript.
Το Bun.js εξακολουθεί να είναι ασταθές και έχει περιορισμένη υποστήριξη (χρειάζεστε Υποσύστημα Windows για Linux για να το τρέξετε στα Windows). Αν και έχει τόσες πολλές δυνατότητες, δεν μπορεί να είναι μια επιλογή για λογισμικό έτοιμο για παραγωγή τώρα, καθώς υπάρχει ακόμη πολλή δουλειά να γίνει σε αυτό.
Ενώ το μέλλον είναι σίγουρα πολλά υποσχόμενο για τον Bun, είναι λογικό να πιστεύουμε ότι αυτές οι τρεις τεχνολογίες πιθανότατα θα καταλήξουν να συνυπάρχουν στο οικοσύστημα, όχι η μία να αντικαθιστά την άλλη.
Το Bun.js μπορεί να είναι ένα παιχνίδι αλλαγής
Με το Bun, πολλά πράγματα μπορεί να βελτιωθούν σχετικά με το JavaScript. Είναι μάλλον καιρός η JavaScript να αποκτήσει καλύτερη υιοθέτηση σε κρίσιμα για την απόδοση πεδία όπως το AI/ML, η ανάπτυξη παιχνιδιών κ.λπ. Κατευθυνθείτε προς το Κουλούρι.sh ιστοσελίδα για να μάθετε πώς να εγκαταστήσετε και να ξεκινήσετε την ανάπτυξη με το Bun.