Εισαγωγή στο ExpressJS [+6 Learning Resources]

Το ExpressJS είναι ένα μινιμαλιστικό και ευέλικτο πλαίσιο web Node.js που προσφέρει ένα σύνολο λειτουργιών τόσο για κινητές συσκευές όσο και για εφαρμογές web.

Αυτό το πλαίσιο web ανοιχτού κώδικα αναπτύχθηκε από τον TJ Holowaychuk. Το ExpressJS διατηρείται από το Node.js Foundation.

Γιατί ExpressJS;

Η ExpressJS προσφέρει απλά API για να βοηθήσει τους προγραμματιστές να δημιουργήσουν back-ends, εφαρμογές ιστού και ιστότοπους. Αυτό το web πλαίσιο είναι επομένως συγκρίσιμο με το Django της Python και το Ruby’s Rails.

Ωστόσο, σε αντίθεση με το Django και το Rails, που έχουν έναν ευνοϊκό τρόπο δημιουργίας API/εφαρμογών, το ExpressJS είναι πολύ ευέλικτο και συνδέεται, καθώς δεν έχει τον «καλύτερο τρόπο» να κάνει πράγματα.

Συνοψίζοντας, αυτοί είναι οι λόγοι για τους οποίους πρέπει να χρησιμοποιήσετε το ExpressJS.

  • Εύκολη δημιουργία API και διαδικτυακών εφαρμογών.
  • Τα API του είναι ισχυρά, καθιστώντας εύκολη τη δρομολόγηση
  • Ασύγχρονη και μονόκλωστη

Χαρακτηριστικά του ExpressJS

#1. Μέρος της Στοίβας MEAN

Η JavaScript παραμένει μια από τις πιο δημοφιλείς γλώσσες προγραμματισμού καθώς διαθέτει πλαίσια που μπορούν να χρησιμοποιηθούν τόσο στο Frontend όσο και στο πίσω μέρος μιας εφαρμογής full-stack.

Ορισμένοι προγραμματιστές Javascript χρησιμοποιούν MEAN, τη σύντομη μορφή των MongoDB, Express, Node. js και AngularJS για τη δημιουργία εφαρμογών πλήρους στοίβας. Ορισμένοι προγραμματιστές προτιμούν το Reactjs και χρησιμοποιούν τη στοίβα MERN (MongoDB, Express, Node. js και Reactjs). Και στις δύο επιλογές, το Expressjs παραμένει σταθερό.

#2. Ευέλικτο και γρήγορο

Δεν χρειάζεται να κυριαρχήσετε πολλά διαφορετικά μέρη ενός μεγαλύτερου πλαισίου, καθώς το ExpressJS έχει σχεδιαστεί για να είναι μινιμαλιστικό. Η παρουσία ενός εξαιρετικού συστήματος δρομολόγησης, η άμεση διαπραγμάτευση περιεχομένου και τα ενδιάμεσα προγράμματα το καθιστούν γρήγορο.

#3. Κλιμακούμενος

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

  C εναντίον C++: Διαφορές και ομοιότητες

#4. Παρουσία ενδιάμεσου λογισμικού

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

#5. Ισχυρό σύστημα δρομολόγησης

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

Αρχιτεκτονική της ExpressJS

Πίστωση εικόνας: turing.com

Μια εφαρμογή Express θα έχει τα ακόλουθα στοιχεία:

  • Εξαρτήσεις. Το ExpressJS από μόνο του είναι μια εξάρτηση. Μπορείτε να εγκαταστήσετε τις άλλες εξαρτήσεις χρησιμοποιώντας την εντολή npm.
  • Middleware. Το Middleware σε μια ρύθμιση ExpressJS είναι η συνάρτηση που καθορίζει τον κύκλο αιτήματος/απόκρισης.
  • Στιγμιότυπα. Αυτές είναι απλώς δηλώσεις που χρησιμοποιούνται για τη δημιουργία ενός αντικειμένου.
  • Διαμορφώσεις. Οι διαμορφώσεις είναι προσαρμοσμένες ρυθμίσεις που βασίζονται σε εφαρμογές που ορίζονται μετά από εφαρμογές ή σε ξεχωριστό αρχείο
  • Διαδρομές. Οι διαδρομές είναι τα τελικά σημεία που χρησιμοποιούν οι πελάτες για να προσεγγίσουν διάφορους πόρους ή να εκτελέσουν ορισμένες ενέργειες που ορίζονται από τον διακομιστή.
  • Διακομιστής εκκίνησης. Η συνάρτηση app.listen() εκτελείται για την εκκίνηση του διακομιστή ανάπτυξης.

Ξεκινώντας: ExpressJS

Το ExpressJS εκτελείται στο Node.js, πράγμα που σημαίνει ότι πρέπει να το εγκαταστήσετε στον υπολογιστή σας.

Χρειάζεστε επίσης το Node Package Manager (npm) για να διαχειριστείτε όλες τις εξαρτήσεις στο περιβάλλον ανάπτυξης σας.

