{"id":102272,"date":"2021-11-12T09:36:39","date_gmt":"2021-11-12T07:36:39","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/web-frejmvork-pusa-perenosyashhij-logiku-javascript-frontenda-na-storonu-servera"},"modified":"2021-11-12T09:36:39","modified_gmt":"2021-11-12T07:36:39","slug":"web-frejmvork-pusa-perenosyashhij-logiku-javascript-frontenda-na-storonu-servera","status":"publish","type":"post","link":"https:\/\/prohoster.info\/it\/blog\/news\/web-frejmvork-pusa-perenosyashhij-logiku-javascript-frontenda-na-storonu-servera","title":{"rendered":"Il framework web Pusa, che porta la logica del frontend JavaScript sul lato server.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>\u00c8 stato pubblicato il framework web Pusa con un'implementazione del concetto che trasferisce la logica del frontend, eseguita nel browser tramite JavaScript, al backend \u2014 la gestione del browser e degli elementi DOM, cos\u00ec come la logica di business, vengono eseguite sul backend. Il codice JavaScript eseguito nel browser \u00e8 sostituito da un livello universale, che richiama gestori collocati sul backend. Non \u00e8 necessaria la sviluppo con JavaScript per il frontend. L'implementazione di riferimento di Pusa \u00e8 scritta in PHP ed \u00e8 distribuita con licenza GPLv3. Oltre a PHP, la tecnologia pu\u00f2 essere realizzata in qualsiasi altro linguaggio, incluso JavaScript\/Node.js, Java, Python, Go e Ruby.      <\/p>\n<p>Pusa definisce un protocollo di scambio basato su un insieme minimalista di comandi. Durante il caricamento della pagina, il browser carica il contenuto di base del DOM e il nucleo JavaScript di Pusa-Front. Pusa-Front, tramite richieste Ajax, invia eventi del browser (come click, blur, focus e keypress) e parametri di richiesta (l'elemento che ha attivato l'evento, i suoi attributi, URL, ecc.) al gestore del server Pusa-Back. Sulla base dei dati ricevuti, Pusa-Back determina il controller, esegue il payload e genera un set di comandi di risposta. Ricevuta la risposta della richiesta, Pusa-Front esegue i comandi, modificando il contenuto del DOM e l'ambiente del browser.       <\/p>\n<p>Lo stato del frontend \u00e8 formato ma non controllato dal backend, il che rende lo sviluppo per Pusa simile al codice per la scheda grafica o Canvas, dove il risultato dell'esecuzione non \u00e8 controllato dallo sviluppatore. Per creare applicazioni interattive basate su Canvas e onmousemove \u00e8 prevista la possibilit\u00e0 di caricare e utilizzare script JavaScript aggiuntivi sul lato client. Tra gli svantaggi del metodo si segnala anche il trasferimento di parte del carico dal frontend al backend e l'aumento della frequenza di scambio di dati con. <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/it\/server\/dts-prohoster\/\"   title=\"server\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"3024\">server<\/a>.    <\/p>\n<p>Tra i vantaggi si evidenziano: l'esclusione della necessit\u00e0 di coinvolgere sviluppatori JavaScript per il frontend, un codice client stabile e compatto (11 kB), l'inaccessibilit\u00e0 del codice sorgente dal lato frontend, l'assenza di necessit\u00e0 di serializzazione REST e di strumenti come gRPC, e l'esclusione di problemi di allineamento del routing delle richieste tra frontend e backend.<br \/>\n<br \/>Fonte: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=56140\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d web-\u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a Pusa \u0441 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0435\u0439 \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u0438, \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u044f\u0449\u0435\u0439 \u043b\u043e\u0433\u0438\u043a\u0443 \u0444\u0440\u043e\u043d\u0442\u044d\u043d\u0434\u0430, \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u0443\u044e \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435 \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 JavaScript, \u043d\u0430 \u0441\u0442\u043e\u0440\u043e\u043d\u0443 \u0431\u044d\u043a\u0435\u043d\u0434\u0430 &#8212; \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u043e\u043c \u0438 DOM \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430\u043c\u0438, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0431\u0438\u0437\u043d\u0435\u0441\u043b\u043e\u0433\u0438\u043a\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044e\u0442\u0441\u044f \u043d\u0430 \u0431\u044d\u043a\u0435\u043d\u0434\u0435. \u0412\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0439 \u043d\u0430 \u0441\u0442\u043e\u0440\u043e\u043d\u0435 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430 JavaScript \u043a\u043e\u0434 \u0437\u0430\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u043d\u0430 \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u0443\u044e \u043f\u0440\u043e\u0441\u043b\u043e\u0439\u043a\u0443, \u0432\u044b\u0437\u044b\u0432\u0430\u044e\u0449\u0443\u044e \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438, \u043d\u0430\u0445\u043e\u0434\u044f\u0449\u0438\u0435\u0441\u044f \u043d\u0430 \u0441\u0442\u043e\u0440\u043e\u043d\u0435 \u0431\u044d\u043a\u0435\u043d\u0434\u0430. \u041d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u044c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c JavaScript \u0434\u043b\u044f \u0444\u0440\u043e\u043d\u0442\u044d\u043d\u0434\u0430 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442. \u042d\u0442\u0430\u043b\u043e\u043d\u043d\u0430\u044f [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-102272","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d web-\u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a Pusa \u0441 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0435\u0439 \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u0438, \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u044f\u0449\u0435\u0439 \u043b\u043e\u0433\u0438\u043a\u0443 \u0444\u0440\u043e\u043d\u0442\u044d\u043d\u0434\u0430, \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u0443\u044e \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435 \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 JavaScript, \u043d\u0430 \u0441\u0442\u043e\u0440\u043e\u043d\u0443 \u0431\u044d\u043a\u0435\u043d\u0434\u0430 - \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u043e\u043c \u0438 DOM \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430\u043c\u0438, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0431\u0438\u0437\u043d\u0435\u0441\u043b\u043e\u0433\u0438\u043a\u0430.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/it\/blog\/news\/web-frejmvork-pusa-perenosyashhij-logiku-javascript-frontenda-na-storonu-servera\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"it_IT\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47Web-\u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a Pusa, \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u044f\u0449\u0438\u0439 \u043b\u043e\u0433\u0438\u043a\u0443 JavaScript-\u0444\u0440\u043e\u043d\u0442\u044d\u043d\u0434\u0430 \u043d\u0430 \u0441\u0442\u043e\u0440\u043e\u043d\u0443 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d web-\u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a Pusa \u0441 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0435\u0439 \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u0438, \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u044f\u0449\u0435\u0439 \u043b\u043e\u0433\u0438\u043a\u0443 \u0444\u0440\u043e\u043d\u0442\u044d\u043d\u0434\u0430, \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u0443\u044e \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435 \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 JavaScript, \u043d\u0430 \u0441\u0442\u043e\u0440\u043e\u043d\u0443 \u0431\u044d\u043a\u0435\u043d\u0434\u0430 - \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u043e\u043c \u0438 DOM \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430\u043c\u0438, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0431\u0438\u0437\u043d\u0435\u0441\u043b\u043e\u0433\u0438\u043a\u0430.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/it\/blog\/news\/web-frejmvork-pusa-perenosyashhij-logiku-javascript-frontenda-na-storonu-servera\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2021-11-12T07:36:39+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2021-11-12T07:36:39+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Framework web Pusa, che porta la logica del frontend JavaScript sul server | ProHoster","description":"\u00c8 stato pubblicato il framework web Pusa, che implementa un concetto che sposta la logica del frontend, eseguita nel browser tramite JavaScript, sul lato backend - gestione del browser e degli elementi del DOM, oltre alla logica di business.","canonical_url":"https:\/\/prohoster.info\/it\/blog\/news\/web-frejmvork-pusa-perenosyashhij-logiku-javascript-frontenda-na-storonu-servera","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"it_IT","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47Web-\u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a Pusa, \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u044f\u0449\u0438\u0439 \u043b\u043e\u0433\u0438\u043a\u0443 JavaScript-\u0444\u0440\u043e\u043d\u0442\u044d\u043d\u0434\u0430 \u043d\u0430 \u0441\u0442\u043e\u0440\u043e\u043d\u0443 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 | ProHoster","og:description":"\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d web-\u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a Pusa \u0441 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0435\u0439 \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u0438, \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u044f\u0449\u0435\u0439 \u043b\u043e\u0433\u0438\u043a\u0443 \u0444\u0440\u043e\u043d\u0442\u044d\u043d\u0434\u0430, \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u0443\u044e \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435 \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 JavaScript, \u043d\u0430 \u0441\u0442\u043e\u0440\u043e\u043d\u0443 \u0431\u044d\u043a\u0435\u043d\u0434\u0430 - \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u043e\u043c \u0438 DOM \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430\u043c\u0438, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0431\u0438\u0437\u043d\u0435\u0441\u043b\u043e\u0433\u0438\u043a\u0430.","og:url":"https:\/\/prohoster.info\/it\/blog\/news\/web-frejmvork-pusa-perenosyashhij-logiku-javascript-frontenda-na-storonu-servera","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2021-11-12T07:36:39+00:00","article:modified_time":"2021-11-12T07:36:39+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"102272","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-11-12 07:37:12","updated":"2026-02-09 21:46:41","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/102272","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/comments?post=102272"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/102272\/revisions"}],"predecessor-version":[{"id":160305,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/102272\/revisions\/160305"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=102272"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=102272"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=102272"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}