{"id":510,"date":"2018-02-23T19:01:37","date_gmt":"2018-02-23T18:01:37","guid":{"rendered":"http:\/\/www.valeriofinazzo.it\/wordpress\/?p=510"},"modified":"2018-02-23T19:01:37","modified_gmt":"2018-02-23T18:01:37","slug":"tutorial-jhipster-primi-passi","status":"publish","type":"post","link":"http:\/\/www.valeriofinazzo.it\/wordpress\/2018\/02\/tutorial-jhipster-primi-passi\/","title":{"rendered":"TUTORIAL JHIPSTER &#8211; PRIMI PASSI"},"content":{"rendered":"<p>Durante la fase di scouting per valutare nuovi framework e nuove librerie mi sono imbattuto in <a href=\"http:\/\/www.jhipster.tech\/\">JHIPSTER<\/a>. Si tratta di una piattaforma di sviluppo che consente di generare una applicazione con quello che gli autori reputano il meglio che il panorama offre. Nel momento in cui scrivo la versione \u00e8 la 4.14.0, che permette di realizzare una webapp basata su Spring Boot 1.5 e Angular 5, mentre la versione 5, gi\u00e0 annunciata, promette il passaggio a Spring Boot 2 e l&#8217;introduzione di React\u00a0 per il client e la rimozione di Angular JS. JHIPSTER ha vinto il\u00a0<a href=\"https:\/\/community.oracle.com\/docs\/DOC-1018302\">Duke&#8217;s Choice Award\u00a02017<\/a>\u00a0 e si \u00e8 classificato terzo al\u00a0<a href=\"https:\/\/jaxenter.com\/winners-jax-innovation-awards-2017-137993.html\" target=\"_blank\" rel=\"noopener\">JAX Innovation award<\/a>\u00a0nella categoria maggior innovazione per l&#8217;ecosistema JAVA.<\/p>\n<p>Avvicinarsi a JHIPSTER ci da il vantaggio di vedere concentrato il top delle tecnologie a disposizione del mondo JAVA e ci da l&#8217;opportunit\u00e0 di assemblarle riducendo al minimo i tempi di creazione della applicazione. Partiamo subito e tiriamo su il nostro primo\u00a0 progetto. Per usare JHIPSTER abbiamo sei approcci possibili:<\/p>\n<ul>\n<li><a href=\"https:\/\/start.jhipster.tech\/\">JHipster Online<\/a>\u00a0\u00e8 un tool online che ti guida nella creazione dell&#8217;app, va bene come prova ma allo stato attuale non consente di gestire modifiche successive<\/li>\n<li>\u201cLocale con YARN\u201d \u00e8 la modalit\u00e0 suggerita dagli autori. Si basa su <a href=\"https:\/\/yarnpkg.com\">YARN<\/a>\u00a0, che\u00a0 \u00e8 il package manager sviluppato da facebook basato su NPM.<\/li>\n<li>\u201cLocale con NPM\u201d \u00e8 identica alla precedente, ma usa <a href=\"https:\/\/www.npmjs.com\/\">NPM<\/a>\u00a0il package manager di Node.js.<\/li>\n<li>\u201cInstallazione tramite package manager\u201d \u00e8 ancora in beta<\/li>\n<li>&#8220;Box <a href=\"https:\/\/www.vagrantup.com\/\">Vagrant<\/a>&#8221; \u00e8 disponibile una macchina virtuale che contiene tutti gli strumenti necessari.<\/li>\n<li>\u201c<a href=\"https:\/\/www.docker.io\/\">Docker<\/a>\u201d \u00e8 disponibile un container docker contenente gli strumenti necessari<\/li>\n<\/ul>\n<p>Usiamo la modalit\u00e0 consigliata e seguiamo i seguenti passi:<\/p>\n<ul>\n<li>Installiamo Java 8<\/li>\n<li>Installiamo Node.js<\/li>\n<li>Installiamo Yarn<\/li>\n<li>installiamo <a href=\"http:\/\/yeoman.io\/\">Yeoman<\/a> tramite il comando: yarn global add yo. Yeoman \u00e8 un tool che consente di creare la struttura base di una app.<\/li>\n<li>installiamo JHipster tramite il comando: yarn global add generator-jhipster<\/li>\n<\/ul>\n<p>Seguendo questi step siamo in grado di creare la nostra app con front-end Angular, qualora volessimo usare AngularJS dobbiamo aggiungere altri due step:<\/p>\n<ul>\n<li>Installare <a href=\"https:\/\/bower.io\/\">Bower<\/a>: yarn global add bower. Bower \u00e8 un package manager rimasto in maintenance, ormai sostituito da YARN e WEBPACK.<\/li>\n<li>Installare <a href=\"https:\/\/gulpjs.com\/\">Gulp<\/a>: yarn global add gulp-cli. Gulp \u00e8 un task manager.<\/li>\n<\/ul>\n<p>A questo punto non resta che creare la nostra prima applicazione. Creiamo una directory e al suo interno lanciamo il comando:\u00a0jhipster<\/p>\n<p>E qui inizia il bello. Jhipster ci interroga sulle caratteristiche che vogliamo e il gioco \u00e8 fatto, alla fine abbiamo una applicazione correttamente funzionante, da poter importare nel nostro editor preferito.<\/p>\n<p>Per vederla funzionante lanciate il comando mvnw, che tirer\u00e0 su il progetto su porta 8080.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Durante la fase di scouting per valutare nuovi framework e nuove librerie mi sono imbattuto in JHIPSTER. Si tratta di una piattaforma di sviluppo che consente di generare una applicazione con quello che gli autori reputano il meglio che il panorama offre. Nel momento in cui scrivo la versione \u00e8 la 4.14.0, che permette di &hellip; <a href=\"http:\/\/www.valeriofinazzo.it\/wordpress\/2018\/02\/tutorial-jhipster-primi-passi\/\" class=\"more-link\">Continua la lettura di <span class=\"screen-reader-text\">TUTORIAL JHIPSTER &#8211; PRIMI PASSI<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[94],"tags":[96,95,21],"_links":{"self":[{"href":"http:\/\/www.valeriofinazzo.it\/wordpress\/wp-json\/wp\/v2\/posts\/510"}],"collection":[{"href":"http:\/\/www.valeriofinazzo.it\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.valeriofinazzo.it\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.valeriofinazzo.it\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.valeriofinazzo.it\/wordpress\/wp-json\/wp\/v2\/comments?post=510"}],"version-history":[{"count":2,"href":"http:\/\/www.valeriofinazzo.it\/wordpress\/wp-json\/wp\/v2\/posts\/510\/revisions"}],"predecessor-version":[{"id":512,"href":"http:\/\/www.valeriofinazzo.it\/wordpress\/wp-json\/wp\/v2\/posts\/510\/revisions\/512"}],"wp:attachment":[{"href":"http:\/\/www.valeriofinazzo.it\/wordpress\/wp-json\/wp\/v2\/media?parent=510"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.valeriofinazzo.it\/wordpress\/wp-json\/wp\/v2\/categories?post=510"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.valeriofinazzo.it\/wordpress\/wp-json\/wp\/v2\/tags?post=510"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}