Μπορείτε να εγκαταστήσετε το Node μέσω της επίσημης ιστοσελίδας του με βάση το λειτουργικό σας σύστημα.

Μόλις τελειώσετε, εκτελέστε αυτές τις δύο εντολές για να βεβαιωθείτε ότι έχουν εγκατασταθεί το node και το npm, αντίστοιχα.

node --version
npm --version

Εγκαταστήστε το ExpressJS

Ακολουθήστε αυτά τα βήματα

  • Δημιουργήστε μια απλή εφαρμογή ExpressJS. Μπορείτε να το δημιουργήσετε χειροκίνητα ή να χρησιμοποιήσετε αυτές τις εντολές
mkdir myapp
cd myapp
  • Δημιουργήστε ένα αρχείο package.json χρησιμοποιώντας αυτήν την εντολή
npm init
  • Αποδεχτείτε τις εντολές με βάση τις προτροπές που παρέχονται. Ωστόσο, αλλαγή? το σημείο εισόδου: (index.js) στο app.js
  • Εγκαταστήστε το ExpressJS χρησιμοποιώντας αυτήν την εντολή
npm install express
  • Εμφάνιση “Hello World”
  Πώς να παρακολουθήσετε διακριτικά το Netflix στην εργασία

Ενώ βρίσκεστε στον ριζικό κατάλογο, δημιουργήστε ένα αρχείο και ονομάστε το app.js

Προσθέστε αυτόν τον κωδικό

const express = require('express')

const app = express()

const port = 3000

app.get('/', (req, res) => {

  res.send('Hello World!')

})

app.listen(port, () => {

  console.log(`Example app listening on port ${port}`)

})

Εκτελέστε αυτήν την εντολή για να ξεκινήσετε τον τοπικό διακομιστή

node app.js

Μεταβείτε στο http://localhost:3000/ στο πρόγραμμα περιήγησής σας και θα βρείτε αυτό το αποτέλεσμα

Express Application Generator

Η εφαρμογή που δημιουργήσαμε χειροκίνητα παραπάνω είναι πολύ βασική. Ωστόσο, μπορείτε να αποφύγετε τη μη αυτόματη δημιουργία μιας εφαρμογής ExpressJS χρησιμοποιώντας τη γεννήτρια Express.

  • Αυτή είναι η εντολή για τη δημιουργία της εφαρμογής ExpressJS.
npx express-generator
  • Εάν χρησιμοποιείτε μια έκδοση node.js παλαιότερη από την 8.2.0, μπορείτε να εγκαταστήσετε τη δημιουργία εφαρμογών και να την εκκινήσετε χρησιμοποιώντας αυτές τις εντολές.
npm install -g express-generator
express
express --view=pug myapp

Η παραπάνω εντολή θα δημιουργήσει μια εφαρμογή με το όνομα “myapp”

  • Εγκαταστήστε όλες τις εξαρτήσεις που χρειάζονται χρησιμοποιώντας αυτές τις εντολές
cd myapp

npm install
  • Εκτελέστε τον διακομιστή ανάπτυξης ανάλογα με το λειτουργικό σας σύστημα

Σε Windows PowerShell.

PS> $env:DEBUG='myapp:*'; npm start

Στη γραμμή εντολών των Windows.

> set DEBUG=myapp:* & npm start

Σε macOS ή Linux.

DEBUG=myapp:* npm start

Αποκτήστε πρόσβαση στο http://localhost:3000/ στο πρόγραμμα περιήγησής σας και αυτό θα εμφανιστεί

#1. Εφαρμογές Fintech

Οι τράπεζες και οι χρηματοπιστωτικοί οργανισμοί γίνονται ψηφιακοί, αυξάνοντας τη ζήτηση για εφαρμογές fintech. Τέτοιες εφαρμογές χρησιμοποιούνται για την υποστήριξη/ενεργοποίηση οικονομικών και τραπεζικών υπηρεσιών. Το ExpressJS έχει αποδειχθεί ότι είναι ένα ισχυρό πλαίσιο για τη δημιουργία επεκτάσιμων εφαρμογών fintech.

#2. Εφαρμογές μίας εφαρμογής

Οι εφαρμογές μιας εφαρμογής, όπου ολόκληρη η εφαρμογή δρομολογείται σε μία μόνο σελίδα, έχουν γίνει ο σύγχρονος τρόπος ανάπτυξης εφαρμογών. Μεγάλες εφαρμογές για κινητά και web, όπως το Airbnb, το Netflix, το Pinterest, το Paypal, το Gmail και οι Χάρτες Google είναι τέλεια παραδείγματα εφαρμογών μιας εφαρμογής. Το ExpressJS είναι ένα τέλειο πλαίσιο για τη δημιουργία εφαρμογών μιας εφαρμογής με εύκολη δρομολόγηση.

#3. Εφαρμογές ροής

