Trending Web Technologies που θα ακολουθήσουν το 2019

Ο κόσμος της ανάπτυξης ιστού αλλάζει συνεχώς και αποτελεί πρόκληση να παρακολουθούμε στενά όλα όσα συμβαίνουν. Ποια πλαίσια θα εξακολουθήσουν να είναι σχετικά το επόμενο έτος; Και ποια γλώσσα προγραμματισμού είναι η πιο κατάλληλη για την εφαρμογή ιστού σας; Ας συζητήσουμε έξι ενδιαφέρουσες τεχνολογίες για την ανάπτυξη ιστού.

Σε αυτό το άρθρο, διακρίνουμε μεταξύ τεχνολογίας front-end και back-end. Ξεκινάμε με τρία πλαίσια ανάπτυξης front-end και μετά συζητάμε τρία πλαίσια ανάπτυξης back-end.

Πλαίσια μπροστινού άκρου

1. React.js

Με το React.js, οι προγραμματιστές μπορούν να δημιουργήσουν επαναχρησιμοποιήσιμα στοιχεία, το καθένα με τη δική τους «κατάσταση». Εάν ένα στοιχείο πρέπει να ενημερωθεί στη σελίδα (για παράδειγμα, ο χρήστης κάνει κλικ σε ένα κουμπί like), μόνο αυτό το ένα μέρος τροποποιείται από το React (ο αντίχειρας ανεβαίνει) χωρίς να χρειάζεται να ανανεώσει ολόκληρη τη σελίδα.

Το React χρησιμοποιεί ένα «εικονικό DOM» για αυτό. Πρόκειται για μια αναπαράσταση μιας διεπαφής χρήστη που είναι αποθηκευμένη στη μνήμη και συγχρονίζεται συνεχώς με το "πραγματικό" DOM. Δεν έχει σημασία ποιο πρόγραμμα περιήγησης χρησιμοποιείτε, το εικονικό DOM του React θα αποδίδεται πάντα πιο γρήγορα επειδή λειτουργεί με πιο αποτελεσματικό τρόπο.

Μεγάλες εταιρείες όπως η Airbnb και η Netflix χρησιμοποιούν το React.js εδώ και αρκετά χρόνια, και βλέπουμε ότι η τεχνολογία αγκαλιάζεται από όλο και περισσότερες εταιρείες. Το ενδιαφέρον για το React μεταξύ των προγραμματιστών είναι τεράστιο και αυτό το καθιστά μια τεχνολογία που θα κερδίσει δημοτικότητα μόνο τα επόμενα χρόνια.

Εκτός από το React υπάρχει επίσης το React Native, ένα πλαίσιο που καθιστά δυνατή την ανάπτυξη εφαρμογών για κινητά τόσο για iOS όσο και για Android με μόνο ένα σύνολο πηγαίου κώδικα. Το πλαίσιο έχει την ίδια τεχνική βάση με το React και με αυτό, ξαφνικά έγινε πολύ πιο εύκολο για τους προγραμματιστές ιστού να αναπτύξουν εφαρμογές για κινητά εκτός από ιστότοπους και εφαρμογές ιστού και αυτό ήταν μια ενδιαφέρουσα εξέλιξη για τις εταιρείες.

2. Vue.js

Ένας άλλος σημαντικός νεοεισερχόμενος στην ανάπτυξη front-end είναι το Vue.js, το πλαίσιο Javascript με την ταχύτερα αναπτυσσόμενη και ίσως την πιο ενθουσιώδη κοινότητα προγραμματιστών αυτή τη στιγμή. Με πολύ λεπτομερή τεκμηρίωση και σχετικά χαμηλή καμπύλη μάθησης, το Vue.js είναι η κατάλληλη επιλογή όταν θέλετε να πειραματιστείτε με ένα νέο πλαίσιο ως προγραμματιστής.

