Έκδοση Deno JavaScript Platform 1.16

Κυκλοφόρησε η πλατφόρμα JavaScript Deno 1.16, σχεδιασμένη για αυτόνομη εκτέλεση (χωρίς χρήση προγράμματος περιήγησης) εφαρμογών γραμμένων σε JavaScript και TypeScript. Το έργο έχει αναπτυχθεί από τον συγγραφέα του Node.js, Ryan Dahl. Ο κώδικας της πλατφόρμας είναι γραμμένος στη γλώσσα προγραμματισμού Rust και διανέμεται με την άδεια MIT. Οι έτοιμες εκδόσεις προετοιμάζονται για Linux, Windows και macOS.

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

  • Χρήση της Rust ως κύριας γλώσσας, η οποία, σύμφωνα με τους προγραμματιστές, μειώνει τον κίνδυνο τρωτών σημείων που σχετίζονται με τη διαχείριση μνήμης χαμηλού επιπέδου (υπερχείλιση buffer, χρήση μετά τη δωρεάν κ.λπ.).
  • Το Deno δεν χρησιμοποιεί τη διαχείριση πακέτων npm και το package.json, ζητώντας από τον χρήστη να εγκαταστήσει λειτουργικές μονάδες καθορίζοντας μια διεύθυνση URL ή διαδρομή προς τη λειτουργική μονάδα που πρόκειται να εγκατασταθεί. Ωστόσο, το έργο προσφέρει πολλά βοηθητικά προγράμματα για την απλοποίηση της εργασίας με ενότητες τρίτων.
  • Οι εφαρμογές εκτελούνται χωριστά σε sandbox και δεν έχουν πρόσβαση στο δίκτυο, στις μεταβλητές περιβάλλοντος και στο σύστημα αρχείων, χωρίς ρητά παραχωρημένες άδειες.
  • Η αρχιτεκτονική παρέχει τη δυνατότητα δημιουργίας καθολικών εφαρμογών ιστού που μπορούν να λειτουργήσουν τόσο στο σύστημα Deno όσο και σε ένα κανονικό πρόγραμμα περιήγησης.
  • Χρησιμοποιώντας "Ενότητες ES" και έλλειψη υποστήριξης απαιτήσεων()
  • Τυχόν σφάλματα σε μια εφαρμογή Ιστού που δεν χειρίζεται ο προγραμματιστής οδηγούν σε αναγκαστικό τερματισμό της.
  • Υποστήριξη TypeScript εκτός από JavaScript.
  • Το πλήρες μέγεθος της έτοιμης προς χρήση πλατφόρμας είναι 84 MB (σε αρχείο zip - 31 MB) με τη μορφή ενός μόνο εκτελέσιμου αρχείου.
  • Το κιτ προσφέρει ένα σύστημα επίλυσης εξαρτήσεων και μορφοποίησης κώδικα.
  • Εστίαση σε εφαρμογές υψηλής απόδοσης.

Το Dino επεξεργάζεται αιτήματα με μη αποκλειστικό τρόπο χρησιμοποιώντας την πλατφόρμα Tokio, σχεδιασμένη για τη δημιουργία εφαρμογών υψηλής απόδοσης με βάση την αρχιτεκτονική που βασίζεται σε συμβάντα. Είναι επίσης ενδιαφέρον ότι ο ενσωματωμένος διακομιστής HTTP της Deno υλοποιείται σε TypeScript πάνω από εγγενείς υποδοχές TCP, κάτι που έχει θετική επίδραση στην απόδοση των λειτουργιών δικτύου.

Η νέα έκδοση σημειώνει:

  • Βελτιστοποίηση απόδοσης (4 ενημερώσεις κώδικα).
  • Διορθώθηκαν περισσότερα από 15 σφάλματα, συγκεκριμένα, ο πελάτης TLS υποστηρίζει πλέον HTTP/2, το υποσύστημα κωδικοποίησης υποστηρίζει πρόσθετα σημάδια κωδικοποίησης κ.λπ.
  • Περισσότερες από δύο δωδεκάδες καινοτομίες, από τις οποίες μπορούμε να σημειώσουμε τη σταθεροποίηση των υποσυστημάτων Deno.startTls και Deno.TestDefinition.permissions που είχαν δοκιμαστεί στο παρελθόν, την ενημέρωση του κινητήρα V8 JS στην έκδοση 9.7 και την υποστήριξη μετασχηματισμών React 17 JSX.

Πηγή: opennet.ru

Προσθέστε ένα σχόλιο