Πλαίσιο ιστού Pusa που μετακινεί τη λογική frontend JavaScript στην πλευρά του διακομιστή

Το πλαίσιο ιστού Pusa έχει δημοσιευτεί, υλοποιώντας μια ιδέα που μετακινεί τη λογική του frontend, που εκτελείται στο πρόγραμμα περιήγησης χρησιμοποιώντας JavaScript, στην πλευρά του backend - το πρόγραμμα περιήγησης και η διαχείριση στοιχείων DOM, καθώς και η επιχειρηματική λογική, εκτελούνται στο backend. Ο κώδικας JavaScript που εκτελείται στην πλευρά του προγράμματος περιήγησης αντικαθίσταται από ένα γενικό επίπεδο που καλεί χειριστές που βρίσκονται στην πλευρά του backend. Δεν υπάρχει ανάγκη για ανάπτυξη JavaScript για το frontend. Η υλοποίηση αναφοράς Pusa είναι γραμμένη σε PHP και διαθέτει άδεια χρήσης σύμφωνα με την άδεια GPLv3. Εκτός από την PHP, η τεχνολογία μπορεί να εφαρμοστεί σε οποιαδήποτε άλλη γλώσσα, συμπεριλαμβανομένων των JavaScript/Node.js, Java, Python, Go και Ruby.

Το Pusa ορίζει ένα πρωτόκολλο ανταλλαγής που βασίζεται σε ένα μινιμαλιστικό σύνολο εντολών. Κατά τη φόρτωση μιας σελίδας, το πρόγραμμα περιήγησης φορτώνει το βασικό περιεχόμενο DOM και τον πυρήνα JavaScript του Pusa-Front. Το Pusa-Front στέλνει συμβάντα προγράμματος περιήγησης (όπως κλικ, θάμπωμα, εστίαση και πάτημα πλήκτρων) και παραμέτρους αιτήματος (το στοιχείο που προκάλεσε το συμβάν, τα χαρακτηριστικά του, τη διεύθυνση URL κ.λπ.) στον χειριστή διακομιστή Pusa-Back μέσω αιτημάτων Ajax. Με βάση τα δεδομένα που λαμβάνονται, το Pusa-Back προσδιορίζει τον ελεγκτή, εκτελεί το ωφέλιμο φορτίο και δημιουργεί ένα σύνολο εντολών απόκρισης. Μόλις λάβει την απάντηση αιτήματος, το Pusa-Front εκτελεί τις εντολές, αλλάζοντας το περιεχόμενο DOM και το περιβάλλον του προγράμματος περιήγησης.

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

Τα πλεονεκτήματα περιλαμβάνουν: δεν χρειάζονται προγραμματιστές JavaScript front-end, σταθερός και συμπαγής κώδικας πελάτη (11 kb), καμία πρόσβαση στον κύριο κώδικα από το front-end, καμία ανάγκη για σειριοποίηση REST και εργαλεία τύπου gRPC, κανένα πρόβλημα με τον συντονισμό της δρομολόγησης αιτημάτων μεταξύ του front-end και του back-end.

Πηγή: opennet.ru

Αγοράστε αξιόπιστη φιλοξενία για ιστότοπους με προστασία DDoS, διακομιστές VPS VDS 🔥 Αγοράστε αξιόπιστη φιλοξενία ιστοσελίδων με προστασία DDoS, διακομιστές VPS VDS | ProHoster