{"id":12220,"date":"2017-01-20T10:10:17","date_gmt":"2017-01-20T09:10:17","guid":{"rendered":"http:\/\/www.devapp.it\/wordpress\/?p=12220"},"modified":"2017-01-20T10:10:17","modified_gmt":"2017-01-20T09:10:17","slug":"knockout-spa-single-page-application-framework","status":"publish","type":"post","link":"https:\/\/www.devapp.it\/wordpress\/knockout-spa-single-page-application-framework\/","title":{"rendered":"Knockout SPA, Single Page Application Framework"},"content":{"rendered":"<p><strong>Knockout.js<\/strong> \u00e8 un <strong>framework per creare <em>web app<\/em><\/strong> molto funzionale che <a href=\"http:\/\/www.devapp.it\/wordpress\/introduzione-a-knockout-js\/\">abbiamo gi\u00e0 conosciuto<\/a> sulle pagine di questo sito. Al fine di animare totalmente un&#8217;applicazione su di esso basata, servono in genere ulteriori strumenti, altre librerie pi\u00f9 o meno grandi, che permettano di creare un pacchetto completo per lo <strong>sviluppo di <em>Single Page Application<\/em><\/strong>\u00a0(SPA). C&#8217;\u00e8 chi ha pensato di realizzarlo e metterlo a disposizione dei <em>front-end developers<\/em> interessati attraverso GitHub: \u00e8 nato cos\u00ec il progetto <a href=\"https:\/\/github.com\/onlyurei\/knockout-spa\" target=\"_blank\">Knockout SPA<\/a>, leggero ma completissimo.<\/p>\n<p>Le sue anime principali sono:<\/p>\n<ul>\n<li><a href=\"http:\/\/knockoutjs.com\/\" target=\"_blank\">Knockout.js<\/a>, il motore, per avere a disposizione un&#8217;architettura completa<em> Model-View-ViewModel<\/em> (MVVM);<\/li>\n<li><a href=\"http:\/\/jquery.com\/\" target=\"_blank\">jQuery<\/a> per la gestione del DOM ed di effetti di vario genere;<\/li>\n<li><a href=\"http:\/\/sugarjs.com\/\" target=\"_blank\">Sugar.js<\/a> per l&#8217;estensione di oggetti nativi;<\/li>\n<li><a href=\"https:\/\/github.com\/flatiron\/director\" target=\"_blank\">Director<\/a> per il routing degli\u00a0URL;<\/li>\n<li><a href=\"http:\/\/requirejs.org\/\" target=\"_blank\">Require.js<\/a> per la gestione e l&#8217;ottimizzazione dei moduli.<\/li>\n<\/ul>\n<p>Questo &#8220;framework di framework&#8221; si fa notare per completezza e modularit\u00e0 ed \u00e8 stato progettato per poter essere modificato nella struttura: l&#8217;autore infatti dichiara nella documentazione che ognuno dei componenti che abbiamo appena nominato pu\u00f2 essere sostituito con una libreria equipollente di nostro piacimento come <a href=\"http:\/\/www.devapp.it\/wordpress\/vue-js-mvvm-in-javascript\/\" target=\"_blank\">Vue.js<\/a> per Knockout o <a href=\"https:\/\/millermedeiros.github.io\/crossroads.js\/\" target=\"_blank\">Crossroads<\/a> per Director.<\/p>\n<p>Siete anche voi appassionati utenti di Knockout.js alla ricerca continua di strumenti per integrarlo? Provate Knockout SPA e fateci sapere se, secondo voi, raggiunge appieno le finalit\u00e0 che si \u00e8 posto!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Knockout.js \u00e8 un framework per creare web app molto funzionale che abbiamo gi\u00e0 conosciuto sulle pagine di&#8230;<\/p>\n","protected":false},"author":561,"featured_media":12726,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[481],"tags":[1699,1700,1848],"class_list":["post-12220","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-risorse-utili","tag-knockout-js","tag-single-page-application","tag-spa-framework"],"acf":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/posts\/12220","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=12220"}],"version-history":[{"count":3,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/posts\/12220\/revisions"}],"predecessor-version":[{"id":12727,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/posts\/12220\/revisions\/12727"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/media\/12726"}],"wp:attachment":[{"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/media?parent=12220"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/categories?post=12220"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/tags?post=12220"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}