Λόγω της ομοιότητας του React και του Angular ως προς την αρχιτεκτονική, είναι μια εύκολη μετάβαση από άλλα πλαίσια. Αγαπημένο για το μικρό του μέγεθος (μόνο 20KB), την ταχύτητα και την ευελιξία, το Vue.js προσφέρει ακόμη καλύτερη απόδοση σε σύγκριση με άλλα πλαίσια frontend

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

3. jQuery

Τι γίνεται όμως με το jQuery; Λοιπόν, φαίνεται ότι η κοινότητα προγραμματιστών απομακρύνεται αργά από την πιο διάσημη βιβλιοθήκη JavaScript. Ένας από τους λόγους μπορεί να είναι ότι το jQuery δεν ταιριάζει καλά με νεότερες βιβλιοθήκες όπως το React. Τα σύγχρονα προγράμματα περιήγησης υποστηρίζουν επίσης πολλές λειτουργίες τύπου jQuery, οι οποίες σε πολλές περιπτώσεις καθιστούν το jQuery περιττό. Για αυτόν τον λόγο, βλέπουμε ότι είναι πολύ περισσότερη χρήση καθαρής JavaScript. Για παράδειγμα, το GitHub ανακοίνωσε πρόσφατα ότι είχε αντικαταστήσει όλα τα jQuery με καθαρή JavaScript.

Το jQuery μπορεί να μην είναι πάντα η πρώτη επιλογή κατά την έναρξη ενός νέου έργου, με 300.000 λήψεις την ημέρα, εξακολουθούσε να έχει καλή ανάπτυξη 300% σε σύγκριση με τις αρχές του 2017. Ίσως ακόμη πιο εκπληκτικό: το 90% των κορυφαίων 500.000 ιστότοπων εξακολουθούν να χρησιμοποιούν jQuery! Αυτό δείχνει ότι μια βιβλιοθήκη δεν πρέπει απαραίτητα να είναι καινούργια και δροσερή για να παραμείνει σχετική. Η επιλογή χρήσης συγκεκριμένης βιβλιοθήκης εξαρτάται εξ ολοκλήρου από τον τύπο του έργου για το οποίο θέλετε να το χρησιμοποιήσετε.

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

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

Backend-Frameworks

4. Κότλιν

Μια γλώσσα προγραμματισμού που έχει αυξηθεί πάρα πολύ στη δημοτικότητα τα τελευταία χρόνια είναι το Kotlin. Είναι μια σύγχρονη εναλλακτική λύση για την Java που είναι εύκολο να μάθει. Η γλώσσα ανοιχτού κώδικα άρχισε να αναπτύσσεται ειδικά πέρυσι όταν η Google ανακοίνωσε ότι ήταν επίσημα υποστηριζόμενη γλώσσα για το Android. Πολλές εταιρείες άρχισαν να γράφουν τις εφαρμογές τους Android με το Kotlin, όπως το Slack και το Netflix. Ο Rob Fletcher, ανώτερος προγραμματιστής λογισμικού στο Netflix, έγραψε:

"Το Kotlin δεν είναι επαναστατικό, αλλά αισθάνεται σαν μια πολύ προσεκτική συγχώνευση μερικών από τα καλύτερα χαρακτηριστικά άλλων γλωσσών."

Είναι ενδιαφέρον να δούμε, όπως έδειξε μια έρευνα του Pusher, ότι το Kotlin χρησιμοποιήθηκε κυρίως από έμπειρους προγραμματιστές τα πρώτα χρόνια (από το 2011), αλλά από την ανακοίνωση της Google, οι νέοι προγραμματιστές, ειδικά οι μαθητές, προκαλούν το τεράστιο ανάπτυξη. Επιπλέον, δεν προκαλεί έκπληξη το γεγονός ότι οι περισσότεροι προγραμματιστές χρησιμοποιούν τώρα το Kotlin για τη δημιουργία εφαρμογών Android, παρόλο που μπορεί επίσης να χρησιμοποιηθεί για την ανάπτυξη εφαρμογών back-end ή διακομιστή.

