Node.js - Pros & Cons
If you haven’t already, it’s about time you get to know the React Hooks API and use it in your projects.
Τι είναι το Node.js; Κάνει την διαφορά η όχι; Λοιπόν το Node.js είναι ένα open-source, cross-platform runtime environment για server-side και networking applications. Είναι ένα event-driven με non-blocking I/O,που το καθιστά ελαφρύ,αποδοτικό και γρήγορο.Η μηχανή του Node.js είχε φτιαχτεί αρχικά για τον Chrome Browser.Ο V8 engine του Chrome Αναπτύσσεται ραγδαία από την Google στο θέμα της απόδοσης και επειδή το Node.js χρησιμοποιεί τα πλεονεκτήματα που απορρέουν βελτιώνεται κάθε χρόνο. Κατέχει την υψηλότερη θέση στην προτίμηση των προγραμματιστών για να δημιουργήσουν web development projects.
Ας πάμε τώρα να δούμε τα pros και cons.
- ΕΥΚΟΛΟ ΝΑ ΤΟ
ΜΑΘΕΙΣ
Η Javascript είναι μια από της πιο διαδεδομένες γλώσσες προγραμματισμού και είναι εύκολο την μάθεις οπότε κατ’ επέκταση είναι εύκολο Να χρησιμοποιήσεις το Node.js. - ΥΨΗΛΟ PERFORMANCE
Το Node.js προσφέρει υψηλή απόδοση όταν το συγκρίνεις με άλλες server-side scripting languages. - ΜΕΓΑΛΟΣ ΑΡΙΘΜΟΣ ΑΠΟ ΕΡΓΑΛΕΙΑ
- JSON ΥΠΟΣΤΗΡΙΞΗ
Ενώ άλλες backend τεχνολογίες μπορούν να χρησιμοποιήσουν JSON για επικοινωνία το Node.js το κάνει χωρίς μετατρέπει μεταξύ binary models Και χρησιμοποιεί Javascript.
Pros
- ΠΡΟΒΛΗΜΑΤΑ ΜΕ CALLBACK
Εξαιτίας της ασύγχρονης φύσης του εξαρτάται πολύ στα callbacks,Εάν κρατάς έναν μεγάλο αριθμό από tasks στο παρασκήνιο ,το καθένα με δικό του callback,μπορεί να προκαλέσει μεγάλο πρόβλημα στην ποιότητα του κώδικα.
Image source: http://callbackhell.com/ - ΑΣΤΑΘΕΣ API
Άλλο ένα μειονέκτημα του Node.js είναι ότι οι συχνές αλλαγές σε API είναι πολλές φορές ασύμβατες και Εξαιτίας αυτού οδηγούμαστε σε μεγάλες αλλαγές στον κώδικα.
- ΠΟΙΟΤΗΤΑ ΕΡΓΑΛΕΙΩΝ
Εξαιτίας της πλειάδας των εργαλείων στο NPM πολλές φορές οι ποιότητα τους είναι φτωχή.
- ΜΙΚΡΟΤΕΡΗ ΔΥΝΑΤΟΤΗΤΑ ΝΑ ΕΠΕΞΕΡΓΑΣΤΕΙ CPU BOUND TASKS
Το Node.js μπορεί να επεξεργαστεί CPU-intensive tasks αλλά δεν μπορεί να διαχειριστεί μεμονωμένα tasks καλυτέρα από ήδη υπάρχοντα εργαλεία. Αυτό συμβαίνει γιατί σχεδιάστηκε να δουλεύει σε single thread κάτι που σημαίνει ότι μπορεί να χειριστεί μόνο ένα single thread τη φορά.