Introduzione a AngularJS

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Introduzione a AngularJS"

Transcript

1 11 MAGGIO 2016 Introduzione a AngularJS Ing. Evelina Agostini

2 MINI CV Ing. Evelina Agostini - evelina.agostini@elbuild.it - Laureata in Ingegneria Informatica all Università di Firenze Background: Java EE, JSF, PHP, C++, MySQL, Javascript, HTML/CSS Quasi full stack, ad oggi mi concentro maggiormente sul front end Esperienza con AngularJS dal 2014 Sviluppo software, faccio un po di tutto, mi piace imparare cose nuove :) 2

3 COS È ANGULARJS AngularJS è uno dei più popolari framework open source per lo sviluppo di web application Sviluppato originariamente da Misko Hevery (Google) nel 2009 AngularJS 1.0 è stato rilasciato nel 2012 Il progetto è adesso supportato ufficialmente da Google La versione corrente è la Angular 2 è attualmente in beta Sito web, documentazione e tutorial: angularjs.org 3

4 PRINCIPALI CARATTERISTICHE single page application MVC disaccoppia la manipolazione del DOM dalla business logic disaccoppia client side e server side fornisce struttura progettato per facilitare il testing dei componenti (unit testing, E2E testing) 4

5 JQUERY E CO. La necessità di rendere le UI delle web application altamente interattiva è ad oggi prioritaria Il rischio che si corre quando si usano strumenti come JQuery o librerie simili è creare quello che viene chiamato spaghetti code, cioè un codice senza struttura, in cui si mescola manipolazione del DOM e business logic e si creano degli accoppiamenti stretti attraverso l uso dei selettori Conseguenza? Difficoltà di manutenzione, testing e debugging mal di testa :P Differenza tra una libreria e un framework Non significa che jquery non sia utile! 5

6 PAGINA WEB CLASSIC MODE web server browser richiesta URL risposta (web page+assets) HTML JavaScript il browser carica l intera pagina l utente clicca su un link risposta (web page+assets) HTML JavaScript il browser ricarica l intera pagina 6

7 PAGINA WEB CON ANGULAR (O SIMILI) web server browser richiesta URL risposta (web page+assets) HTML JavaScript il browser carica l intera pagina l utente clicca su un link DATA risposta con dati JSON i dati sono caricati nella pagina esistente 7

8 APPLICAZIONE API-DRIVEN SERVER db API applicazione web app mobile altri sistemi 8

9 ALTERNATIVE A ANGULAR JS? 9

10 CARATTERISTICHE DI ANGULAR JS (1) Angular is what HTML would have been, had it been designed for applications. HTML is a great declarative language for static documents. It does not contain much in the way of creating applications, and as a result building web applications is an exercise in what do I have to do to trick the browser into doing what I want? 10

11 CARATTERISTICHE DI ANGULAR JS (2) AngularJS permette di decorare l HTML con speciale markup che si sincronizza con il JavaScript permettendo di concentrarsi sulla business logic invece che aggiornare manualmente le viste. Il data binding e la dependency injection snelliscono fortemente il codice che devi scrivere. Tutto avviene nel browser: è un partner ideale per qualsiasi tecnologia lato server. Non si tratta di un pezzettino nel processo generale di costruire la componente client side di una web application: è una soluzione client side completa, che comprende tutto il codice necessario per gestire il DOM e le chiamate AJAX, che avresti scritto a mano. E mette tutto questo in una struttura ben definita. E basato sull idea che per costruire la UI è meglio usare codice dichiarativo, mentre il codice imperativo è perfetto per la business logic. 11

12 PERCHÉ ANGULARJS E FICO E davvero una buona idea disaccoppiare la manipolazione del DOM dalla logica dell applicazione. Migliora nettamente la testabilità del codice: dare importanza al testing del codice è un bene! Separare nettamente lo sviluppo della parte client side da quella server side permette di procedere in parallelo e facilita il lavoro in team. Permette anche il riuso di entrambe le parti. L utilizzo di un framework di questo tipo guida lo sviluppatore nella costruzione di una app, dal design della UI, alla scrittura della business logic, al testing. Rende i task comuni banali e quelli difficili possibili. Dare una struttura ben definita al codice che compone la UI migliora drasticamente la manutenibilità. 12

13 ANGULAR TI LIBERA DA ALCUNE ROTTURE Registrare callback, rischiando di creare un albero disordinato di chiamate. Hai meno codice da scrivere ed è più facile vedere cosa fa la tua applicazione. Manipulare il DOM in modo programmatico, rischiando di commettere errori e, anche qui, di complicare la struttura, mescolando la logica dell applicazione con il codice prettamente necessario per aggiornare la pagina. Pensare al trasferimento dei dati dalla UI e verso la UI. Scrivere un sacco di codice di inizializzazione solo per partire. 13

14 CURVA DI APPRENDIMENTO La barriera iniziale per cominciare a sviluppare con AngularJS è molto bassa: dopo aver visto alcuni esempi, sei pronto per partire e costruire qualcosa che funziona, anche senza aver approfondito tutti i concetti. La documentazione disponibile per partire è buona. Quando arrivi a costruire una app reale la curva si alza, e la documentazione può risultare un po più carente per i task che ti ritrovi a affrontare. Niente di impossibile comunque :) 14

15 PRINCIPALI COMPONENTI (1) Template: HTML con elementi di markup addizionali Directive: estendono l HTML con attributi e elementi custom Model: i dati, che vengono elaborati dalla business logic e mostrati nelle viste Scope: il contesto dove è memorizzato il model, in modo che i controller, le directive e le espressioni nelle viste possano accedervi Espressioni: risiedono nelle viste, accedono alle variabili e alle funzioni nello scope Compiler: esegue il parsing dei template e istanzia le directive e le espressioni 15

16 PRINCIPALI COMPONENTI (2) Filter: formattano il valore delle espressioni per mostrarle all utente Vista: cosa vede l utente (il DOM) Data Binding: sincronizza il model e le viste Controller: la business logic dietro alle viste Dependency Injection: crea e collega oggetti e funzioni Modulo: il contenitore per le diverse parti di una app Service: un componente di business logic riusabile indipendente dalle viste 16

17 DATA BINDING Il data-binding, nelle app Angular, è il meccanismo di sincronizzazione automatica dei dati tra il modello e i componenti della vista. Il modo in cui Angular implementa questo meccanismo fa sì che il model possa essere considerato la single-source-of-truth nell applicazione. In ogni istante la view è una proiezione del model; quando il model cambia, la view riflette questo cambiamento e viceversa. Questo rende possibile eliminare tutte le procedure di manipolazione del DOM dalla lista di cose di cui ti devi preoccupare :) 17

18 ONE-WAY DATA BINDING view template one-time merge model La maggior parte dei sistemi di templating collega i dati in una sola direzione effettuando un merge dei template e dei componenti del model in una vista. Dopo che l operazione di merge è stata effettuata, la vista non riflette eventuali cambiamenti nel model o in altre sezioni della stessa. Allo stesso modo, qualsiasi modifica che l utente effettua a partire dalla vista non viene propagato nel model. Questo significa che lo sviluppatore deve scrivere del codice che effettui costantemente una sincronizzazione della vista con il modello e viceversa. 18

19 TWO-WAY DATA BINDING template compiler Il template, cioè l HTML con markup addizionale o directive associate, viene compilato: questo step produce una live view modifiche nella view aggiornano il model view aggiornamento continuo il model è la singlesource-of-truth model cambiamenti nel model aggiornano la view Qualsiasi modifica nella view è immediatamente riportata nel model e qualsiasi cambiamento nel model viene propagato nella view Il model è il single-source-of-truth per lo stato dell applicazione Questo semplifica la gestione da parte dello sviluppatore Si può pensare alla vista come una proiezione istantanea del modello 19