5. Ελιξίριο και Φοίνιξ

Το Phoenix, ενσωματωμένο στη λειτουργική γλώσσα προγραμματισμού Elixir, είναι ένα σχετικά νέο πλαίσιο για το οποίο συζητείται όλο και περισσότερο στην κοινότητα προγραμματιστών. Ένας από τους λόγους για τους οποίους οι προγραμματιστές ενδιαφέρονται τόσο πολύ για το Phoenix είναι επειδή είναι γνωστός για τη γρήγορη απόδοσή του. Για παράδειγμα, η επεξεργασία ενός μεγάλου αιτήματος JSON, η οποία διαρκεί περίπου 1,5 δευτερόλεπτο στο Rails, κοστίζει μόνο 400 ms στο Phoenix.

Παραμένει σημαντικό να ελέγξετε εάν μια τεχνολογία είναι κατάλληλη για τον τύπο του έργου στο οποίο θέλετε να την εφαρμόσετε. Για παράδειγμα, το Elixir και το Phoenix είναι ισχυρά σε εφαρμογές σε πραγματικό χρόνο, στις οποίες πολλές συνδέσεις πρέπει να υποβάλλονται σε επεξεργασία ταυτόχρονα (για παράδειγμα εφαρμογές συνομιλίας). Αλλά για εφαρμογές που απαιτούν πολλή υπολογιστική ισχύ, το Elixir θα μπορούσε να είναι λιγότερο κατάλληλο.

Ο αριθμός των προγραμματιστών του Elixir είναι προς το παρόν αρκετά περιορισμένος. Το Elixir και το Phoenix είναι σχετικά νέα και δεν υπάρχουν πολλές εταιρείες που συνεργάζονται ανοιχτά με το πλαίσιο. Αυτό σίγουρα μπορεί να αλλάξει στο μέλλον και αυτός είναι ο λόγος για τον οποίο πρέπει να παρακολουθείτε στενά το Elixir και το Phoenix.

6. GraphQL

Μπορεί να έχετε ακούσει για το GraphQL, μια γλώσσα ερωτήματος ανοιχτού κώδικα που αναπτύχθηκε από το Facebook και έναν από τους πιο σύγχρονους τρόπους δημιουργίας API. Η δημοτικότητα της GraphQL αυξάνεται ραγδαία και μεγάλες εταιρείες όπως το Twitter, το Shopify και το Amazon έχουν ήδη αρχίσει να εργάζονται με την τεχνολογία.

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

Αυτό είναι χρήσιμο όταν η εφαρμογή περιέχει πολλά ένθετα μοντέλα και συσχετισμούς. Το GraphQL βοηθά, για παράδειγμα κατά την ανάπτυξη εφαρμογών για κινητά, να φορτώνει μόνο τα σχετικά δεδομένα και, συνεπώς, να μειώνει το φορτίο στο δίκτυο κινητής τηλεφωνίας. Η GraphQL φροντίζει πολλά από τα γενικά API REST και προσφέρει οφέλη τόσο στο backend όσο και στο frontend.

συμπέρασμα

Ως προγραμματιστής, είναι σημαντικό να ενημερώνεστε όσο το δυνατόν περισσότερο με τις τρέχουσες τεχνολογικές εξελίξεις. Πρέπει να εξετάσετε τις ευκαιρίες, αλλά επίσης να λάβετε υπόψη τους πιθανούς κινδύνους που συνεπάγεται η νέα τεχνολογία. Ο τακτικός πειραματισμός με διαφορετικά πλαίσια βοηθάει να βιώσετε τα πιθανά οφέλη, αλλά και τους περιορισμούς.

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

Ευχαριστώ για την ανάγνωση! Ελπίζω ότι οι πληροφορίες ήταν χρήσιμες. Ακολουθήστε με στο Medium για περισσότερα άρθρα σχετικά με την τεχνολογία ή στο Twitter και Instagram @jakeprins_nl.