{"id":11670,"date":"2016-04-06T18:55:57","date_gmt":"2016-04-06T16:55:57","guid":{"rendered":"http:\/\/www.devapp.it\/wordpress\/?p=11670"},"modified":"2016-06-07T14:52:11","modified_gmt":"2016-06-07T12:52:11","slug":"vue-js-mvvm-in-javascript","status":"publish","type":"post","link":"https:\/\/www.devapp.it\/wordpress\/vue-js-mvvm-in-javascript\/","title":{"rendered":"Vue.js: MVVM in Javascript"},"content":{"rendered":"<p>Ormai Javascript sembra essere in grado di fare un p\u00f2 di tutto. Tra le tante cose, vengono offerti, in questo linguaggio, framework che forniscono una vera e propria architettura all&#8217;applicazione strutturata in base ai pi\u00f9 comuni pattern di progettazione. Si parla tantissimo\u00a0di\u00a0<a href=\"https:\/\/angularjs.org\/\" target=\"_blank\">Angular.js<\/a>,\u00a0completissima e molto articolata, cresciuta anche grazie al supporto offertole da Google.<\/p>\n<p>Esistono molte alternative per\u00f2 che permettono di ottenere\u00a0risultati interessanti al prezzo di una minore complessit\u00e0: un caso interessante \u00e8\u00a0<a href=\"http:\/\/vuejs.org\/\" target=\"_blank\">Vue.js<\/a>.<\/p>\n<p>Questo framework nonostante la sua leggerezza permette di gestire un&#8217;architettura <strong>MVVM<\/strong> (Model-View-ViewModel), evoluzione del ben noto pattern MVC, che ha avuto molto successo nel mondo Javascript. Una volta integrata nel progetto, si potr\u00e0 usare la <strong>classe Vue<\/strong>, per la realizzazione di un ViewModel, il componente centrale in questo tipo di architettura, e gestire la reazione degli eventi ed il <strong>Two-Way Data-Bindings<\/strong>, meccanismo che agevola al massimo lo scambio di dati bidirezionale tra Model e View.<\/p>\n<p>Interessante l&#8217;uso di <strong>direttive<\/strong> che ricorda molto Angular.js. Tutte le direttive sono rappresentate da attributi HTML il cui nome inizia con il prefisso &#8220;v-&#8221; e sono in grado di svolgere vari compiti come la ripetizione di operazioni (v-for) ed il collegamento con il model (v-model).<\/p>\n<p>La libreria ha raggiunto gi\u00e0 la\u00a0<strong>versione 1.0<\/strong> e sar\u00e0 sufficiente fare un giro sul\u00a0<a href=\"http:\/\/vuejs.org\/guide\/\" target=\"_blank\">Getting Started<\/a>\u00a0presente sul sito ufficiale per avviare una sperimentazione rapidissima e capacitarsi delle sue potenzialit\u00e0.<\/p>\n<p>Avete gi\u00e0 apprezzato framework simili in Javascript ? Commentate e suggeritecene qualcuno!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ormai Javascript sembra essere in grado di fare un p\u00f2 di tutto. Tra le tante cose, vengono&#8230;<\/p>\n","protected":false},"author":561,"featured_media":11919,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[534],"tags":[1650,1538,1649,1621,1651,1620],"class_list":["post-11670","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news","tag-angular-js","tag-javascript","tag-javascript-developers","tag-js","tag-vue-js","tag-web-developer"],"acf":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/posts\/11670","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/users\/561"}],"replies":[{"embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/comments?post=11670"}],"version-history":[{"count":4,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/posts\/11670\/revisions"}],"predecessor-version":[{"id":12086,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/posts\/11670\/revisions\/12086"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/media\/11919"}],"wp:attachment":[{"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/media?parent=11670"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/categories?post=11670"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/tags?post=11670"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}