Introducere în ExpressJS [+6 Learning Resources]

ExpressJS se prezintă ca o structură web minimală și adaptabilă pentru Node.js, oferind o serie de funcționalități utile atât pentru aplicațiile mobile, cât și pentru cele web.

Această structură web, cu sursă deschisă, a fost creată de TJ Holowaychuk și este acum menținută de Fundația Node.js.

De ce să alegi ExpressJS?

ExpressJS pune la dispoziție API-uri simple, menite să ajute dezvoltatorii în crearea de back-end-uri, aplicații web și site-uri. Această structură web se compară cu Django pentru Python și Rails pentru Ruby.

Însă, spre deosebire de Django și Rails, care propun o metodă standardizată de construire a API-urilor și aplicațiilor, ExpressJS este foarte flexibil și extensibil, deoarece nu impune o singură abordare „corectă” a lucrurilor.

În concluzie, iată motivele pentru care ar trebui să folosești ExpressJS:

  • Facilitează crearea de API-uri și aplicații web.
  • API-urile sale sunt robuste, simplificând rutarea.
  • Este asincron și utilizează un singur fir.

Caracteristicile ExpressJS

#1. Parte a Stivei MEAN

JavaScript rămâne un limbaj de programare foarte popular, având structuri care pot fi utilizate atât în front-end, cât și în back-end-ul unei aplicații full-stack.

Unii dezvoltatori JavaScript folosesc MEAN, acronim pentru MongoDB, Express, Node.js și AngularJS, pentru a construi aplicații full-stack. Alții preferă Reactjs și folosesc stiva MERN (MongoDB, Express, Node.js și Reactjs). În ambele variante, ExpressJS este o constantă.

#2. Flexibil și rapid

Nu este nevoie să stăpânești multe aspecte diferite ale unei structuri mai ample, deoarece ExpressJS este conceput pentru a fi minimalist. Un sistem de rutare excelent, gestionarea conținutului imediat și middleware-urile îl fac să fie rapid.

#3. Scalabil

Este simplu să scalezi aplicațiile construite cu Express, explicând popularitatea sa printre organizații. Atunci când se dezvoltă aplicații de mari dimensiuni, Express necesită configurare minimă sau deloc. Existența multor module, pachete și resurse suplimentare facilitează dezvoltarea de aplicații la scară largă.

#4. Prezența middleware-ului

ExpressJS include numeroase aplicații middleware care accelerează și îmbunătățesc procesul de dezvoltare. Middleware-ul permite unei structuri să ruleze un script înainte sau după o solicitare a clientului. Acesta ajută dezvoltatorii să verifice acțiuni ale clientului, cum ar fi înregistrarea, autentificarea și deconectarea.

#5. Sistem puternic de rutare

Sistemul de rutare ExpressJS oferă dezvoltatorilor posibilitatea de a crea API-uri robuste care gestionează majoritatea solicitărilor HTTP. Nu este necesar să utilizezi un sistem de rutare complex, deoarece poți împărți codul în fișiere ușor de gestionat, folosind instanța routerului. Poți, de asemenea, grupa rutele în directoare pentru o organizare mai bună a aplicației.

Arhitectura ExpressJS

Credit imagine: turing.com

O aplicație Express conține următoarele componente:

  • Dependențe. ExpressJS în sine este o dependență. Celelalte dependențe se pot instala folosind comanda npm.
  • Middleware. Middleware-ul, într-o configurație ExpressJS, este funcția care definește ciclul solicitare/răspuns.
  • Instanțieri. Acestea sunt instrucțiunile utilizate pentru a crea un obiect.
  • Configurații. Configurațiile sunt setări personalizate, bazate pe aplicație, definite după instanțieri sau într-un fișier separat.
  • Trasee. Rutele sunt punctele finale pe care clienții le utilizează pentru a accesa resurse diverse sau pentru a efectua acțiuni definite de server.
  • Server de bootstrapping. Funcția app.listen() este executată pentru a porni serverul de dezvoltare.

Introducere în ExpressJS

ExpressJS funcționează pe Node.js, ceea ce înseamnă că acesta trebuie instalat pe computer.

Este necesar și Node Package Manager (npm) pentru a gestiona dependențele în mediul de dezvoltare.

Node poate fi instalat de pe site-ul oficial, alegând versiunea corespunzătoare sistemului de operare.

După instalare, rulează următoarele două comenzi pentru a verifica instalarea corectă a node și npm:

node --version
npm --version

Instalează ExpressJS

Urmează acești pași:

  • Creează o aplicație simplă ExpressJS. O poți face manual sau folosind aceste comenzi:
mkdir myapp
cd myapp
  • Creează un fișier package.json folosind această comandă:
npm init
  • Acceptă valorile implicite, dar modifică „entry point” (index.js) în app.js.
  • Instalează ExpressJS folosind comanda:
npm install express
  • Afișează „Hello World”

