Απλοποιώντας εργασίες, όπως διασταύρωση εγγράφων HTML, κινούμενα σχέδια και χειρισμός συμβάντων, η stalwart jQuery JavaScript βιβλιοθήκη άλλαξε το πρόσωπο της ανάπτυξης ιστού. Από τον Μάιο του 2019, το jQuery εξακολουθεί να χρησιμοποιείται στο 74% των γνωστών ιστότοπων, σύμφωνα με τον επιθεωρητή τεχνολογίας Ιστού W3Techs. Ωστόσο, η βιβλιοθήκη jQuery, η οποία έκανε το ντεμπούτο του τον Αύγουστο του 2006, θεωρείται από ορισμένους προγραμματιστές ως παλαιότερη τεχνολογία της οποίας ο χρόνος έχει περάσει.
Εναλλακτικές λύσεις για το jQuery έχουν εμφανιστεί τα τελευταία χρόνια, όπως η βιβλιοθήκη μετρητών ή ακόμη και η μοντέρνα, βανίλια JavaScript, τώρα που όλα τα προγράμματα περιήγησης στο Web χειρίζονται το JavaScript με τον ίδιο τρόπο και το jQuery δεν χρειάζεται πλέον για την επίλυση προβλημάτων συμβατότητας. Τα επιχειρήματα στο Reddit και τα βίντεο στο YouTube καθιστούν το jQuery παρωχημένο ή τουλάχιστον δεν είναι τόσο απαραίτητο όσο ήταν κάποτε.
Γιατί το jQuery δεν χρειάζεται πλέον
Σε μια παρουσίαση στο YouTube, «Το jQuery εξακολουθεί να είναι σχετικό το 2018;», ο εκπαιδευτικός ανάπτυξης ιστού Brad Traversy αναγνωρίζει ότι το jQuery είναι πιθανώς η καλύτερη γενικευμένη βιβλιοθήκη JavaScript που δημιουργήθηκε ποτέ. Είναι εύκολο να μάθετε, συμβατό με προγράμματα περιήγησης, πιο περιεκτικό από το παλαιότερο JavaScript βανίλιας και πλούσιο σε προσθήκες που προσφέρουν συγκεκριμένη λειτουργικότητα. Αλλά η JavaScript έχει προχωρήσει πολύ από το ECMAScript 6 και το jQuery δεν χρειάζεται πλέον σε πολλές περιπτώσεις, καταλήγει ο Traversy.
Σε ένα άλλο βίντεο, ο εκπαιδευτικός κωδικοποίησης Kenneth Lowrey υποστηρίζει ότι η ευχέρεια στο jQuery είναι χάσιμο χρόνου. Στο τρέχον τοπίο ανάπτυξης ιστού, τα σύγχρονα προγράμματα περιήγησης χειρίζονται το ίδιο το JavaScript, ως επί το πλείστον. Στις περισσότερες περιπτώσεις, ο εγγενής κώδικας JavaScript είναι καλύτερος από μια «φουσκωμένη βιβλιοθήκη παλαιού τύπου όπως το jQuery», λέει.
Ενώ το jQuery ήταν η επιλογή για την υποβολή αιτημάτων HTTP, για παράδειγμα, το ECMAScript 6 παρουσίασε το Fetch, ένα API που έχει υποσχεθεί και διευκολύνει τις αιτήσεις HTTP. Και η πρόοδος δεν σταματά με HTTP. Όπου το jQuery διαθέτει βοηθητικά προγράμματα για εργασίες όπως χειρισμός συστοιχιών, το JavaScript της vanilla έχει πλέον βελτιωμένα καταλύματα και για αυτές τις λειτουργίες.
Τα κινούμενα σχέδια είναι ακόμα πιο δύσκολα με το JavaScript βανίλιας από το jQuery, αλλά υπάρχουν και άλλες επιλογές όπως μεταβάσεις CSS ή βασικά καρέ, επισημαίνει ο Traversy. Η βιβλιοθήκη GreenSock τρίτου μέρους μπορεί επίσης να χρησιμοποιηθεί για κινούμενες εικόνες. Για χειρισμό DOM, μια εργασία που κάποτε διέπεται από το jQuery, τα εγγενή API του προγράμματος περιήγησης έχουν κλείσει το κενό.
Για εργασίες που δεν μπορούν να γίνουν σε JavaScript βανίλιας, η Traversy προτείνει εξειδικευμένες βιβλιοθήκες, αντί για μια γενικευμένη βιβλιοθήκη όπως το jQuery. Η Traversy συνιστά επίσης τη χρήση πλαισίων JavaScript όπως React, Angular ή Vue για μεσαίου μεγέθους και μεγάλες εφαρμογές. Η Traversy συνιστά ακόμα το jQuery για χρήση σε απλούς ιστότοπους χωρίς πλαίσιο.
εναλλακτικές λύσεις jQuery
Τι πρέπει να χρησιμοποιήσετε αντί του jQuery; Εκτός από τη σύγχρονη, βανίλια JavaScript, μια σύντομη λίστα εναλλακτικών λύσεων jQuery περιλαμβάνει τα Cash, Zepto και Syncfusion Essential JS 2. Το Cash και το Zepto είναι βιβλιοθήκες JavaScript ανοιχτού κώδικα που διατίθενται με άδεια MIT. Το Syncfusion Essential JS 2 είναι ένα εμπορικό προϊόν.
Μετρητά
Το Cash έχει περισσότερα από 3.570 αστέρια στο GitHub. Με τιμολόγηση ως «παράλογα μικρή εναλλακτική λύση jQuery» για τα σύγχρονα προγράμματα περιήγησης, η Cash έχει μια σύνταξη τύπου jQuery για χειρισμό του DOM και καταλαμβάνει 32 KB χώρου, χωρίς συμπίεση. Το Cash υποστηρίζει δυνατότητες, όπως εκδηλώσεις με χώρο ονομάτων, τύπους TypeScript και σύγχρονες κατασκευές. Μπορείτε να κατεβάσετε μετρητά από το GitHub.
Ζέπτο
Το Zepto περιγράφεται ως «μια μινιμαλιστική βιβλιοθήκη JavaScript με ένα σε μεγάλο βαθμό συμβατό με το jQuery API». Οι προγραμματιστές που γνωρίζουν το jQuery γνωρίζουν ήδη πώς να χρησιμοποιούν το Zepto, λένε οι κατασκευαστές του. Το Zepto ισχυρίζεται ότι είναι πολύ μικρότερο και ταχύτερη φόρτωση από το jQuery και μπορεί να λειτουργήσει με το σύνολο εργαλείων PhoneGap για προγράμματα περιήγησης για κινητά και επιτραπέζιους υπολογιστές. Μπορείτε να κατεβάσετε το Zepto από τον ιστότοπο του έργου.
Syncfusion Essential JS 2
Το Syncfusion Essential JS 2 είναι μια βιβλιοθήκη ελέγχων διεπαφής διεπαφής χρήστη με άδεια χρήσης εμπορικής χρήσης γραμμένη σε TypeScript. Λειτουργώντας ως εναλλακτική λύση για τη βιβλιοθήκη jQuery UI, το Syncfusion έχει σχεδιαστεί για να είναι μια βιβλιοθήκη με χαμηλή επιβάρυνση, ελαφριά και αρθρωτή για τη βελτίωση των εφαρμογών ιστού. Το Syncfusion υποστηρίζει πλαίσια συμπεριλαμβανομένων των Angular, React και Vue. Μπορείτε να αγοράσετε το Syncfusion Essential JS 2 ή να κατεβάσετε μια δωρεάν δοκιμή από τον ιστότοπο του Syncfusion. Πλήρης πηγαίος κώδικας, αρχεία δοκιμής μονάδας, δοκιμαστικά σενάρια και ζωντανές επιδείξεις είναι διαθέσιμα στο GitHub.