{"id":50821,"date":"2020-01-23T07:00:55","date_gmt":"2020-01-23T06:00:55","guid":{"rendered":"http:\/\/smeupnew.it\/magazine\/blog\/framework-javascript\/"},"modified":"2021-10-11T17:41:57","modified_gmt":"2021-10-11T15:41:57","slug":"framework-javascript","status":"publish","type":"post","link":"https:\/\/www.smeup.com\/magazine\/blog\/framework-javascript\/","title":{"rendered":"Le User Interface parte 2 &#8211; i framework javascript component based"},"content":{"rendered":"<div class=\"fusion-fullwidth fullwidth-box fusion-builder-row-1 fusion-flex-container nonhundred-percent-fullwidth non-hundred-percent-height-scrolling gradient-container-1\" style=\"--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-flex-wrap:wrap;\" ><div class=\"fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap\" style=\"max-width:1144px;margin-left: calc(-4% \/ 2 );margin-right: calc(-4% \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-0 fusion_builder_column_1_1 1_1 fusion-flex-column\" style=\"--awb-bg-size:cover;--awb-width-large:100%;--awb-margin-top-large:0px;--awb-spacing-right-large:1.92%;--awb-margin-bottom-large:0px;--awb-spacing-left-large:1.92%;--awb-width-medium:100%;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;\"><div class=\"fusion-column-wrapper fusion-flex-justify-content-flex-start fusion-content-layout-column\"><div class=\"fusion-text fusion-text-1\"><p>Nell\u2019articolo precedente (te lo sei perso? <a href=\"https:\/\/www.smeup.com\/magazine\/blog\/user-interface\/\" target=\"_blank\" rel=\"noopener\">Clicca qui<\/a> per leggerlo subito) avevamo parlato dell\u2019utilizzo delle librerie di componenti per il rinnovamento delle User Interface. Da meno di una decina di anni in ambito web si sta assistendo ad un fortissimo sviluppo dei cosiddetti <strong>framework javascript<\/strong> component based. In auge al momento si possono citare i seguenti famosi tre:<\/p>\n<ul>\n<li><strong><a href=\"https:\/\/angular.io\/\" target=\"_blank\" rel=\"noopener\">Angular<\/a><\/strong>, nato nel 2010 e supportato da Google<\/li>\n<li><strong><a href=\"https:\/\/it.reactjs.org\/\" target=\"_blank\" rel=\"noopener\">React<\/a><\/strong>, rilasciato nel 2013 e supportato da Facebook<\/li>\n<li><strong><a href=\"https:\/\/vuejs.org\/\" target=\"_blank\" rel=\"noopener\">Vue<\/a><\/strong>, nato nel 2014, sviluppato e supportato da ex dipendenti di Google<\/li>\n<\/ul>\n<p>Essi sono tutti distribuiti in maniera gratuita e con licenza MIT.<\/p>\n<p>Altra caratteristica comune \u00e8 quella di essere <strong>component based<\/strong>. Un componente \u00e8 un insieme di funzionalit\u00e0 con una ben definita interfaccia (o API). E&#8217; solo tramite l&#8217;API che si pu\u00f2 interagire con il componente, mentre l&#8217;implementazione interna \u00e8 inaccessibile. Questa definizione generica di componente vale anche per i componenti dei framework javascript di cui stiamo parlando. Ogni componente UI \u00e8 responsabile solo dei suoi dati e della sua visualizzazione, lancia eventi verso altri componenti che li ascoltano e chiede dati a servizi. Al suo interno \u00e8 costruito con della logica e dei template grafici non accessibili agli altri componenti. In questo modo il componente \u00e8 una parte del sistema che pu\u00f2 essere <strong>riutilizzata<\/strong> e pu\u00f2 essere <strong>riscritta<\/strong>, <strong>senza creare problemi<\/strong> al resto dell\u2019applicazione. Esempi di componenti possono essere una tabella, un singolo bottone o anche una form con pi\u00f9 campi e bottoni.<\/p>\n<p>Questa caratteristica di essere component based dei framework javascript moderni rispecchia pienamente il modello adottato da <strong>Sme.UP ERP<\/strong>, per il quale ogni schermata grafica \u00e8 ripartita tra diversi componenti (schede, matrici, alberi, input panel\u2026). Ogni componente reperisce i propri dati da servizi (chiamando delle FUN) e invia eventi che altri componenti ascoltano.<\/p>\n<p>Ciascuno dei framework javascript citati \u00e8 attualmente una <strong>valida scelta tecnologica<\/strong>, in quanto ciascuno possiede elevata popolarit\u00e0 e seguito. Ma il mondo javascript \u00e8 sempre in fermento e gli equilibri cambiano velocemente. Ad esempio l\u2019utilizzo di Vue.js dal 2016 in poi \u00e8 aumentato pressoch\u00e9 esponenzialmente, a discapito della popolarit\u00e0 degli altri framework.<\/p>\n<p>Si consideri che una volta effettuata una scelta verso il framework javascript A non \u00e8 immediato migrare verso il framework B, perch\u00e9 il codice sviluppato per un framework andrebbe riscritto per adattarlo all&#8217;altro. Un componente Angular infatti non funziona (a meno di particolari artefici di ricompilazione in javascript puro) all&#8217;interno di un&#8217;applicazione Vue o di un&#8217;applicazione scritta in javascript puro.<\/p>\n<p>Quale soluzione scegliere allora? Esiste un\u2019alternativa che permetta di non legarsi ad un particolare framework javascript?<\/p>\n<p>Lo vedremo nella prossima puntata! Stay tuned.<\/p>\n<\/div><\/div><\/div><\/div><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Da meno di una decina di anni in ambito web si sta assistendo ad un fortissimo sviluppo dei cosiddetti framework javascript component based. Vediamo funzionalit\u00e0 e utilizzi per le user interface.<\/p>\n","protected":false},"author":1,"featured_media":54270,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[7175],"tags":[5572,6581,6548],"class_list":["post-50821","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ux","tag-framework","tag-librerie-di-componenti","tag-user-interface"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Le User Interface parte 2 - i framework javascript component based<\/title>\n<meta name=\"description\" content=\"Da meno di una decina di anni in ambito web si sta assistendo ad un fortissimo sviluppo dei cosiddetti framework javascript component based.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.smeup.com\/magazine\/blog\/framework-javascript\/\" \/>\n<meta property=\"og:locale\" content=\"it_IT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Le User Interface parte 2 - i framework javascript component based\" \/>\n<meta property=\"og:description\" content=\"Da meno di una decina di anni in ambito web si sta assistendo ad un fortissimo sviluppo dei cosiddetti framework javascript component based.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.smeup.com\/magazine\/blog\/framework-javascript\/\" \/>\n<meta property=\"og:site_name\" content=\"Magazine\" \/>\n<meta property=\"article:published_time\" content=\"2020-01-23T06:00:55+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-10-11T15:41:57+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.smeup.com\/magazine\/wp-content\/uploads\/sites\/5\/2020\/01\/framework-javascript.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1600\" \/>\n\t<meta property=\"og:image:height\" content=\"1131\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"smeup\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Scritto da\" \/>\n\t<meta name=\"twitter:data1\" content=\"smeup\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo di lettura stimato\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minuti\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.smeup.com\\\/magazine\\\/blog\\\/framework-javascript\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.smeup.com\\\/magazine\\\/blog\\\/framework-javascript\\\/\"},\"author\":{\"name\":\"smeup\",\"@id\":\"https:\\\/\\\/www.smeup.com\\\/magazine\\\/#\\\/schema\\\/person\\\/194a55d96e7e52223a84ff78468bf5c7\"},\"headline\":\"Le User Interface parte 2 &#8211; i framework javascript component based\",\"datePublished\":\"2020-01-23T06:00:55+00:00\",\"dateModified\":\"2021-10-11T15:41:57+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.smeup.com\\\/magazine\\\/blog\\\/framework-javascript\\\/\"},\"wordCount\":572,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/www.smeup.com\\\/magazine\\\/blog\\\/framework-javascript\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.smeup.com\\\/magazine\\\/wp-content\\\/uploads\\\/sites\\\/5\\\/2020\\\/01\\\/framework-javascript.jpg\",\"keywords\":[\"Framework\",\"librerie di componenti\",\"user interface\"],\"articleSection\":[\"UX\"],\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.smeup.com\\\/magazine\\\/blog\\\/framework-javascript\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.smeup.com\\\/magazine\\\/blog\\\/framework-javascript\\\/\",\"url\":\"https:\\\/\\\/www.smeup.com\\\/magazine\\\/blog\\\/framework-javascript\\\/\",\"name\":\"Le User Interface parte 2 - i framework javascript component based\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.smeup.com\\\/magazine\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.smeup.com\\\/magazine\\\/blog\\\/framework-javascript\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.smeup.com\\\/magazine\\\/blog\\\/framework-javascript\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.smeup.com\\\/magazine\\\/wp-content\\\/uploads\\\/sites\\\/5\\\/2020\\\/01\\\/framework-javascript.jpg\",\"datePublished\":\"2020-01-23T06:00:55+00:00\",\"dateModified\":\"2021-10-11T15:41:57+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.smeup.com\\\/magazine\\\/#\\\/schema\\\/person\\\/194a55d96e7e52223a84ff78468bf5c7\"},\"description\":\"Da meno di una decina di anni in ambito web si sta assistendo ad un fortissimo sviluppo dei cosiddetti framework javascript component based.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.smeup.com\\\/magazine\\\/blog\\\/framework-javascript\\\/#breadcrumb\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.smeup.com\\\/magazine\\\/blog\\\/framework-javascript\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\\\/\\\/www.smeup.com\\\/magazine\\\/blog\\\/framework-javascript\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.smeup.com\\\/magazine\\\/wp-content\\\/uploads\\\/sites\\\/5\\\/2020\\\/01\\\/framework-javascript.jpg\",\"contentUrl\":\"https:\\\/\\\/www.smeup.com\\\/magazine\\\/wp-content\\\/uploads\\\/sites\\\/5\\\/2020\\\/01\\\/framework-javascript.jpg\",\"width\":1600,\"height\":1131,\"caption\":\"smeup framework javascript\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.smeup.com\\\/magazine\\\/blog\\\/framework-javascript\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.smeup.com\\\/magazine\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Le User Interface parte 2 &#8211; i framework javascript component based\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.smeup.com\\\/magazine\\\/#website\",\"url\":\"https:\\\/\\\/www.smeup.com\\\/magazine\\\/\",\"name\":\"Magazine\",\"description\":\"smeup\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.smeup.com\\\/magazine\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"it-IT\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.smeup.com\\\/magazine\\\/#\\\/schema\\\/person\\\/194a55d96e7e52223a84ff78468bf5c7\",\"name\":\"smeup\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a88cc3ad6c0af01768fe2ac47c88a321699d97ced53c173f66ceaa51400f43ca?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a88cc3ad6c0af01768fe2ac47c88a321699d97ced53c173f66ceaa51400f43ca?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a88cc3ad6c0af01768fe2ac47c88a321699d97ced53c173f66ceaa51400f43ca?s=96&d=mm&r=g\",\"caption\":\"smeup\"},\"sameAs\":[\"https:\\\/\\\/www.smeup.com\"],\"url\":\"https:\\\/\\\/www.smeup.com\\\/magazine\\\/blog\\\/author\\\/admin\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Le User Interface parte 2 - i framework javascript component based","description":"Da meno di una decina di anni in ambito web si sta assistendo ad un fortissimo sviluppo dei cosiddetti framework javascript component based.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.smeup.com\/magazine\/blog\/framework-javascript\/","og_locale":"it_IT","og_type":"article","og_title":"Le User Interface parte 2 - i framework javascript component based","og_description":"Da meno di una decina di anni in ambito web si sta assistendo ad un fortissimo sviluppo dei cosiddetti framework javascript component based.","og_url":"https:\/\/www.smeup.com\/magazine\/blog\/framework-javascript\/","og_site_name":"Magazine","article_published_time":"2020-01-23T06:00:55+00:00","article_modified_time":"2021-10-11T15:41:57+00:00","og_image":[{"width":1600,"height":1131,"url":"https:\/\/www.smeup.com\/magazine\/wp-content\/uploads\/sites\/5\/2020\/01\/framework-javascript.jpg","type":"image\/jpeg"}],"author":"smeup","twitter_card":"summary_large_image","twitter_misc":{"Scritto da":"smeup","Tempo di lettura stimato":"2 minuti"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.smeup.com\/magazine\/blog\/framework-javascript\/#article","isPartOf":{"@id":"https:\/\/www.smeup.com\/magazine\/blog\/framework-javascript\/"},"author":{"name":"smeup","@id":"https:\/\/www.smeup.com\/magazine\/#\/schema\/person\/194a55d96e7e52223a84ff78468bf5c7"},"headline":"Le User Interface parte 2 &#8211; i framework javascript component based","datePublished":"2020-01-23T06:00:55+00:00","dateModified":"2021-10-11T15:41:57+00:00","mainEntityOfPage":{"@id":"https:\/\/www.smeup.com\/magazine\/blog\/framework-javascript\/"},"wordCount":572,"commentCount":0,"image":{"@id":"https:\/\/www.smeup.com\/magazine\/blog\/framework-javascript\/#primaryimage"},"thumbnailUrl":"https:\/\/www.smeup.com\/magazine\/wp-content\/uploads\/sites\/5\/2020\/01\/framework-javascript.jpg","keywords":["Framework","librerie di componenti","user interface"],"articleSection":["UX"],"inLanguage":"it-IT","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.smeup.com\/magazine\/blog\/framework-javascript\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.smeup.com\/magazine\/blog\/framework-javascript\/","url":"https:\/\/www.smeup.com\/magazine\/blog\/framework-javascript\/","name":"Le User Interface parte 2 - i framework javascript component based","isPartOf":{"@id":"https:\/\/www.smeup.com\/magazine\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.smeup.com\/magazine\/blog\/framework-javascript\/#primaryimage"},"image":{"@id":"https:\/\/www.smeup.com\/magazine\/blog\/framework-javascript\/#primaryimage"},"thumbnailUrl":"https:\/\/www.smeup.com\/magazine\/wp-content\/uploads\/sites\/5\/2020\/01\/framework-javascript.jpg","datePublished":"2020-01-23T06:00:55+00:00","dateModified":"2021-10-11T15:41:57+00:00","author":{"@id":"https:\/\/www.smeup.com\/magazine\/#\/schema\/person\/194a55d96e7e52223a84ff78468bf5c7"},"description":"Da meno di una decina di anni in ambito web si sta assistendo ad un fortissimo sviluppo dei cosiddetti framework javascript component based.","breadcrumb":{"@id":"https:\/\/www.smeup.com\/magazine\/blog\/framework-javascript\/#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.smeup.com\/magazine\/blog\/framework-javascript\/"]}]},{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/www.smeup.com\/magazine\/blog\/framework-javascript\/#primaryimage","url":"https:\/\/www.smeup.com\/magazine\/wp-content\/uploads\/sites\/5\/2020\/01\/framework-javascript.jpg","contentUrl":"https:\/\/www.smeup.com\/magazine\/wp-content\/uploads\/sites\/5\/2020\/01\/framework-javascript.jpg","width":1600,"height":1131,"caption":"smeup framework javascript"},{"@type":"BreadcrumbList","@id":"https:\/\/www.smeup.com\/magazine\/blog\/framework-javascript\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.smeup.com\/magazine\/"},{"@type":"ListItem","position":2,"name":"Le User Interface parte 2 &#8211; i framework javascript component based"}]},{"@type":"WebSite","@id":"https:\/\/www.smeup.com\/magazine\/#website","url":"https:\/\/www.smeup.com\/magazine\/","name":"Magazine","description":"smeup","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.smeup.com\/magazine\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"it-IT"},{"@type":"Person","@id":"https:\/\/www.smeup.com\/magazine\/#\/schema\/person\/194a55d96e7e52223a84ff78468bf5c7","name":"smeup","image":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/secure.gravatar.com\/avatar\/a88cc3ad6c0af01768fe2ac47c88a321699d97ced53c173f66ceaa51400f43ca?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/a88cc3ad6c0af01768fe2ac47c88a321699d97ced53c173f66ceaa51400f43ca?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/a88cc3ad6c0af01768fe2ac47c88a321699d97ced53c173f66ceaa51400f43ca?s=96&d=mm&r=g","caption":"smeup"},"sameAs":["https:\/\/www.smeup.com"],"url":"https:\/\/www.smeup.com\/magazine\/blog\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/www.smeup.com\/magazine\/wp-json\/wp\/v2\/posts\/50821","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.smeup.com\/magazine\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.smeup.com\/magazine\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.smeup.com\/magazine\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.smeup.com\/magazine\/wp-json\/wp\/v2\/comments?post=50821"}],"version-history":[{"count":3,"href":"https:\/\/www.smeup.com\/magazine\/wp-json\/wp\/v2\/posts\/50821\/revisions"}],"predecessor-version":[{"id":55496,"href":"https:\/\/www.smeup.com\/magazine\/wp-json\/wp\/v2\/posts\/50821\/revisions\/55496"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.smeup.com\/magazine\/wp-json\/wp\/v2\/media\/54270"}],"wp:attachment":[{"href":"https:\/\/www.smeup.com\/magazine\/wp-json\/wp\/v2\/media?parent=50821"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.smeup.com\/magazine\/wp-json\/wp\/v2\/categories?post=50821"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.smeup.com\/magazine\/wp-json\/wp\/v2\/tags?post=50821"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}