20 DATA BINDING - ESEMPIO (1) Browser Template 20

21 DATA BINDING - ESEMPIO (2) View (DOM) Angular si occupa del binding: ogni volta che il valore dell input cambia, il valore delle espressioni è automaticamente ricalcolato e il DOM è aggiornato di conseguenza name: eve Scope 21

22 TEMPLATE (1) Questo è un template Angular. Sembra normale HTML, con alcuni elementi di markup aggiuntivi. Quando Angular esegue l applicazione, effettua il parsing del template e processa questo markup utilizzando il compiler. Il DOM, così caricato, trasformato e visualizzato diventa quindi la view. 22

23 TEMPLATE (1) Directive Il primo tipo di markup aggiuntivo sono le directive. Esse applicano un comportamento particolare a attributi o elementi nell HTML. L attributo ng-app è collegato ad una directive che inizializza automaticamente la nostra applicazione. Questo è un template Angular. Sembra La directive normale ng-model HTML, invece memorizza/aggiorna con alcuni elementi il valore del campo di input da e verso una variabile. di markup aggiuntivi. Quando Angular esegue l applicazione, effettua il parsing del template e processa questo markup utilizzando il compiler. Il DOM, così caricato, trasformato e visualizzato diventa quindi la view. 23

24 TEMPLATE (1) Il secondo tipo di markup aggiuntivo sono le doppie parentesi graffe: {{ expression filter }}. Quando il compiler incontra questo markup, lo sostituisce con il valore calcolato. Directive Un espressione in un template è uno snippet di codice JavaScript-like che permette ad Angular di leggere e scrivere le variabili. Questo è un template Angular. Sembra normale HTML, con alcuni elementi di markup aggiuntivi. Quando Angular esegue l applicazione, effettua il parsing del template e processa questo markup utilizzando il compiler. Il DOM, così caricato, trasformato e visualizzato diventa quindi la view. 24

25 TEMPLATE (2) In una tipica app Angular troviamo una serie di file HTML che rappresentano i template E possibile mostrare viste multiple in una pagina principale utilizzando la directive ng-view per caricare queste rappresentazioni parziali (partial), cioè segmenti di template posizionati in file HTML separati, in base alle configurazioni di routing 25

26 CONTROLLER In Angular, un Controller è definito da una funzione JavaScript costruttore, che viene utilizzata per modificare lo scope. Quando un Controller viene collegato con il DOM attraverso la directive ngcontroller, Angular instanzia un nuovo oggetto Controller, utilizzando la funzione costruttore. Un nuovo scope figlio viene creato e reso disponibile nel controller come parametro iniettabile ($scope). I controller sono utilizzati per: inizializzare lo stato dell oggetto $scope aggiungere funzionalità all oggetto $scope 26

27 CONTROLLER: ESEMPIO (1) 27

28 CONTROLLER: ESEMPIO (2) inizializziamo l oggetto $scope aggiungiamo funzionalità 28

