\subsubsection{React} \label{subsection:4-2-2-1-react}

\logo{chapter-4/4.2.react-logo}{React logo}

Η React\footnote{\url{https://reactjs.org/}} αποτελεί βιβλιοθήκη JavaScript, η οποία χρησιμοποιείται για την κατασκευή διεπαφών χρήστη. Είναι δηλωτική (declarative) και βασίζεται σε components, τα οποία διαχειρίζονται την κατάστασή (state) τους και συντίθενται για να δημιουργήσουν πολύπλοκα διαδραστικά UI. Τα components συνήθως υλοποιούνται σε JSX (JavaScript Syntax Extension), η οποία επεκτείνει τη JavaScript, επιτρέποντας την εισαγωγή αυτούσιων HTML εκφράσεων εντός του κώδικά της.

Ένα σημαντικό εργαλείο για την ταχεία ανάπτυξη web εφαρμογών σε React είναι το Create React App\footnote{\url{https://create-react-app.dev/}}. Με τη χρήση μίας και μόνο εντολής (\texttt{npx create-react-app my-app}), εγκαθίσταται αυτόματα ένας development server σε περιβάλλον Node.js (ως μία μοναδική βιβλιοθήκη). Αυτός εμπεριέχει μία πληθώρα από build tools (π.χ. Webpack, Babel, ESLint), τα οποία προσφέρουν ισχυρές δυνατότητες, όπως άμεσα reloads και παραγωγή βελτιστοποιημένων bundles. Έτσι, η διαδικασία της υλοποίησης αποκτά ποικίλες διευκολύνσεις, χωρίς να απαιτεί την εκμάθηση, τη χειροκίνητη εγκατάσταση και την προηγμένη διαμόρφωση των τεχνολογιών στο εσωτερικό. 

Η React έχει το αποθετήριό της στο GitHub\footnote{\url{https://github.com/facebook/react/}} και διατίθεται μέσω του μητρώου npm\footnote{\url{https://www.npmjs.com/package/react}}.