În directorul rădăcină, creează un fișier cu numele app.js și adaugă următorul cod:

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}`)

})

Rulează această comandă pentru a porni serverul local:

node app.js

Accesează http://localhost:3000/ în browser și vei vedea mesajul „Hello World!”.

Generator de aplicații Express

Aplicația creată manual mai sus este una foarte simplă. Pentru a automatiza crearea unei aplicații ExpressJS, se poate folosi generatorul Express.

  • Aceasta este comanda pentru generarea aplicației:
npx express-generator
  • Dacă folosești o versiune de node.js anterioară 8.2.0, poți instala generatorul de aplicații și îl poți lansa folosind aceste comenzi:
npm install -g express-generator
express
express --view=pug myapp

Comanda de mai sus va genera o aplicație numită „myapp”.

  • Instalează toate dependențele folosind aceste comenzi:
cd myapp

npm install
  • Rulează serverul de dezvoltare specific sistemului tău de operare:

Pe Windows PowerShell:

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

Pe linia de comandă Windows:

> set DEBUG=myapp:* & npm start

Pe macOS sau Linux:

DEBUG=myapp:* npm start

Accesează http://localhost:3000/ în browser și vei vedea o pagină de bun venit generată de aplicație.

#1. Aplicații Fintech

Băncile și instituțiile financiare se digitalizează, crescând cererea de aplicații fintech. Acestea sunt utilizate pentru a facilita serviciile financiare. ExpressJS s-a dovedit a fi o structură robustă pentru crearea de aplicații fintech scalabile.

#2. Aplicații cu o singură pagină

Aplicațiile cu o singură pagină, în care întreaga interacțiune se desfășoară pe o singură pagină, sunt o abordare modernă în dezvoltarea web. Aplicații mobile și web majore, cum ar fi Airbnb, Netflix, Pinterest, PayPal, Gmail și Google Maps sunt exemple de astfel de aplicații. ExpressJS este o alegere potrivită pentru crearea de aplicații cu o singură pagină, datorită sistemului său simplu de rutare.

#3. Aplicații de streaming

Aplicațiile precum Spotify și Netflix par simple pentru utilizatori. Însă, în spatele lor se află sisteme complexe, cu multiple niveluri de date. ExpressJS este o opțiune excelentă pentru construirea acestor aplicații, având capacitatea de a gestiona eficient fluxurile de date asincrone.

#4. Instrumente de colaborare în timp real

În mediile de lucru moderne, echipele colaborează la diverse sarcini. ExpressJS oferă caracteristici care susțin dezvoltarea instrumentelor de colaborare. Această structură este utilă și la crearea de tablouri de bord și chat-uri în timp real, datorită integrării ușoare cu WebSocket.

Avantajele ExpressJS

  • Gratuit și open-source. Nu trebuie să plătești pentru utilizarea ExpressJS. Poți, de asemenea, să modifici codul existent pentru a se adapta nevoilor tale.
  • Ușor de utilizat. ExpressJS permite scrierea de cod fără procese complicate. Structura include deja instrumente și funcții care simplifică procesul.
  • Dezvoltare rapidă. ExpressJS oferă șabloane care te ajută să eviți crearea fiecărui aspect de la zero.
  • Performanță excelentă. Aplicațiile construite cu ExpressJS funcționează foarte bine, fiind potrivite atât pentru proiecte mici, cât și pentru aplicații complexe.

Dezavantajele ExpressJS

  • Unele mesaje de eroare nu sunt foarte descriptive. Spre deosebire de alte structuri de dezvoltare back-end/API, răspunsurile 404 din ExpressJS nu indică neapărat o eroare.
  • Nu este ideal pentru organizarea codului, deoarece nu există o abordare standardizată.

Resurse pentru învățarea ExpressJS

#1. Node.js, Express, MongoDB și altele

Acest curs este ideal pentru cei care doresc să învețe întreaga stivă back-end dintr-o singură sursă. După finalizarea cursului, vei putea crea API-uri RESTful rapide și scalabile, folosind ExpressJS și alte tehnologii conexe.

#2. Doar Express

Acest curs este ideal pentru cei care doresc să înțeleagă cum să utilizeze serverul Express ca API REST. Cursul prezintă și elementele de bază ale HTTP și simplifică înțelegerea ciclului cerere/răspuns.

#3. React, NodeJS, Express și MongoDB

Acest curs full-stack MERN este perfect pentru cei care vor să învețe cum să creeze aplicații JavaScript full-stack. Cursul acoperă, printre altele, cum să conectezi ReactJS cu NodeJS, Express și MongoDB, cum să implementezi autentificarea și autorizarea.

#4. Express in Action: Scrierea, construirea și testarea aplicațiilor Node.js

Express in Action este o carte care prezintă pașii necesari pentru crearea de aplicații web folosind Node și ExpressJS. Vei învăța cum să configurezi o aplicație ExpressJS, cum să stochezi datele cu MongoDB și cum să testezi aplicațiile Express, printre multe altele.

#5. Express.js: Ghid despre structura web pentru Node.js

Express.js: Ghid despre structura web pentru Node.js oferă o explorare aprofundată a structurii web ExpressJS. Discuțiile din carte se bazează pe modelele diferite pe care ExpressJS le pune la dispoziția utilizatorilor.

#6. Documentația oficială ExpressJS

ExpressJS este o structură node.js bine documentată, iar documentația oficială oferă toate informațiile necesare pentru a începe. Această resursă este utilă atât pentru începători, cât și pentru dezvoltatori avansați.

Concluzie

ExpressJS este una dintre cele mai populare structuri web Node.js. Varietatea de funcții și curba sa de învățare accesibilă au consolidat această poziție de-a lungul timpului. ExpressJS servește ca bază pentru Node.js, astfel că înțelegerea acesteia facilitează utilizarea altor structuri conexe.