Εφαρμογές όπως το Spotify και το Netflix μπορεί να φαίνονται απλές στους τελικούς χρήστες. Ωστόσο, τέτοιες εφαρμογές είναι πολύπλοκες, με πολλαπλά επίπεδα δεδομένων. Το ExpressJS είναι μια καταπληκτική επιλογή για τη δημιουργία τέτοιων εφαρμογών, καθώς μπορεί να χειριστεί αποτελεσματικά ασύγχρονες ροές δεδομένων.

#4. Εργαλεία συνεργασίας σε πραγματικό χρόνο

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

  Πώς να χρησιμοποιήσετε το Tap To Wake στο iPhone X

Πλεονεκτήματα: ExpressJS

  • Δωρεάν και ανοιχτού κώδικα. Δεν χρειάζεται να πληρώσετε τίποτα για να χρησιμοποιήσετε το ExpressJS. Μπορείτε επίσης να τροποποιήσετε τον υπάρχοντα κώδικα για να ταιριάζει στις ανάγκες σας.
  • Ευκολία στη χρήση. Το ExpressJS σάς επιτρέπει να γράφετε κώδικα χωρίς να ακολουθείτε περίπλοκες διαδικασίες. Το πλαίσιο διαθέτει ήδη τόνους εργαλείων και δυνατοτήτων για να απλοποιήσει τη διαδικασία.
  • Γρήγορη ανάπτυξη. Το ExpressJS έχει πολλά πρότυπα για να διασφαλίσει ότι δεν θα δημιουργήσετε τα πάντα από την αρχή.
  • Υπέροχη παράσταση. Οι εφαρμογές που δημιουργούνται στο ExpressJS έχουν υποδειγματική απόδοση και έτσι μπορείτε να τις χρησιμοποιήσετε τόσο σε μικρές όσο και σε εταιρικές εφαρμογές.

Μειονεκτήματα: ExpressJS

  • Ορισμένα μηνύματα σφάλματος δεν είναι χρήσιμα. Σε αντίθεση με άλλα πλαίσια ανάπτυξης back-ends/API, οι απαντήσεις 404 στο ExpressJS δεν υποδεικνύουν απαραίτητα σφάλμα.
  • Δεν είναι τόσο καλός στην οργάνωση κώδικα καθώς δεν υπάρχει καλύτερος τρόπος να κάνεις πράγματα.

Πόροι μάθησης: ExpressJS

#1. Node.js, Express, MongoDB και άλλα

Αυτό το μάθημα είναι ιδανικό εάν θέλετε να μάθετε ολόκληρη τη στοίβα back-end από έναν πόρο. Στο τέλος του μαθήματος, μπορείτε να δημιουργήσετε γρήγορα και επεκτάσιμα RESTful API χρησιμοποιώντας ExpressJS και άλλες σχετικές τεχνολογίες.

#2. Απλά Express

Αυτό είναι το μάθημα που πρέπει να ακολουθήσετε εάν θέλετε να χρησιμοποιήσετε αυτόν τον Express Server ως REST API. Αυτό το μάθημα διδάσκει επίσης βασικά στοιχεία του HTTP και διευκολύνει την κατανόηση του κύκλου αιτήματος/απόκρισης.

#3. React, NodeJS, Express & MongoDB

Αυτό το μάθημα πλήρους στοίβας MERN είναι ιδανικό εάν θέλετε να μάθετε πώς να δημιουργείτε εφαρμογές πλήρους στοίβας JavaScript. Μερικά από τα πράγματα που θα μάθετε είναι πώς να συνδέσετε το ReactJS με τα NodeJS, Express & MongoDB, πώς να εφαρμόσετε τον έλεγχο ταυτότητας και την εξουσιοδότηση και πολλά άλλα.

#4. Express in Action: Σύνταξη, κατασκευή και δοκιμή εφαρμογών Node.js

Το Express in Action είναι ένα βιβλίο που περιγράφει λεπτομερώς τα βήματα δημιουργίας διαδικτυακών εφαρμογών χρησιμοποιώντας το Node και το ExpressJS. Θα μάθετε πώς να ρυθμίζετε μια εφαρμογή ExpressJS, αποθήκευση δεδομένων με MongoDB και πώς δοκιμάζετε εφαρμογές Express, μεταξύ πολλών άλλων.

#5. Express.js: Βιβλίο οδηγών στο πλαίσιο Web για το Node.js

Express.js: Ο οδηγός στο πλαίσιο Web για το Node.js παρέχει μια εις βάθος εξερεύνηση του πλαισίου ιστού ExpressJS. Οι συζητήσεις σε αυτό το βιβλίο βασίζονται στα διάφορα μοντέλα που παρέχει η ExpressJS στους χρήστες.

#6. Επίσημη τεκμηρίωση ExpressJS

Το ExpressJS είναι ένα καλά τεκμηριωμένο πλαίσιο node.js και μπορείτε να μάθετε όλα όσα χρειάζεστε για να ξεκινήσετε στα επίσημα έγγραφα. Μπορείτε να χρησιμοποιήσετε αυτόν τον πόρο ανεξάρτητα από το αν είστε μόλις ξεκινήσετε ή είστε προχωρημένος προγραμματιστής.

Τυλίγοντας

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