29 CONTROLLER: ESEMPIO (3) $scope.findanagrams = function(){! if ($scope.name){! $scope.anagrams = calculatepermutations('', $scope.name);! }! }; Controller anagrams: [ eve, eev', vee ] name: eve findanagrams: function <div ng-controller="anagramscontroller">! <h1>ciao {{name}}!</h1>! <input type="text" ng-model="name" ng-change="resetanagrams()" placeholder="scrivi il tuo nome" />! <input type="button" ng-click="findanagrams()" value="trova anagrammi"/>! <div ng-show="anagrams.length">! Ho trovato {{anagrams.length}} anagrammi per il tuo nome:! <ul>! <li ng-repeat="anagram in anagrams">! {{anagram}}! </li>! Introduzione </ul>! a AngularJS - Ing. Evelina Agostini 29 View Scope

30 SERVICE Nell esempio che abbiamo visto il controller contiene tutta la logica. Quando l applicazione cresce è una buona pratica spostare la logica indipendente dalla vista dal controller in un service, in modo che possa essere riusata in altre parti dell applicazione. In seguito vedremo che i service sono anche il punto giusto dove inserire codice che si interfaccia con un backend. I Service in angular sono oggetti che vengono collegati, tra loro o con gli altri componenti, attraverso la dependency injection (DI). I Service possono essere usati per organizzare il codice e condividerne porzioni all interno della app. I service in Angular sono: istanziati con modalità lazy: un service viene istanziato quando un componente dell applicazione dipende da esso; singleton: ogni componente che dipende da un service ottiene un riferimento alla singola instanza generata dalla service factory. 30

31 SERVICE - ESEMPIO Dependency Injection il modulo anagramsapp dipende dal modulo permutationsmodule Controller Service 31

32 SCOPE Lo Scope è un oggetto che fa riferimento al model dell applicazione. E un contesto di esecuzione per le espressioni. Gli scope sono organizzati in una struttura gerarchica che imita la struttura del DOM. Gli scope possono essere innestati, per limitare l accesso alle proprietà da parte di un componente e allo stesso tempo fornire l accesso a proprietà condivise. Gli scope innestati possono essere: child scope: eredita le proprietà del suo parent scope isolated scope: non eredita dal suo parent scope (vediamo più avanti a cosa serve) Uno scope fornisce un contesto nel quale il valore delle espressioni viene calcolato. Per esempio l espressione {{name}} di per sé è priva di significato, a meno che non sia calcolata in uno specifico scope, che definisce la proprietà name. Gli scope forniscono un interfaccia ($watch) per osservare i cambiamenti nel model. 32

33 SCOPE - COME FUNZIONA Lo Scope è la colla tra il controller e la view. Durante la fase di compilazione del template le directive creano delle espressioni di watch sullo scope, che permettono loro di essere notificate quando le proprietà dello scope cambiano, in modo che possano visualizzare i valori aggiornati nel DOM. Sia i controller che le directive hanno un riferimento allo scope, ma non gli uni alle altre. Questo meccanismo isola il controller dalla directive e dal DOM. Questo è importante per lo unit testing dei componenti. 33

34 SCOPE - GERARCHIE Ogni applicazione Angular ha esattamente un root scope, ma può avere multipli child scope. Alcune directive possono creare nuovi child scope; quando questi sono creati, vengono aggiunti come figli del loro parent scope. Questo crea una struttura ad albero che corrisponde al DOM a cui sono collegati. Quando l espressione {{name}} viene calcolata, Angular prima guarda nello scope associato con l elemento: se non trova la proprietà name, la va a cercare nel parent scope e così via fino a raggiungere il root scope (prototypical inheritance). Nota: abbiamo visto che gli scope innestati possono essere definiti come isolated scope e in quel caso non ereditano dal loro parent scope. 34

35 SCOPE - ESEMPIO Controller Template 35

36 SCOPE - ESEMPIO Controller Template 36

37 SCOPE - ESEMPIO (2) name= Evelina names= [ Giulio, Luca, Diego ] name= Dario name= Giulio name= Luca name= Diego rootscope! name= Dario secondname= Gino 37

38 DIRECTIVE Ad alto livello, le directive sono marker su elementi del DOM (come un attributo, il nome di un elemento, un commento, o una classe CSS) che comunicano al compiler Angular di collegare una specifica funzionalità a quell elemento del DOM e ai suoi figli. Angular fornisce un set di directive built-in, come ngmodel, ngclass, ngclick, ngshow, ngrepeat Come per i controller e i service, si possono creare delle directive custom. 38

39 DIRECTIVE: MODALITÀ DI MATCHING Come un attributo: <span my-directive></span>! Come una classe CSS: <span class="my-directive: expression;"></ span> Come un elemento: <my-directive></my-directive> Come un commento: <!-- directive: my-directive expression > Best Practice: preferire i nomi dei tag e gli attributi rispetto ai commenti o ai nomi delle classi. Generalmente così è più semplice determinare quale directive è associato ad un dato elemento. 39

40 DIRECTIVE: ESEMPIO (1) Vogliamo creare un componente riusabile per mostrare messaggi di success/ warning/error utilizzando gli alert di Bootstrap 40

41 CUSTOM DIRECTIVE: ESEMPIO (2) Template Directive 41

42 CUSTOM DIRECTIVE: ESEMPIO (2) Controller Template Template della directive Directive 42

43 DIRECTIVE: SCOPE Scope: se non definisco uno scope per la directive, viene utilizzato lo scope del controller associato con il template o con la porzione del template. Attraverso l attributo scope posso regolare questo comportamento: se lo imposto a true, viene creato un nuovo scope, che si inserisce nella gerarchia; se lo associo a un nuovo oggetto (come nell esempio), creo un isolated scope e posso passare dei parametri (variabili, reference a oggetti e funzioni) alla directive. Questo è utile per riutilizzare più volte la stessa directive nello stesso contesto con contenuto diverso. scope: {! myobject: '=', myfunction: '&', mylabel: '@' } // Collegamento con l oggetto! // Passaggio del riferimento (della funzione)! // Passaggio del valore associato alla variabile! 43

44 DIRECTIVE: LINK E COMPILE Per ogni directive è possibile definire una funzione link o una funzione compile (o entrambe) La funzione link è utilizzata principalmente per collegare event listener a elementi del DOM, osservare proprietà del model per rilevare cambiamenti, e aggiornare il DOM. Si può utilizzare questa funzione per eseguire della logica, sapendo che tutti gli elementi figli sono stati compilati e tutte le funzioni link associate con gli elementi figli sono state eseguite. La funzione compile è utilizzata per modificare il DOM prima che la funzione link venga eseguita. Si può quindi utilizzare questa funzione per trasformare il DOM originale (cioè il template non compilato) prima che Angular ne crei un istanza e che lo scope venga creato. Nota: la funzione compile non ha accesso allo scope. Solitamente la funzione link è considerata il posto più sicuro per inserire il tuo codice. E quella che viene usata la maggior parte delle volte. 44

45 ROUTING Il sistema di routing di Angular permette di implementare applicazioni SPA (Single Page Application) con viste multiple. Un applicazione di questo tipo consiste di multiple view (template HTML dove ogni template è associato ad una route specifica). Con il meccanismo di routing un applicazione Angular può mostrare contenuti diversi in base a quale route viene selezionata. Il pratica le route sono URL che collegano a un contenuto specifico dell applicazione. I framework di routing per le applicazioni di tipo SPA aggiornano la URL del browser quando l utente naviga attraverso la app. Viceversa, questo permette anche di guidare la navigazione attraverso la app cambiando la URL nel browser. In questo modo si possono creare dei bookmark per sezioni specifiche della app. AngularJS fornisce di base il modulo ngroute per il routing. Un alternativa è AngularUI Router ( si tratta di un framework di routing per AngularJS, molto flessibile, che permette di organizzare le varie sezioni dell interfaccia utente in una macchina a stati. UI-Router è organizzato intorno agli state, che possono opzionalmente avere delle route collegate, così come altre funzionalità. 45

46 ROUTING: ESEMPIO App con due pagine : lista utenti e dettagli utente Usiamo ui-router per il routing 46

47 ROUTING: ESEMPIO (2) 47

48 USARE UNA API REST Essenzialmente ci sono due strumenti principali per interfacciarsi con una API REST da una app Angular: $http e $resource. $http è fornito insieme Angular ed è pensato per generiche chiamate AJAX. Lavora a più basso livello e per questo necessità probabilmente della scrittura di più codice, ma permette maggior flessibilità e controllo. $resource estende $http per l uso nello scenario di una API RESTful, fornendo un più alto livello di astrazione. Esistono anche librerie di terze parti, es. Restangular. 48

49 USARE UNA API REST: ESEMPIO (1) Riprendiamo l esempio degli utenti, questa volta recuperandoli da una API remota Per questo esempio ho utilizzato JSONPlaceholder ( jsonplaceholder.typicode.com) che fornisce fake API per testing e prototyping 49

50 USARE UNA API REST: ESEMPIO (2) 50

51 USARE UNA API REST: ESEMPIO (3) 51

52 STRUMENTI DI SVILUPPO Yeoman è usato per generare automaticamente la struttura della tua app: crea le cartelle di base, i file e le configurazioni per partire velocemente con lo sviluppo. Grunt è usato per velocizzare lo sviluppo e aiutare nell eseguire task ripetitivi. Bower è usato per per aggiungere plugin o framework di terze parti e risolvere le dipendenze. 52

53 CENNI SUL TESTING Le feature di Angular sono state progettate in modo da facilitare il testing del codice. Il principio del Separation of Concerns, che emerge dalla struttura degli elementi di Angular, facilita lo unit testing delle diverse parti. Ad esempio la Dependency Injection permette di testare i componenti passando come dipendenze degli oggetti mock. Strumenti aggiuntivi per il testing delle app Angular: Karma: è un tool command line in JavaScript che può essere usato per lanciare un web server che carica il codice dell applicazione e esegue i test. Si può configurare Karma per eseguire con vari browser in modo da verificare che l applcazione funzioni correttamente in tutti i browser supportati - Jasmine: è un framework per il testing di codice JavaScript. Non dipende da altri framework JS e non richiede che venga creato un DOM per eseguire i test - jasmine.github.io 53

54 UN ESEMPIO REALE: SHOFER (1) Shofer è un servizio di trasporto on-demand in tempo reale al momento attivo a Perth, Australia e a Durban, Sud Africa - backoffice 54

55 ANGULAR JS: UN ESEMPIO REALE (2) Shofer fornisce i suoi servizi tramite una app mobile, disponibile per Android e ios Il backoffice è realizzato con una app AngularJS backoffice backend AngularJS Java EE JAX-RS Application server: Glassfish DB: MySQL API HTTPS REST JSON app mobile 55

56

57

58

59

60

61

62 ANGULAR 2 Angular 2 è una versione completamente rinnovata per AngularJS. Attualmente la versione 2.0 è in Beta - Non si tratta semplicemente di un aggiornamento ma di una riscrittura completa dell intero framework: cambiano molte cose rispetto alla prima versione, comprese caratteristiche fondamentali. Solo alcuni esempi: Si utilizza TypeScript, che estende il Javascript. Il codice viene poi compilato in modo che il browser continui a eseguire JS Si utilizza un approccio component-based: quello che in Angular 1.X si fa con controller e directive, in Angular 2 si fa con i component Scompare lo $scope Ma allora ha ancora senso imparare Angular 1.X? La comunità degli sviluppatori ha pareri discordi. Bisogna notare che Angular 2 è il futuro ma è al momento in Beta e non si sa bene quando sarà rilasciato ufficialmente, mentre Angular 1 è un prodotto stabile, con molte risorse disponibili sia in termini di documentazione che di librerie. Fondamentalmente: dipende da cosa hai intenzione di farci 62

63 INTRODUZIONE A ANGULAR JS GRAZIE PER L ATTENZIONE! Domande? Ing. Evelina Agostini evelina.agostini@elbuild.it 63

26-28 Luglio Angular 2. One framework. Mobile and desktop.

26-28 Luglio Angular 2. One framework. Mobile and desktop. 26-28 Luglio 2016 Angular 2 One framework. Mobile and desktop. AGENDA Gli argomenti che affronteremo in questa sessione 1 INTRODUZIONE 3 Cos è Angular 2 e perchè dovremmo usarlo. Architettura generale

Dettagli

Analisi e comparazione dei Framework OpenSwing e Google Web Toolkit per lo sviluppo di interfacce utente con paradigma MVC.

Analisi e comparazione dei Framework OpenSwing e Google Web Toolkit per lo sviluppo di interfacce utente con paradigma MVC. tesi di laurea Analisi e comparazione dei Framework OpenSwing e Google Web Toolkit. Anno Accademico 2009/2010 relatore Ch.mo prof. Porfirio Tramontana correlatore Ing. Luca Anniciello candidato Gianluca

Dettagli

PER RINNOVARE IL SITO DEL JUG TRENTO. Riccardo Tasso (@riccardotasso)

PER RINNOVARE IL SITO DEL JUG TRENTO. Riccardo Tasso (@riccardotasso) PER RINNOVARE IL SITO DEL JUG TRENTO Riccardo Tasso (@riccardotasso) ANGULARJS lightweight framework 100% javascript supporto per i browser moderni (> IE 8) licenza MIT (permissiva) (by Google) ANGULARJS

Dettagli

Luca Tesei. Laboratorio di Sviluppo Web: Le Basi. Modulo IFTS. Fermo 31/03, 03/04, 07/ Prof. Luca Tesei Università di Camerino 1

Luca Tesei. Laboratorio di Sviluppo Web: Le Basi. Modulo IFTS. Fermo 31/03, 03/04, 07/ Prof. Luca Tesei Università di Camerino 1 Luca Tesei Laboratorio di Sviluppo Web: Le Basi Modulo IFTS Fermo 31/03, 03/04, 07/04 2017 Prof. Luca Tesei Università di Camerino 1 Informazioni di Contatto Email docente: luca.tesei@unicam.it Telefono:

Dettagli

Strumenti per l automazione del testing di applicazioni web Javascript-based

Strumenti per l automazione del testing di applicazioni web Javascript-based tesi di laurea Strumenti per l automazione del testing di applicazioni web Javascript-based Anno Accademico 2005/2006 relatore Ch.mo prof. Porfirio Tramontana 1 candidato Salvatore Agnello Matr. 41/2612

Dettagli

Sviluppare applicazioni HTML5 solide e scalabili in AngularJS

Sviluppare applicazioni HTML5 solide e scalabili in AngularJS Sviluppare applicazioni HTML5 solide e scalabili in AngularJS PREREQUESITI: Il partecipante dovrà possedere una certà familiarità con l uso di HTML, Javascript (variabili, manipolazione array e oggetti,

Dettagli

CODE MODEL - Modalità di scrittura del codice

CODE MODEL - Modalità di scrittura del codice CODE MODEL - Modalità di scrittura del codice Visual Studio supporta due modelli per la codifica di pagine web: - Codice Inline: Questo modello è il più vicino al tradizionale ASP. Tutto il markup HTML

Dettagli

Anno Accademico Laboratorio di Tecnologie Web Uso di Firebug

Anno Accademico Laboratorio di Tecnologie Web Uso di Firebug Universita degli Studi di Bologna Facolta di Ingegneria Anno Accademico 2008-2009 Laboratorio di Tecnologie Web Uso di Firebug http://www-lia.deis.unibo.it/courses/tecnologieweb0809 Estensione del browser

Dettagli

CORSO DI PROGRAMMAZIONE JAVA STANDARD + ENTERPRISE EDITION

CORSO DI PROGRAMMAZIONE JAVA STANDARD + ENTERPRISE EDITION CORSO DI PROGRAMMAZIONE JAVA STANDARD + ENTERPRISE EDITION 0 DURATA 200 ore CONTENUTI Oracle PL/SQL Introduzione al PL/SQL Cenni su SQL con utilizzo di SQL*PLUS Configurazione ambiente Developer DB Classi,

Dettagli

Smart Cities and Communities and Social Innovation Bando MIUR. D.D. 391/Ric. del 5 luglio Application Store

Smart Cities and Communities and Social Innovation Bando MIUR. D.D. 391/Ric. del 5 luglio Application Store Smart Cities and Communities and Social Innovation Bando MIUR D.D. 391/Ric. del 5 luglio 2012 Application Store Finalità Con il termine application store non si intende indicare un oggetto finalizzato

Dettagli

Programma didattico. Sviluppare Applicazioni Distribuite in ambiente. Spring MVC

Programma didattico. Sviluppare Applicazioni Distribuite in ambiente. Spring MVC Programma didattico Sviluppare Applicazioni Distribuite in ambiente Spring MVC Programma del corso 1.Progettazione e Sviluppo Database Relazionali Questa competenza permette di Progettare e Sviluppare

Dettagli

TESI DI LAUREA IN INFORMATICA

TESI DI LAUREA IN INFORMATICA UNIVERSITA DEGLI STUDI DI NAPOLI FEDERICO II TESI DI LAUREA IN INFORMATICA UNA WEB APPLICATION SU INFRASTRUTTURA PER IL PROGETTO DAME Tutor Accademico: Dott.ssa Anna Corazza Tutor Aziendale: Dott. Massimo

Dettagli

Come creare una pianificazione che genera una spedizione in Contactsend

Come creare una pianificazione che genera una spedizione in Contactsend Come creare una pianificazione che genera una spedizione in Contactsend Obiettivo In questo tutorial vedremo che cosa è una pianificazione, come crearla dall interfaccia di Contactplan e come usarla per

Dettagli

3.3.6 Gli operatori Le funzioni di accesso al tipo Le strutture di controllo Le funzioni

3.3.6 Gli operatori Le funzioni di accesso al tipo Le strutture di controllo Le funzioni IIndice Capitolo 1 Da dove partiamo: pagine web statiche 1 1.1 Principi di base.............................. 1 1.1.1 Il paradigma client-server.................... 1 1.1.2 Ipertesto, multimedia, ipermedia................

Dettagli

Relazione sul progetto CronoMeteo: Un particolare viaggio nel tempo.

Relazione sul progetto CronoMeteo: Un particolare viaggio nel tempo. Relazione sul progetto CronoMeteo: Un particolare viaggio nel tempo. Indice Introduzione al progetto - L idea Stato dell arte Progetto realizzato - Strumenti - Progetto Database Conclusioni e sviluppi

Dettagli

Javascript e CSS nelle pagine WEB

Javascript e CSS nelle pagine WEB 1 Javascript e CSS nelle pagine WEB Esempi applicativi Autrice: Turso Antonella Carmen INDICE ARGOMENTI 2... 5 LEZIONE 1... 6 COSA SONO I JAVASCRIPT... 6 LEZIONE 2... 8 STRUTTURA DEL LINGUAGGIO JAVASCRIPT

Dettagli

Master SIT settembre Corso Web & GIS. Chiara Renso. ISTI- CNR

Master SIT settembre Corso Web & GIS. Chiara Renso. ISTI- CNR MAPSERVER Corso ISTI- CNR c.renso@isti.cnr.it Mapserver è un software opensource fornito dall Università del Minnesota http://www.mapserver.org/ e fornisce un ambiente per la pubblicazione sul web di mappe.

Dettagli

PG5 Starter Training Applicazione File System Daniel Ernst EN02 2012-02-26 Stefano Peracchi IT01 2013-05-20

PG5 Starter Training Applicazione File System Daniel Ernst EN02 2012-02-26 Stefano Peracchi IT01 2013-05-20 PG5 Starter Training Applicazione File System Daniel Ernst EN02 2012-02-26 Stefano Peracchi IT01 2013-05-20 Introduzione Materiale richiesto Notebook o computer Controllore PCD1 E Cavo USB Scheda «Training»

Dettagli

Analizzatori Lessicali con JLex. Giuseppe Morelli

Analizzatori Lessicali con JLex. Giuseppe Morelli Analizzatori Lessicali con JLex Giuseppe Morelli Terminologia Tre concetti sono necessari per comprendere la fase di analisi lessicale: TOKEN: rappresenta un oggetto in grado di rappresentare una specifica

Dettagli

Verifica e Validazione del Software

Verifica e Validazione del Software Verifica e Validazione del Software Testing Object Oriented Ingegneria del Software 2 Testing Object Oriented 1 Riferimenti Ian Sommerville, Ingegneria del Software, capitoli 22-23-24 (più dettagliato

Dettagli

scrivere window.alert(). 2 Nell esempio sarebbe scritto solo var hello, senza pertanto attribuire alla variabile hello alcun valore

scrivere window.alert(). 2 Nell esempio sarebbe scritto solo var hello, senza pertanto attribuire alla variabile hello alcun valore In genere il metodo alert() è usato per verificare il valore delle variabili durante la fase di correzione degli errori (debugging), fase che può essere svolta anche con l ausilio di appositi programmi

Dettagli

Sviluppo di un applicazione di front-end per il monitoraggio di un Isola Ecologica

Sviluppo di un applicazione di front-end per il monitoraggio di un Isola Ecologica Sviluppo di un applicazione di front-end per il monitoraggio di un Isola Ecologica Candidato: Lorenzo D Eri Relatore: Prof. Sergio Carrato Correlatore: Ing. Vojko Croselli 2 dicembre 2015 Università degli

Dettagli

2011 Politecnico di Torino 1

2011 Politecnico di Torino 1 SQL per le applicazioni Call Level Interface Le richieste sono inviate al DBMS per mezzo di funzioni del linguaggio ospite soluzione basata su interfacce predefinite API, Application Programming Interface

Dettagli

PRIMO MODULO. DURATA: 80 ore CONTENUTI

PRIMO MODULO. DURATA: 80 ore CONTENUTI 0 PRIMO MODULO DURATA: 80 ore CONTENUTI 1. Introduzione alla programmazione a. Cosa è la programmazione strutturata b. Strutture dati c. Come si affronta una problematica da risolvere d. Quali sono i passi

Dettagli

Sviluppo web con CakePHP

Sviluppo web con CakePHP Sviluppo web con CakePHP Andrea Chiarottino e Francesco Ronchi Linux Day Torino 24-10-2009 Presentazione Chi siamo... Chi siete? Perchè un framework? Velocità di sviluppo Riutilizzo del codice Struttura

Dettagli

FlyHigh. Progetto realizzato per l'esame di Laboratorio e Progettazione Web. Corso di Laurea in Informatica Umanistica. Italo Dei

FlyHigh. Progetto realizzato per l'esame di Laboratorio e Progettazione Web. Corso di Laurea in Informatica Umanistica. Italo Dei FlyHigh Progetto realizzato per l'esame di Laboratorio e Progettazione Web Corso di Laurea in Informatica Umanistica Italo Dei Introduzione Questo progetto mira allo sviluppo di un applicazione web che

Dettagli

Custom software development

Custom software development Company Portfolio I nostri servizi 2 Custom software development Non sviluppiamo solo codice, ma soluzioni reali ed efficaci per il tuo business. Web application Realizziamo e portali e applicazioni web

Dettagli

Programmi e Oggetti Software

Programmi e Oggetti Software Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 06 Programmi e Oggetti Software Marzo 2010 Programmi e Oggetti Software 1 Contenuti Cosa è un programma Cosa significa programmare Il

Dettagli

Programmazione Java Avanzata. MVC Model, View,, Controller. Ing. Gianluca Caminiti

Programmazione Java Avanzata. MVC Model, View,, Controller. Ing. Gianluca Caminiti Programmazione Java Avanzata MVC Model, View,, Controller Ing. Gianluca Caminiti Uso di JSP: complessità crescente Invocare codice Java direttamente. Posizionare tutto il codice Java in una pagina JSP

Dettagli

Mobile & Technology. Area di formazione. Corso ios base. Corso ios avanzato. Il mondo delle App: idee, creatività, business.

Mobile & Technology. Area di formazione. Corso ios base. Corso ios avanzato. Il mondo delle App: idee, creatività, business. Area di formazione Mobile & Technology 01 02 03 04 05 Corso ios base Corso ios avanzato Il mondo delle App: idee, creatività, business Progetto App AngularJS - Up and running 01 Corso ios base Ore: 24

Dettagli

Luca Tesei. Laboratorio di Sviluppo Web: Le Basi. Modulo IFTS. Fermo 31/03, 03/04, 07/ Prof. Luca Tesei Università di Camerino 1

Luca Tesei. Laboratorio di Sviluppo Web: Le Basi. Modulo IFTS. Fermo 31/03, 03/04, 07/ Prof. Luca Tesei Università di Camerino 1 Luca Tesei Laboratorio di Sviluppo Web: Le Basi Modulo IFTS Fermo 31/03, 03/04, 07/04 2017 Prof. Luca Tesei Università di Camerino 1 Informazioni di Contatto Email docente: luca.tesei@unicam.it Telefono:

Dettagli

Architetture Client/Server. Un architettura è centralizzata quando i dati e le applicazioni (programmi) risiedono in un unico nodo elaborativo

Architetture Client/Server. Un architettura è centralizzata quando i dati e le applicazioni (programmi) risiedono in un unico nodo elaborativo Basi di Dati Architetture Client/Server D B M G Architettura centralizzata Un architettura è centralizzata quando i dati e le applicazioni (programmi) risiedono in un unico nodo elaborativo Tutta l intelligenza

Dettagli

Prof. Pagani corrado JAVA

Prof. Pagani corrado JAVA Prof. Pagani corrado JAVA NASCITA DI JAVA Java è stato creato, a partire da ricerche effettuate alla Stanford University agli inizi degli anni Novanta, da un gruppo di esperti sviluppatori capitanati da

Dettagli

Programmi e Oggetti Software

Programmi e Oggetti Software Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 2 Programmi e Oggetti Software Alfonso Miola Settembre 2007 http://www.dia.uniroma3.it/~java/fondinf1/ Programmi e Oggetti Software

Dettagli

Versione 1.7. Manuale per Creatori Corsi. Parte I: Accesso e Creare Risorse

Versione 1.7. Manuale per Creatori Corsi. Parte I: Accesso e Creare Risorse Versione 1.7 Manuale per Creatori Corsi Parte I: Accesso e Creare Risorse Autore Prof.ssa Antonella Greco Pagina di accesso Per accedere cliccate su Login. Appare 2 Se dovete iscrivervi Siete alla schermata

Dettagli

MODEL-VIEW-CONTROLLER PROBLEMA

MODEL-VIEW-CONTROLLER PROBLEMA MODEL VIEW CONTROLLER DESIGN PATTERN MODEL-VIEW-CONTROLLER INGEGNERIA DEL SOFTWARE Università degli Studi di Padova Dipartimento di Matematica Corso di Laurea in Informatica, A.A. 2013 2014 rcardin@math.unipd.it

Dettagli

cordova - react - redux the mobile application

cordova - react - redux the mobile application cordova - react - redux the mobile application Cordova Web View Motore di rendering HTML. Web App L applicazione viene implementata utilizzando le tecnologie web come HTML, CSS e JavaScript e viene eseguita

Dettagli

SAP Toolkit for HTML5

SAP Toolkit for HTML5 Costruire un ambiente integrato per lo sviluppo con il SAP Toolkit for HTML 5 è semplice. Non è strettamente necessario un sistema SAP backend, in questa fase utilizzeremo un ben più economico mock file

Dettagli

Modularizzazione del software

Modularizzazione del software Modularizzazione del software Ing. Luca De Santis DIS - Dipartimento di informatica e sistemistica Anno accademico 2006/2007 Fortran 90: Subroutine e function DIS - Dipartimento di informatica e sistemistica

Dettagli

Linguaggi di Programmazione

Linguaggi di Programmazione Linguaggi di Programmazione Linguaggi di Programmazione Programmazione. Insieme delle attività e tecniche svolte per creare un programma (codice sorgente) da far eseguire ad un computer. Che lingua comprende

Dettagli

Argomenti XML JSON. Linguaggi per la definizione e lo scambio di dati strutturati, semi-strutturati, non strutturati. XML Data Model JSON

Argomenti XML JSON. Linguaggi per la definizione e lo scambio di dati strutturati, semi-strutturati, non strutturati. XML Data Model JSON XML JSON Argomenti 2 Linguaggi per la definizione e lo scambio di dati strutturati, semi-strutturati, non strutturati XML Data Model JSON 3 XML XML extensible Markup Language 4 Modello di dati XML Nato

Dettagli

Programmazione orientata agli oggetti Ereditarietà

Programmazione orientata agli oggetti Ereditarietà Programmazione orientata agli oggetti Ereditarietà Fondamenti di Informatica L-B 1 Programmazione basata su oggetti Il modello visto finora costituisce un sottoinsieme del modello orientato agli oggetti

Dettagli

SQL e linguaggi di programmazione. Cursori. Cursori. L interazione con l ambiente SQL può avvenire in 3 modi:

SQL e linguaggi di programmazione. Cursori. Cursori. L interazione con l ambiente SQL può avvenire in 3 modi: SQL e linguaggi di programmazione L interazione con l ambiente SQL può avvenire in 3 modi: in modo interattivo col server attraverso interfacce o linguaggi ad hoc legati a particolari DBMS attraverso i

Dettagli

L'importanza dell'usabilità per i siti Web della PA: rischi e strumenti a supporto della valutazione

L'importanza dell'usabilità per i siti Web della PA: rischi e strumenti a supporto della valutazione L'importanza dell'usabilità per i siti Web della PA: rischi e strumenti a supporto della valutazione Giuseppe Desolda IVU Lab, Dipartimento di Informatica, Università degli Studi di Bari Aldo Moro L importanza

Dettagli

Lab 01 Introduzione a Codelite

Lab 01 Introduzione a Codelite Fondamenti di Informatica e Laboratorio T-AB e Fondamenti di Informatica T1 Ingegneria Elettronica e Telecomunicazioni e Ingegneria dell Automazione a.a. 2011/2012 Lab 01 Introduzione a Codelite Lab01

Dettagli

Università di Udine DIEG Dipartimento di Ingegneria Elettrica, Gestionale e Meccanica Laboratorio di Ingegneria Gestionale

Università di Udine DIEG Dipartimento di Ingegneria Elettrica, Gestionale e Meccanica Laboratorio di Ingegneria Gestionale Università di Udine DIEG Dipartimento di Ingegneria Elettrica, Gestionale e Meccanica Laboratorio di Ingegneria Gestionale 540054-LLP-L-2013-1-ES-ERASMUS-EKA VALS Virtual Alliances for Learning Society

Dettagli

Corso sul linguaggio Java

Corso sul linguaggio Java Corso sul linguaggio Java Modulo L6 (JAVA9) 1 Introduzione alle applet 1 Prerequisiti Architettura client/server Elementi di base HTML Programmazione Java Utilizzo package awt di Java 2 1 Introduzione

Dettagli

CONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI

CONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI CONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI Introduzione alle basi di dati (2) 2 Modelli dei dati, schemi e istanze (1) Nell approccio con basi di dati è fondamentale avere un certo livello di

Dettagli

D B M G Il linguaggio HTML

D B M G Il linguaggio HTML Programmazione Web Il linguaggio HTML Il linguaggio HTML Concetti di base Le interfacce utente in HTML I form Le tabelle Il passaggio dei parametri contenuti nei form @2011 Politecnico di Torino 1 Concetti

Dettagli

Java il Corso Fondamentale

Java il Corso Fondamentale Java il Corso Fondamentale Imparare a Programmare APP per Android, applicativi per Server e Desktop, applet e molto altro. IlTuoCorso - Ermes srl Via E.De Amicis 57 20123 Milano Il corso Ciao! Se desideri

Dettagli

Programmazione Java Avanzata PATTERN

Programmazione Java Avanzata PATTERN Programmazione Java Avanzata PATTERN Anno 2011/2012 Pattern Una soluzione progettuale generale a un problema ricorrente Elementi per il riuso di software ad oggetti Vantaggiosi e obbligatori da usare Pattern

Dettagli

1. Giorno 1 alf a. Presentazione dell azienda e del programma formativo b. Introduzione al CTI c. Introduzione al CRM

1. Giorno 1 alf a. Presentazione dell azienda e del programma formativo b. Introduzione al CTI c. Introduzione al CRM CAMPUS JAVA-SALESFORCE sede del corso: Milano - zona GIOIA Gli argomenti del corso che saranno trattati durante il corso riguardano le seguenti aree: 1. Il CRM e CTI 2. La metodologia di sviluppo AGILE

Dettagli

Programmazione web lato client con JavaScript. Marco Camurri 1

Programmazione web lato client con JavaScript. Marco Camurri 1 Programmazione web lato client con JavaScript Marco Camurri 1 JavaScript E' un LINGUAGGIO DI PROGRAMMAZIONE che consente di inserire codice in una pagina web Sintassi simile a Java (e al C), ma NON E'

Dettagli

SOMMARIO DESIGN PATTERN

SOMMARIO DESIGN PATTERN INTRODUZIONE AI DESIGN PATTERN INGEGNERIA DEL SOFTWARE Università degli Studi di Padova Dipartimento di Matematica Corso di Laurea in Informatica, A.A. 2014 2015 rcardin@math.unipd.it 2 DESIGN PATTERN

Dettagli

4. I moduli in Access 2000/2003

4. I moduli in Access 2000/2003 LIBRERIA WEB 4. I moduli in Access 2000/2003 Il modulo è uno degli oggetti del database di Access e rappresenta un insieme di dichiarazioni e routine scritte con il linguaggio Visual Basic, memorizzate

Dettagli

Cosa è importante: pom.xml Goal Plug-in Repository

Cosa è importante: pom.xml Goal Plug-in Repository Cos è Maven? Maven è un software usato principalmente per la gestione di progetti Java e build automation, ma è utile anche per gestire documentazione, report, dipendenze... Cosa è importante: pom.xml

Dettagli

Sistemi Mobili e Wireless Android - Risorse

Sistemi Mobili e Wireless Android - Risorse Sistemi Mobili e Wireless Android - Risorse Stefano Burigat Dipartimento di Matematica e Informatica Università di Udine www.dimi.uniud.it/burigat stefano.burigat@uniud.it Risorse in Android In Android,

Dettagli

Firma Digitale Remota

Firma Digitale Remota Firma Digitale Remota Versione: 01 Aggiornata al: 09.06.2011 Sommario 1. Attivazione Firma Remota... 3 1.1 Attivazione Firma Remota con Token YUBICO... 4 1.2 Attivazione Firma Remota con Token VASCO...

Dettagli

Il back end di doclife network è utilizzato dalla sede centrale e dagli amministratori dell azienda che adotta il sistema.

Il back end di doclife network è utilizzato dalla sede centrale e dagli amministratori dell azienda che adotta il sistema. presenta SCENARIO ED ESIGENZE Aziende organizzate con una struttura «centro-periferia» che hanno esigenza di: _ avere un repository virtuale per organizzare il proprio corpus informativo (knowledge management)

Dettagli

Software McAfee epolicy Orchestrator 5.9.0

Software McAfee epolicy Orchestrator 5.9.0 Note sulla versione Revisione B Software McAfee epolicy Orchestrator 5.9.0 Sommario Informazioni su questo rilascio Nuove funzionalità Miglioramenti Problemi noti Istruzioni per l'installazione Trova documentazione

Dettagli

Relazione MajoGEN. Generatore web di segnali! Matteo Mosconi & Gabriele De Rosa - 5 Febbraio 2014 RELAZIONE MAJOGEN

Relazione MajoGEN. Generatore web di segnali! Matteo Mosconi & Gabriele De Rosa - 5 Febbraio 2014 RELAZIONE MAJOGEN Relazione MajoGEN Generatore web di segnali Matteo Mosconi & Gabriele De Rosa - 5 Febbraio 2014 1 In questa relazione verranno spiegate nuove funzioni introdotte nel 2014 nel generatore online di segnali.

Dettagli

Web-App con. Relatore: Leonardo Buscemi

Web-App con. Relatore: Leonardo Buscemi Web-App con Relatore: Leonardo Buscemi Presentazioni Lavoro sulla prototipazione di apparecchiature biomedicali Collaboro con diversi web developers professionisti Sviluppo algoritmi e software con diversi

Dettagli

Do-Dots Guida alla scrittura. Ultimo aggiornamento 5 agosto 2010

Do-Dots Guida alla scrittura. Ultimo aggiornamento 5 agosto 2010 Do-Dots Guida alla scrittura Ultimo aggiornamento 5 agosto 2010 rev1 - Stesura iniziale 14/05/2010 do-dots Guida alla scrittura dei Dot Introduzione Do-Dots è un framework che facilita la comunicazione

Dettagli

Installazioni preliminari

Installazioni preliminari Installazioni preliminari È uscita la versione 6u23 dell SDK. Disponibile a: http://www.java.com/en/download/index.jsp Per installare Eclipse invece andare su: http://www.eclipse.org Stile Sono elementi

Dettagli

Debug di un programma

Debug di un programma Debug di un programma Col termine Debug si intende una fase di sviluppo del software, nella quale si cerca di eliminare gli errori dal programma Due tipi di errori: Errori sintattici, rilevati sempre dal

Dettagli

Flash platform e accessibilità

Flash platform e accessibilità Il Flash Player è alla base della cosidetta Flash Platform, con questo termine si intende quindi identificare tutti i contenuti e le applicazioni basate su di esso. La Flash Platform è utilizzata in un

Dettagli

PER UTILIZZARE LCC IN LAB

PER UTILIZZARE LCC IN LAB PER UTILIZZARE LCC IN LAB La prima volta che un utente utilizza lcc-win32 deve impostare una chiave nel registro utente. Per fare questo occorre semplicemente: Aprire con il gestione risorse la cartella

Dettagli

è l attività attraverso la quale si cerca di aumentare il traffico e la popolarità di un sito web

è l attività attraverso la quale si cerca di aumentare il traffico e la popolarità di un sito web è l attività attraverso la quale si cerca di aumentare il traffico e la popolarità di un sito web Il SEO viene descritto mediante diverse fasi Analisi preliminare Bisogna capire l attività svolta dall

Dettagli

Programmare server. Programmazione Web 1

Programmare server. Programmazione Web 1 Programmare server Programmazione Web 1 Richiesta a un sito sta2co HTTP req: GET www.uniroma2.it You client (client) HTTP resp: HTML, CSS, js,... web server Server 1. Riceve una richiesta per un file 2.

Dettagli

@2011 Politecnico di Torino 1

@2011 Politecnico di Torino 1 Concetti di base Programmazione Web Il linguaggio HTML HTML consente di annotare un testo per contrassegnare le parti che lo compongono Le annotazioni sono realizzate tramite i "tag" Visualizzare documenti

Dettagli

Laboratorio di Basi di Dati

Laboratorio di Basi di Dati Laboratorio di Basi di Dati Docente: Alberto Belussi Lezione 10 Architettura Model-View-Controller (MVC) L'architettura MVC può essere applicata anche alla tecnologia PHP secondo diversi approcci. In questa

Dettagli

Un sito con Wordpress

Un sito con Wordpress Un sito con Wordpress Includere Digital-mente Corso livello 4 Alcune domande, alcune risposte Hai deciso quali Contenuti pubblicare nel tuo sito? Hai fatto una lista di Categorie per organizzare i tuoi

Dettagli

Modulo III - Creazione di documenti, presentazioni e report

Modulo III - Creazione di documenti, presentazioni e report Modulo III - Creazione di documenti, presentazioni e report Elisabetta Ronchieri Università di Ferrara Dipartimento di Economia e Management e-mail: elisabetta.ronchieri@unife.it 15 Dicembre 2016 Elisabetta

Dettagli

Prof. Pagani Corrado HTML

Prof. Pagani Corrado HTML Prof. Pagani Corrado HTML IPERTESTI E MULTIMEDIALITÀ Un ipertesto è un insieme di documenti messi in relazione tra loro per mezzo di parole chiave sensibili (link). Può essere visto come una rete; i documenti

Dettagli

1.1. Come funzionano le pagine Web.

1.1. Come funzionano le pagine Web. Se tu hai voglia di creare il tuo sito web in HTML, oppure stai semplicemente cercando un supporto aggiuntivo perché pensi che le lezioni di HTML che ricevi all università non sono abbastanza chiare e

Dettagli

Sommario 1 Introduzione progetto Soluzione Integrazione Conclusioni... 10

Sommario 1 Introduzione progetto Soluzione Integrazione Conclusioni... 10 SISS SUITE Sommario 1 Introduzione... 3 2 progetto... 3 3 Soluzione... 3 4 Integrazione... 10 5 Conclusioni... 10 2 1 INTRODUZIONE L OMNICOM SISS Suite è una libreria DLL espressamente concepita per facilitare

Dettagli

Portale di gestione Version 7.5

Portale di gestione Version 7.5 Portale di gestione Version 7.5 MANUALE DELL AMMINISTRATORE Revisione: 29/08/2017 Sommario 1 Informazioni sul documento...3 2 Informazioni sul portale di gestione...3 2.1 Account e unità... 3 2.2 Browser

Dettagli

Procedura di installazione rrunnweb

Procedura di installazione rrunnweb Procedura di installazione rrunnweb Preparazione dell ambiente RRUNNWEB può girare su qualsiasi piattaforma che fornisca i seguenti servizi: - un server web locale (ad esempio: Apache ver.2.2 o successive,

Dettagli

Introduzione alla programmazione Android. Emanuel Di Nardo

Introduzione alla programmazione Android. Emanuel Di Nardo Introduzione alla programmazione Android 1 Emanuel Di Nardo emanuel.dinardo@gmail.com Architettura di base Insieme software composto da: Sistema operativo Middleware Applicazioni di base Utilizzo del linguaggio

Dettagli

DOMANDE FREQUENTI ACCESSO FUNZIONALITÀ GENERALI FUNZIONALITÀ CV BUILDER

DOMANDE FREQUENTI ACCESSO FUNZIONALITÀ GENERALI FUNZIONALITÀ CV BUILDER DOMANDE FREQUENTI ACCESSO 1. Perché usare Cv@B? 2. Chi accede a Cv@B? 3. Dove e come accedo a Cv@B? 4. Il sistema mi chiede di reinserire le password ma non funziona, come posso fare? FUNZIONALITÀ GENERALI

Dettagli

Reti informatiche. 2. Internet e navigazione

Reti informatiche. 2. Internet e navigazione Reti informatiche 2. Internet e navigazione Un po di storia Il 1969 viene considerato l anno di nascita di Internet, quando l Università del Michigan e quella di Wayne stabilirono la prima connessione

Dettagli

ArcGIS for Windows Mobile

ArcGIS for Windows Mobile Il mondo da tutti i punti di vista. ArcGIS for Windows Mobile 10.1.1 ArcGIS for Windows Mobile, è un applicazione GIS pronta all uso per la raccolta dei dati, l ispezione e la mappatura sul campo. Include

Dettagli

Digitiamo il codice base di una pagina secondo lo standard HTML5 e inseriamo un titolo <h1> con il testo Benvenuti sulla mia homepage

Digitiamo il codice base di una pagina secondo lo standard HTML5 e inseriamo un titolo <h1> con il testo Benvenuti sulla mia homepage Brackets Editor per la creazione e la modifica di fogli di stile CSS Brackets è un editor open source per i linguaggi HTML, CSS e Javascript, distribuito con licenza MIT. Installare il file brackets-sprint-24-win.msi

Dettagli

Client - Interfaccia - Implementazione

Client - Interfaccia - Implementazione Client - Interfaccia - Implementazione Violetta Lonati Università degli studi di Milano Dipartimento di Informatica Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Violetta Lonati

Dettagli

Open Database Connectivity (ODBC)

Open Database Connectivity (ODBC) Open Database Connectivity (ODBC) Open Database Connectivity (ODBC), proposto dalla Microsoft nel 1991, fornisce un interfaccia applicativa standard che permette ad una generica applicazione di accedere

Dettagli

Linguaggi di programmazione

Linguaggi di programmazione Linguaggi di programmazione Fondamenti di Informatica Daniele Loiacono Ho definito un algoritmo e adesso? Daniele Loiacono Dall algoritmo all esecuzione q Come deve essere formalizzato un algoritmo affinché

Dettagli

Corso di Laurea Ingegneria Civile Fondamenti di Informatica. Dispensa 07. Oggetti e Java. Marzo Programmazione Java 1

Corso di Laurea Ingegneria Civile Fondamenti di Informatica. Dispensa 07. Oggetti e Java. Marzo Programmazione Java 1 Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 07 Oggetti e Java Marzo 2010 Programmazione Java 1 Contenuti Il linguaggio Java Applicazioni Java e il metodo main Esempi di applicazioni

Dettagli

Il Sistema Operativo

Il Sistema Operativo Il Sistema Operativo Il sistema operativo Con il termine sistema operativo si intende l insieme di programmi e librerie che opera direttamente sulla macchina fisica mascherandone le caratteristiche specifiche

Dettagli

Modelli di programmazione parallela

Modelli di programmazione parallela Modelli di programmazione parallela Oggi sono comunemente utilizzati diversi modelli di programmazione parallela: Shared Memory Multi Thread Message Passing Data Parallel Tali modelli non sono specifici

Dettagli

MVC - Principio. MVC Model View Controller. MVC - Terminologia. MVC - Funzionamento. Richiesta. Controller. Model. Risposta. View

MVC - Principio. MVC Model View Controller. MVC - Terminologia. MVC - Funzionamento. Richiesta. Controller. Model. Risposta. View MVC View Controller! Si tratta di un pattern di progettazione introdotto originariamente con Smalltalk (1980 Xerox)! Si basa su astrazioni presenti in tutte le applicazioni dotate di interfaccia grafica!

Dettagli

SOMMARIO DESIGN PATTERN INTRODUZIONE AI DESIGN PATTERN INGEGNERIA DEL SOFTWARE. Introduzione. Cos è un design pattern. Cos è un design pattern

SOMMARIO DESIGN PATTERN INTRODUZIONE AI DESIGN PATTERN INGEGNERIA DEL SOFTWARE. Introduzione. Cos è un design pattern. Cos è un design pattern INTRODUZIONE AI DESIGN PATTERN INGEGNERIA DEL SOFTWARE Università degli Studi di Padova Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica, A.A. 2011 2012 2 rcardin@math.unipd.it DESIGN PATTERN

Dettagli

Programmazione orientata agli oggetti. Ivan Lanese

Programmazione orientata agli oggetti. Ivan Lanese Programmazione orientata agli oggetti Ivan Lanese Argomenti Programmazione orientata agli oggetti Classi Oggetti Costruttori Scrivere grosse applicazioni La gran parte delle applicazioni sono GROSSE Windows

Dettagli

DBMS. Affidabilità. Privatezza dei dati. Efficienza. Efficacia. Un DBMS deve garantire:

DBMS. Affidabilità. Privatezza dei dati. Efficienza. Efficacia. Un DBMS deve garantire: DBMS Un DBMS deve garantire: Affidabilità Privatezza dei dati Efficienza Efficacia DBMS Affidabilità Un DBMS deve garantire di poter mantenere intatto il suo contenuto, anche in caso di malfunzionamento.

Dettagli

Utilizzo collegamento remoto

Utilizzo collegamento remoto Utilizzo collegamento remoto Introduzione Il collegamento VPN (virtual private network) consente a PC collegati ad internet ma fisicamente fuori dalla rete interna regionale, di accedere, con le credenziali

Dettagli

La tua prima app su Android

La tua prima app su Android T La tua prima app su Android Tutorial per Eclipse P. Gallo M.L. Pietramala Java Blocco tematico E Le apps e ANDROID Unità E1 Primi passi in Java su ANDROID Prerequisiti Obiettivi Unità E1 Primi passi

Dettagli

Spazio di indirizzamento virtuale

Spazio di indirizzamento virtuale Programmazione M-Z Ingegneria e Scienze Informatiche - Cesena A.A. 016-01 Spazio di indirizzamento virtuale Pietro Di Lena - pietro.dilena@unibo.it // The function name says it all int stack_overflow (){

Dettagli

Password di accesso al database criptata

Password di accesso al database criptata Password di accesso al database criptata Come rendere più sicura la password di connessione al database? Le credenziali di accesso al database vengono salvate, di default, in chiaro all interno di un file

Dettagli

FlexCMP La piattaforma accessibile per il web 2.0

FlexCMP La piattaforma accessibile per il web 2.0 Manuale Utente FlexCMP La piattaforma accessibile per il web 2.0 FlexCMP è un prodotto di: Idea Futura S.R.L. Via Toscanini 7/2 40055 Castenaso (BO) - Italy Tel.: +39 051 780630 http://www.ideafutura.com

Dettagli

Progetti aa Andrea Bei

Progetti aa Andrea Bei Progetti aa 2012-2013 Andrea Bei Simulazione di esame su web & mobile L obiettivo è lo sviluppo di un sistema per la gestione di questionari online a risposta multipla che possa essere utilizzato dagli

Dettagli

Nuove pagine e collegamenti

Nuove pagine e collegamenti 05 Nuove pagine e collegamenti In questo capitolo In questo capitolo imparerai come realizzare un semplice collegamento da un testo a una nuova pagina, apprenderai il concetto di link di ritorno. Successivamente

Dettagli