Università degli Studi Mediterranea di Reggio Calabria. Analisi di approcci per la gestione multipiattaforma di app mobile.

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Università degli Studi Mediterranea di Reggio Calabria. Analisi di approcci per la gestione multipiattaforma di app mobile."

Transcript

1 Università degli Studi Mediterranea di Reggio Calabria Dipartimento di Ingegneria dell Informazione, delle Infrastrutture e dell Energia Sostenibile Corso di Laurea in Ingegneria delle Telecomunicazioni Tesi di Laurea Analisi di approcci per la gestione multipiattaforma di app mobile 1 Relatore Prof. Domenico Ursino Candidato Carlo Iannò Anno Accademico

2 1

3 INTRODUZIONE Lo stato attuale del mercato continua a dimostrare come l interesse del pubblico verso i dispositivi mobili sia in costante crescita. Se, fino a pochi anni fa, il termine smartphone era quasi privo di significato, ora è abbastanza comune, per giovani e adulti, essere concentrati su piccoli dispositivi dove è possibile eseguire numerose operazioni. Non è, quindi, un caso se gli smartphone sono il secondo gruppo di dispositivi al mondo, in termini di quantità di connessioni, che utilizzano Internet abitualmente e, viste le numerose alternative di Sistemi Operativi, come ios, Blackberry, Windows Phone, Android, etc, sono sempre di più gli utenti che scelgono il proprio dispositivo, e quindi il Sistema Operativo correlato, in base alle proprie esigenze. Negli ultimi anni, soprattutto nel mondo aziendale, dove ogni dipendente portava con sé sul posto di lavoro il proprio dispositivo mobile personale rimpiazzando i tradizionali computer desktop, si è sviluppato un trend chiamato BYOD (Bring Your Own Device) che, tradotto letteralmente, significa portare il tuo dispositivo. 1 Dall avvento di tale trend si è reso necessario creare un ambiente di lavoro unificato in modo tale da garantire che ogni dipendente possa lavorare su qualunque documento, indipendentemente dal dispositivo, e quindi dal Sistema Operativo, utilizzati. Nasce, così, lo sviluppo mobile Cross Platform che significa Multi piattaforma mobile. Tale approccio abbraccia una vasta gamma di Sistemi Operativi e, di conseguenza, risolve problematiche che stanno alla base di ogni piattaforma; tra queste vediamo le diverse interfacce utente (UI) ed esperienze utente (UX), il consumo della batteria e le prestazioni, il linguaggio di programmazione, la versione di Sistema Operativo, etc. Grazie allo sviluppo Cross Platform sono state create delle strategie per risolvere le varie problematiche; tra queste vediamo il supporto diretto, che punta a concentrare il team di sviluppo su una sola piattaforma per volta, l attività di condivisione, la WebApp. Quest ultima Carlo Iannò 1

4 strategia permette di creare applicazioni Web facendo riferimento ai framework. Tra i principali framework, con licenza commerciale, vediamo Xamarin. Xamarin, nasce dalla necessità degli sviluppatori di trovare un ambiente migliore per poter sviluppare applicazioni mobile Cross Platform. Ciò che gli sviluppatori vogliono ottenere da Xamarin è un linguaggio di programmazione moderno, strumenti potenti, un flusso di lavoro efficiente e, piacevole, nonché la possibilità di migliorare l esperienza utente. Il linguaggio di programmazione utilizzato da Xamarin è C#, che, grazie alla sua facilità di comprensione, permette ad ogni sviluppatore di seguire la filosofia di Xamarin: rispettare l unicità di ogni piattaforma. Xamarin, come altri framework multipiattaforma che vedremo nel capitoli seguenti, possiede una politica di sviluppo basata su strumenti e strategie particolari; tra queste abbiamo la condivisione del codice, l utilizzo del pattern MVVM, etc. Al fine di migliorare lo sviluppo multipiattaforma, Xamarin utilizza tre strumenti fondamentali, ovvero XamChat, basato su un applicazione di chat ed una connessione Internet per lo scambio di messaggi di testo, Windows Azure, che consente di interagire come un server Web, ed, infine, Xamarin.mobile, che consente di aggiungere componenti di terze parti al progetto semplicemente servendosi di Xamarin Component Store. Come in ogni settore anche per lo sviluppo Cross Platform esistono delle alternative al framework Xamarin; un esempio sono, appunto, i framework con licenza open source Adobe PhoneGap e Apache Cordova. PhoneGap è un progetto della Nitobi Software, un azienda che crea applicazioni mobile e Web application da diversi anni. Esso consiste in un insieme di librerie statiche che permettono di sviluppare velocemente, ed in maniera molto efficace, applicazioni mobile che appartengono a diverse famiglie. La filosofia sulla quale è basato prevede di realizzare lo slogan Write once, port everywhere che, tradotto, vuol dire scrivi una volta, porta in tutto il mondo. PhoneGap si propone di focalizzare gli sforzi degli sviluppatori sull applicazione piuttosto che perdere tempo ad adattala ad ogni piattaforma; questo è il principale motivo perché numerosi sviluppatori preferiscono tale framework. 2 Carlo Iannò

5 Per poter sviluppare con PhoneGap è necessario conoscere HTML, CSS e JavaScript; questi tre elementi rappresentano i principali tool di sviluppo e vengono definiti linguaggi di programmazione di markup. I requisiti sono semplici: installare le SDK dove richiesto, assieme ai tool per consentire lo sviluppo delle applicazioni. Un successore di Adobe PhoneGap è il framework open source Apache, anch esso distribuito con licenza open source. Cordova rappresenta un set di API che permette agli sviluppatori di accedere alle funzionalità native dei dispositivi come, ad esempio, fotocamera, geolocalizzazione, accelerometro, etc. Tale framework, come il suo predecessore, fa si che lo sviluppo si basi interamente sull uso di HTML, CSS e JavaScript, seguendo il tradizionale approccio delle WebApp. I principali tool e le principali tecnologie vengono differenziate in due macro categorie: tecnologie Client Side, le quali non hanno potere di calcolo e svolgono compiti legati soltanto alla capacità di visualizzazione. (un esempio sono JavaScript e AJAX), e tecnologie Server Side, le quali hanno potere di calcolo, e quindi gestiscono compiti particolarmente pesanti e possono trasferire in rete grossi volumi di dati. (un esempio sono Apache Tomcat e PostgreSQL). Vista la diversità di tecnologie utilizzate dai diversi framework, sia commerciali che open source, si è avuta la necessità di sviluppare soluzioni ottimizzate per fornire il massimo rendimento durante la fase di sviluppo per il mobile Cross Platform, utilizzando i principali framework multipiattaforma. 1 Un azienda leader nel settore del mobile Cross Platform è IBM; grazie alla suite denominata IBM Worklight fornisce strategie di sviluppo complete, dalla protezione e gestione dei dispositivi alla realizzazione di applicazioni. IBM, sintetizza le fasi di sviluppo grazie al Lifecycle, dove ogni passo è rappresentato da funzionalità volte a raggiungere determinati obiettivi. IBM propone un approccio progettuale completo anche grazie all unione con sistemi e soluzioni SAP; ha, inoltre, identificato nella Business Analytics una priorità strategica, aiutando responsabili decisionali e sviluppatori a trovare soluzioni software nel settore mobile multipiattaforma. Carlo Iannò 3

6 Un ulteriore azienda leader nel fornire soluzioni strategiche nel settore mobile Cross Platform è Kony. Tale azienda si occupa principalmente di garantire che ogni utente, o meglio ogni utilizzatore, abbia un esperienza di utilizzo unica ed ottimizzata. Kony consente di combinare le informazioni provenienti da più fonti e creare soluzioni applicative. Un importanza fondamentale delle soluzioni Kony è la piattaforma di sviluppo KonyOne che rappresenta una struttura a strati in cui gli strati principali sono KonyOne Studio, che si occupa di fornire agli sviluppatori un ambiente di sviluppo integrato (IDE) con la massima flessibilità, e KonyOne, Server che fornisce sicurezza e scalabilità alle funzionalità di aggregazione, come, ad esempio, il servizio basato su sviluppo di applicazioni Web con piena integrazione ad altre soluzioni mobile multipiattaforma, come Adobe Omniture e IBM Coremetrics. Negli ultimi anni, oltre alle aziende leader citate precedentemente, sono nati altri approcci legati allo sviluppo mobile Cross Platform, tra questi abbiamo Sencha Touch, che utilizza i tool standard ed è concepito per essere compatibile con molti Sistemi Operativi, SAPUI5 e SAP FIORI, concepiti per creazione di interfacce utente che utilizzano elementi di programmazione Web, Rhodes, framework open source che permette di costruire vere applicazioni native sfruttando funzionalità del dispositivo e che è, inoltre, uno dei pochi framework che supporta il pattern MVC, separando la logica dell applicazione dalla grafica, Titanium Mobile, un framework open source che non si limita ad usare i più comuni linguaggi di programmazione, ma crea soluzioni Web basate su Ruby, PHP, etc; ultima, ma altrettanto importante tecnologia, che meno si discosta dalle soluzioni SAP, è NepTune Application Designer, basata su un IDE grafico dove le funzioni dell applicazione sono create nel sistema stesso. Un importante strumento di valutazione, usatissimo nel settore della consulenza strategica, dell analisi e della ricerca nel campo dell Information Technology (IT), è il Magic Quadrant sviluppato da Gartner. Grazie a tale strumento di valutazione può essere visualizzata la posizione dei framework descritti in questa tesi e, al tempo stesso, la posizione delle aziende leader nel settore di sviluppo mobile Cross Platform. 4 Carlo Iannò

7 La tesi è strutturata come di seguito specificato: Nel primo capitolo verrà descritta la politica di sviluppo Cross Platform. Nel secondo capitolo verrà descritto il framework commerciale Xamarin. Nel terzo capitolo verrà illustrato il funzionamento dei framework open source Adobe PhoneGap e Apache Cordova. Nel quarto capitolo verranno illustrate le principali soluzioni IBM nel campo dello sviluppo per applicazioni mobile. Nel quinto capitolo verranno illustrate le principali soluzioni Kony nel campo di sviluppo per applicazioni mobile. Nel sesto capitolo verranno illustrati i framework Sencha Touch, Appcelerator Titanium e descriveremo le soluzioni SAPUI5 e SAP Fiori; il capitolo si concluderà con la descrizione di NepTune Application Design. Infine, verranno tratte delle conclusioni in merito all argomento trattato e verranno assegnati alcuni possibili sviluppi futuri. 1 Carlo Iannò 5

8 6 Carlo Iannò

9 1. MOBILE APPLICATION DEVELOPMENT PLATFORMS (MADP) In questo capitolo verrà definito il termine Cross-Platform. Partendo dal significato del termine, verranno descritte le differenze fondamentali tra le piattaforme mobile. Successivamente, verranno esposte delle strategie Cross-Platform. Il capitolo si concluderà con un tool di Banchmarking Report grazie al quale metteremo in evidenza le principali aziende che forniscono strategie Cross-Platform. 1 Che cos è il Cross- Platform 2 Differenze Fondamentali tra le Piattaforme Mobile 3 Strategie Cross- Platform 1 4 Tool di Benchmarking Report Carlo Iannò 7

10 CHE COS È IL CROSS-PLATFORM In Informatica il termine Cross-Platform, o Multi-Piattaforma, può riferirsi ad un linguaggio di programmazione, ad un applicazione software o ad un dispositivo hardware che funziona su più di un sistema o, appunto, piattaforma (ad esempio, Linux, Windows e Macintosh). Negli ultimi anni, e soprattutto nel mondo aziendale, dove ogni dipendente portava con sè sul posto di lavoro il proprio dispositivo mobile personale per utilizzarlo al posto dei tradizionali computer desktop, si è sviluppato un trend chiamato BYOD (Bring Your Own Device) che, tradotto letteralmente, significa portare il proprio dispositivo. Dall avvento di tale trend si è reso necessario per le imprese sviluppare delle applicazioni mobili aziendali che fossero in grado di lavorare su qualunque documento con la massima compatibilità possibile tra i dispositivi mobili che operano su varie reti e che utilizzano diversi sistemi operativi. Lo sviluppo Cross Platform, grazie al trend BYOD, si è evoluto passando da piattaforme fisse a piattaforme mobili così da creare un ambiente di sviluppo non solo per computer desktop ma anche per dispositivi mobili, dando vita al concetto di Cross Platform Development Mobile. Sono nate e si sono sviluppate molte aziende (ad esempio IBM, Kony, Adobe ) con lo scopo principale di offrire soluzioni e startegie per il mobile cross platform dando supporto ad ambienti nativi come ios, Android, Windows Phone, BlackBerry, etc, consentendo un ambiente singolo per lo sviluppo il quale sarà poi tradotto in diverse piattaforme mobili. Grazie alla nascita di software come Xamarin, PhoneGap, Cordova, i quali forniscono numerosi strumenti per gli sviluppatori, si è riusciti a ridurre i costi e aumentare la velocità con la quale si sviluppano applicazioni nonché diminuire la complessità del codice sfruttando degli strumenti semplici basati su linguaggi comuni per lo scripting, tra cui CSS, HTML e JavaScript. Un esempio base di Cross Platform possono essere considerate le applicazioni Web perché, idealmente, sono accessibili da qualsiasi browser Web all interno di diversi sistemi operativi. Tali applicazioni utilizzano un sistema client server e variano ampiamente in complessità e funzionalità. Questa ampia variabilità complica notevolmente l obiettivo dello sviluppo Cross Platform, che è in contrasto con l obiettivo di funzionalità. 8 Carlo Iannò

11 DIFFERENZE FONDAMENTALI TRA LE PIATTAFORME MOBILE Lo sviluppo Cross Platform, nonostante sia di notevole vantaggio poiché ci consente di scrivere il codice una sola volta e tradurlo su più piattaforme, prevede delle differenze fondamentali tra le diverse piattaforme mobile. E necessario, quindi, descrivere le principali differenze in modo da poter preventivare eventuali problemi che potrebbero sorgere quando si sviluppa del codice multipiattaforma. Consideriamo sei principali differenze: Linguaggio di programmazione e versione del Sistema Operativo (OS); Interfaccia Utente (UI) e d Esperienza Utente (UX) ; Desktop Integration Support; Multitasking Support; Consumo della batteria e prestazioni; Acquisto e pubblicità delle applicazioni. Nel seguito di questo paragrafo verranno analizzate in dettaglio queste sei principali differenze. Carlo Iannò 9

12 LINGUAGGIO DI PROGRAMMAZIONE E VERSIONE OS Considerando le principali piattaforme mobile attuali, possiamo notare che ognuna di esse rilascia i propri SDK (Software Development Kit) che consentono di sviluppare applicazioni basandosi soltanto sullo sviluppo nativo per ogni piattaforma e, quindi, supportando soltanto il corrispettivo linguaggio di programmazione. Tuttavia, questi linguaggi appartengono ad una delle poche famiglie di programmazione di base. La seguente tabella fornisce una panoramica dei principali linguaggi di programmazione e le rispettive piattaforme che supportano tali linguaggi: 10 Carlo Iannò

13 Possiamo adesso, definire il concetto di Framework Cross-Platform, in grado di superare le barriere dei linguaggi di programmazione di base. Tale struttura si basa su tre parametri fondamentali: tecnologie Web; Interpretazione; compilazione Multipla. Inoltre, la maggior parte delle piattaforme forniscono anche un insieme di API (Application Programming Interface) multipiattaforma, che consentono di accedere a determinate funzioni del dispositivo come, per esempio, la geolocalizzazione, elementi multimediali, funzionalità di rete, etc. Un altro aspetto da considerare quando si sviluppa codice Cross Platform è la versione del sistema operativo che, essendo in continua evoluzione, aggiunge un livello di complessità maggiore; pertanto, gli strumenti Cross Platform a volte necessitano di aggiornamento. INTERFACCIA UTENTE (UI) E D ESPERIENZA UTENTE (UX) Un ostacolo fondamentale per l approccio Cross Platform è rappresentato dalla diversa Interfaccia Utente (UI) ed Esperienza Utente (UX), modelli molto rilevanti sulle singole piattaforme mobile. E relativamente facile creare un interfaccia utente che funzioni su diverse piattaforme; tuttavia, tale approccio potrebbe perdere sottigliezze UI importanti, che sono disponibili solo su un unica piattaforma e, quindi, potrebbe migliorare drasticamente l esperienza utente. Carlo Iannò 11

14 Un aspetto importante è la filosofia di progettazione delle piattaforme mobile ; mentre molte piattaforme cercano un design realistico, e quindi puntano a migliorare l Esperienza Utente partendo dall Interfaccia Utente, altre tendono a creare degli stili ben precisi e, quindi, basandosi su un Interfaccia Utente più o meno unica, cercano di migliorare l Esperienza Utente; un esempio potrebbe essere l interfaccia Metro di Windows Phone. Un altra sfida fondamentale per chi sviluppa applicazioni Cross Platform è la familiarità con i diversi dispositivi; tale aspetto può migliorare notevolmente l Esperienza Utente, il quale riuscirà a lavorare con estrema facilità. Un semplice esempio potrebbe essere quello di non inserire il tasto fisico Indietro. DESKTOP INTEGRATION SUPPORT L integrazione del desktop varia molto tra le piattaforme mobile ; ciò consente di personalizzare l home screen. Su ios e Android è possibile utilizzare la schermata widget mentre su Windows Phone è possibile creare piastrelle che aggiungono informazioni strutturate. Tutto ciò comporta una carico di lavoro maggiore per coloro che sviluppano su sistemi multipli, ma migliora drasticamente l interazione con gli utenti. MULTITASKING SUPPORT Il multitasking consente di mantenere attivi servizi in background e di eseguire contemporaneamente diverse applicazioni. E realizzato in modo differente tra i sistemi operativi; per esempio su alcune piattaforme non è possibile chiudere del tutto le applicazioni che rimangono attive in modalità background e vengono chiuse definitivamente dal sistema operativo soltanto quando il dispositivo esaurisce la memoria. Su altre piattaforme, invece vi è una selezione limitata di attività in background che possono continuare a funzionare dopo la chiusura dell applicazione. Quindi, si dovrebbero valutare strategie multipiattaforma che consentono l utilizzo della modalità background. 12 Carlo Iannò

15 CONSUMO DELLA BATTERIA E PRESTAZIONI Il consumo della batteria è strettamente legato al concetto di multitasking. Secondo la Legge di Moore il numero di transistor all interno del microprocessori raddoppia ogni 24 mesi; di conseguenza anche le prestazioni del microprocessore raddoppiano; tuttavia, la capacità della batteria viene raddoppiata solo ogni sette anni. Più si è vicini alla piattaforma in un sistema Cross Platform più è possibile controllare il consumo della batteria e le prestazioni dell applicazione. Come regola generale, più velocemente si vuole eseguire l applicazione, maggiori prestazioni sono necessarie al dispositivo e, quindi, maggiore sarà il consumo della batteria. ACQUISTO E PUBBLICITÀ DELLE APPLICAZIONI Ci sono diverse opzioni per la visualizzazione di annunci pubblicitari all interno di ogni applicazione mobile; infatti, ad ogni applicazione vengono offerti servizi pubblicitari specifici per avere dei ricavi e migliorare l Esperienza Utente. Tuttavia tali servizi utilizzano politiche diverse tra le piattaforme e, quindi, necessitano di maggiore attenzione durante la fase di sviluppo. Un altro aspetto importante da considerare è il costo, in quanto ogni applicazione, secondo la piattaforma per la quale è stata sviluppata, potrebbe avere un costo diverso ed anche meccanismi di acquisto totalmente differenti; bisogna, quindi, prestare attenzione a tali differenze quando si sviluppa del codice multipiattaforma. Carlo Iannò 13

16 STRATEGIE CROSS-PLATFORM Questo paragrafo descrive alcune delle strategie che si possono utilizzare per implementare le applicazioni su diverse piattaforme. In particolare, consideriamo quattro principali strategie multipiattaforma: Supporto Diretto; Attività di Condivisione; Compilazione Multilinguaggio; Web Apps (Hybrid Apps). Nel seguito di questo paragrafo analizzeremo in dettaglio tali strategie SUPPORTO DIRETTO Il modo più semplice per sviluppare un applicazione è quello di concentrare dapprima il team di sviluppo su una sola piattaforma e, successivamente, raccogliere informazioni sull interfaccia utente e sull esperienza utente per capire se risulta positivo passare ad ulteriori piattaforme. Un modo più complesso è quello di supportare diversi team di sviluppo specializzati per ogni piattaforma di destinazione; tutto ciò richiede un intenso lavoro ma, probabilmente, darà la migliore integrazione ed esperienza utente su ciascun sistema. 14 Carlo Iannò

17 ATTIVITÀ DI CONDIVISIONE Quando si supportano diversi team per più piattaforme è necessario condividere strutture dati, algoritmi, idee e concetti basati sull Interfaccia Utente e sull Esperienza Utente. È bene, anche, utilizzare un linguaggio comune di una macchina virtuale che operi attraverso una varietà di piattaforme. Tutto ciò permette ai team di sviluppo di risparmiare molto tempo e fatica durante la fase di sviluppo Cross Platform. COMPILAZIONE MULTILINGUAGGIO La compilazione multilinguaggio consente la codifica di un linguaggio che viene tradotto in una specifica piattaforma. In termini di prestazioni questa spesso è la migliore soluzione Cross Platform; tuttavia, ci potrebbero essere differenze di prestazioni rispetto alle applicazioni native. Ci sono tre approcci comuni per tradurre dal linguaggio multipiattaforma ad un linguaggio di destinazione specifico: fonte diretta di traduzione, fonte indiretta di traduzione (cioè traducendo il codice in un linguaggio intermedio tra quello sorgente e quello di destinazione) e linguaggio di programmazione e compilazione da utilizzare direttamente sulla piattaforma interessata. WEB APPS (HYBRID) Facendo riferimento ai framework, possiamo creare applicazioni Web che si comportano quasi come applicazioni reali; tuttavia, bisogna essere consapevoli del fatto che le tecnologie hanno delle limitazioni quando si tratta di integrazione delle piattaforme. Carlo Iannò 15

18 In genere non si ha accesso a caratteristiche hardware e interfaccia utente nativa in maniera semplice, ma bisogna considerare il fatto che si stanno considerando delle strategie multipiattaforma. Lo sviluppo Web ibrido implica incorporare una WebView (Interfaccia Web) all interno di un applicazione nativa. Tale approccio consente di accedere alle funzionalità native delle singole piattaforme; in tale contesto si può utilizzare il codice nativo per migliorare le prestazioni e l esperienza utente. Le applicazioni ibride consentono, tramite dei framework, di incrociare le parti di sviluppo Web con la piattaforma di sviluppo scelta. Tali soluzioni consentono, inoltre, di sviluppare applicazioni compatibili con il massimo numero possibile di dispositivi migliorando l accesso ai siti Web tramite i dispositivi mobili. La seguente tabella fornisce un quadro generale sulle soluzioni principali, con la rispettiva licenza, l input e l output, ovvero la piattaforma per la quale vengono fornite soluzioni partendo da un input che si riferisce al linguaggio di programmazione utilizzato: 16 Carlo Iannò

19 TOOL BENCHMARKING REPORT Una delle tecniche manageriali di cui recentemente si è più discusso è il Benchmarking, inteso come quel processo sistematico e continuo per la comparazione delle performance, delle funzioni o dei processi delle organizzazioni [...] allo scopo non solo di raggiungere quelle performance ma di superarle ( Commissione Europea, 1996 ). L obiettivo di questo rapporto, secondo una politica di programmazione Cross Platform, è quello di identificare lo strumento multipiattaforma più appropriato e i servizi per lo sviluppo di applicazioni mobile. Esso fornisce, inoltre, informazioni di monitoraggio sullo stato attuale del mercato e sull analisi comparativa, che include strumenti e servizi che supportano l idea di sviluppare una sola volta e tradurre su più piattaforme; tale analisi si basa su due progetti di ricerca condotti tra Marzo e Maggio 2014 da research2guidance (the mobile research specialists): Strumento di Confronto. Research2guidance ha invitato i fornitori di tool Cross Platform e i fornitori di servizi a condividere informazioni sulla loro piattaforma, supporto per i dispositivi, team di sviluppatori, costi, etc. Successivamente è stato chiesto ai fornitori di compilare un sondaggio on line; dopodiché, per convalidare i risultati, è stata richiesta un intervista. A tale richiesta hanno dato risposta positiva 40 produttori. Valutazione degli Utenti. Agli sviluppatori, agli editori e ai dirigenti che valutano l app nelle loro aziende è stato chiesto di condividere la loro esperienza con i tool Cross Platform. Nel 2014 hanno partecipato al sondaggio globale online in 2.188; il livello di partecipazione degli utenti è rappresentato nella seguente figura: Carlo Iannò 17

20 La classificazione degli strumenti e dei servizi si basa su un auto posizionamento dei fornitori di soluzioni Cross Platform secondo il seguente schema: Web App Toolkits. Strumenti che supportano il processo di sviluppo di applicazioni Web e pagine Web mobile. Un esempio di tool che appartiene a tale categoria è Vaadin. App Factories (Drag & Drop). Ambienti di sviluppo di applicazioni che consentono anche ai non sviluppatori di sviluppare codice nativo o una Web App in pochi giorni o addirittura ore. Esempi di tool che appartengono a tale categoria sono: AppShed, GameBuilder Studio, Vizi Apps, etc. Cross Platform IDEs (Ambiente di Sviluppo Integrato). Questi strumenti utilizzano il proprio SDK per lo sviluppo e la compilazione del codice sorgente per soddisfare i requisiti nativi. Tendono a concentrarsi su un minor numero di piattaforme per essere in grado di tenere il passo con il ritmo dell innovazione, d altra parte la strategia è quella di supportare più piattaforme possibili. Esempi di tool che appartengono a tale categoria sono: Xamarin, Unity, Appcelerator, Marmalade, Titanium etc. Cross Platform IDEs for Enterprises (Ambiente di Sviluppo Integrato Aziendale). Questi strumenti supportano il flusso di lavoro e di sviluppo di App in un ambiente aziendale e forniscono un maggior numero di API preinstallate. Alcuni di essi, inoltre, fanno parte di una suite più ampia che consente la gestione dei dispositivi. AppConKit, IBM Worklight, Appear IQ, etc. 18 Carlo Iannò

21 Cross Platform Compilers. Sono degli strumenti che si concentrano sulla traduzione di un codice sorgente unico basato su applicazioni native. Esempi di tool che appartengono a tale categoria sono: PhoneGap Build, Cocoon (Games) etc. Cross Platform Services. Sono servizi che consentono una facile integrazione tra le piattaforme per supportare attività quali l acquisto di App, notifiche push e pubblicità. Esempi di tool che appartengono a tale categoria sono: Capriza, Codename One, MobileSmith, etc. Di seguito viene mostrato un grafico che rappresenta la crescita dei principali sviluppatori di tool Cross Platform rispetto all anno 2013: CONCLUSIONI Alla luce dello studio effettuato in questo capitolo si può affermare che, per sviluppare applicazioni mobile Cross Platform, bisogna, innanzitutto, fare un analisi sulle principali differenze tra le piattaforme; successivamente, è necessario adottare delle strategie specifiche ed, infine, auto posizionarsi in un determinato settore per sviluppare strumenti Cross Platform. Carlo Iannò 19

22 20 Carlo Iannò

23 2. XAMARIN In questo capitolo verrà illustrato il funzionamento del software Xamarin. Si partirà con un introduzione sulla politica di condivisione del codice utilizzata da Xamarin; successivamente verranno spiegati i principali strumenti sui quali si basa tale software. Il capitolo si concluderà con una descrizione dei principali vantaggi e svantaggi di tale software e con un illustrazione della sua posizione sul Magic Quadrant di Gartner. 1 Che cos è Xamarin 2 Condivisione del codice secondo Xamarin 3 Gli strumenti di Xamarin 4 Pro e Contro e Gartner Magic Quadrant 2014 Carlo Iannò 21

24 CHE COS È XAMARIN Nel Maggio del 2011 dall omonima società che l ha creato nasce Xamarin, un software in grado di sviluppare codice Cross-Platform. Il motivo principale per il quale venne creato un software come Xamarin è legato alla necessità, per gli sviluppatori, di trovare un ambiente migliore per poter sviluppare applicazioni mobile. Ciò che si vuole ottenere da Xamarin è un linguaggio di programmazione moderno, strumenti potenti, un flusso di lavoro efficiente e piacevole e la possibilità di creare migliori esperienze utente. L approccio principale di Xamarin è quello di consentire agli sviluppatori di creare interfacce utente che sono uniche per ogni piattaforma e componenti che possono essere facilmente riutilizzati su un altra piattaforma, utilizzando il linguaggio di programmazione C#. La filosofia sulla quale è basato Xamarin rispetta l unicità di ogni piattaforma e non obbliga gli sviluppatori a creare applicazioni che sembrano le stesse su tutte le piattaforme; al contrario, li incoraggia a sfruttare le caratteristiche che ogni piattaforma offre. Tale software riconosce che, oltre all interfaccia utente, le applicazioni hanno molte componenti altamente riutilizzabili che possono essere condivise tra le piattaforme, come, ad esempio, il codice per l accesso ai servizi Web, che può essere riutilizzato facilmente. La scelta del linguaggio di programmazione è ricaduta su C# soprattutto per la sua facilità di utilizzo rispetto ai più comuni linguaggi, consentendo a sviluppatori meno esperti di creare soluzioni Cross-Platform utilizzando Xamarin. Negli ultimi due anni, e soprattutto nel 2013, l obiettivo principale della società Xamarin è stato quello di rendere sempre più veloce e di facile utilizzo il software; di conseguenza, per soddisfare tutte le richieste degli sviluppatori sono stati creati strumenti e servizi che comprendono diverse categorie di persone. Alcuni esempi sono: Xamarin Platform, Xamarin Studio, Xamarin University, Test Cloud, etc. Xamarin offre un ampia suite di sviluppo con diverse soluzioni accessibili ad un costo che varia a seconda della licenza scelta. Vi è, tuttavia, un pacchetto Starter con licenza free che offre delle funzionalità base a chiunque volesse iniziare ad utilizzare Xamarin. 22 Carlo Iannò

25 CONDIVISIONE DEL CODICE SECONDO XAMARIN Il software Xamarin, tramite la suite Xamarin Studio, permette di condividere una buona parte del codice tra le principali piattaforme di sviluppo sfruttando le API native. Secondo la politica di Xamarin Studio, la condivisione del codice è di fondamentale importanza per poter separare l applicazione in diversi strati. È necessario, quindi, considerare degli aspetti principali al fine di ottenere una ben precisa condivisione del codice. In particolare, consideriamo i sei seguenti aspetti principali: il design pattern Model-View ViewModel (MVVM); strategie di organizzazione del progetto; librerie di classi portabili; utilizzo di istruzioni per il preprocessore; semplificazione dell iniezione di dipendenza; implementazione dell inversione di controllo. Nel seguito di questo paragrafo verranno analizzate in dettaglio questi sei aspetti principali. Carlo Iannò 23

26 IL DESIGN PATTERN MODEL-VIEW VIEWMODEL Il Model-View ViewModel (MVVM) è un modello di progettazione che è stato originariamente inventato per Windows Presentation Foundation (WPF) e, successivamente, adottato da Xamarin per separare l interfaccia utente dalla logica di business e sfruttare appieno il cosiddetto Data Binding, ossia stabilire una connessione tra UI e business logic. Con questo modello l architettura delle applicazioni ha uno strato di ViewModel distinto che non ha dipendenze da nessuna interfaccia utente; questo consente di organizzare il codice in modo da permettere la modifica di singole parti senza influire sulle altre. Tale approccio offre numerosi vantaggi come la possibilità di adottare uno stile di codifica iterativo e basato sull esplorazione, il supporto della collaborazione in team, etc. Le applicazioni basate sul modello MVVM sono suddivise nei seguenti livelli: Model. Include tutto il codice che implementa la logica di base dell applicazione e definisce i tipi di codice necessari per modellare il dominio. È completamente indipendente dalla View e dai livelli del ViewModel. View. Definisce l interfaccia utente tramite un markup dichiarativo. Il data binding definisce la connessione fra componenti specifici dell interfaccia utente e i vari membri del ViewModel. ViewModel. Fornisce le destinazioni del data binding per la View. In molti casi il ViewModel espone direttamente il Model e fornisce membri che eseguono il wrapping di membri specifici del Model. Il ViewModel può anche definire membri che consentono di tenere traccia dei dati rilevanti per l interfaccia utente, ma non per il Model, ad esempio l ordine di visualizzazione degli elementi di un elenco. 24 Carlo Iannò

27 La figura seguente mostra il design paern MVVM: STRATEGIE DI ORGANIZZAZIONE DEL PROGETTO Le applicazioni possono fare riferimento solo a librerie di classi consentite da Xamarin, ad esempio per progetti specifici delle piattaforme ios o Android bisogna utilizzare le librerie di classi Xamarin.iOS o Xamarin.Android. Una soluzione ammessa da Xamarin Studio per gestire in comune il codice ed avere progetti comuni per ogni piattaforma è quella di adoperare delle strategie per la creazione di una soluzione Cross-Platform. In tale contesto è possibile considerare tre strategie principali, ciascuna con i suoi vantaggi e svantaggi: File di collegamento. Questa strategia si basa su una semplice libreria di classi.net 4.0 o.net 4.5, la quale contiene tutto il codice condiviso. Si potrebbe, quindi, avere un nuovo progetto, e quindi l applicazione desiderata su ogni piattaforma specifica. È possibile avere una sottodirectory con tutti i file collegati alla libreria della prima classe. Vantaggio: approccio molto flessibile. È possibile scegliere di collegare o meno alcuni file; inoltre, è possibile fare riferimento a diverse librerie su Android rispetto a ios. Svantaggio: si deve gestire l esistenza di un file in tre progetti, come la libreria di base, ios e Android. Potrebbe rallentare di molto il lavoro del team, soprattutto se si tratta di un applicazione di grandi dimensioni. Carlo Iannò 25

28 Clonare file di progetto. È molto simile al file di collegamento, con la differenza principale che si dispone di una libreria di classi per ogni piattaforma, oltre a quella principale relativa al del progetto. I file possono facilmente essere aggiunti anche senza collegamento. Vantaggio: approccio molto flessibile come file di collegamento; non c è bisogno di collegare manualmente i file. Svantaggio: si deve garantire l esistenza di un file in tre progetti. Librerie di classi portabili. Approccio ottimale; si inizia creando una libreria di classi portabile (PCL), o meglio, il progetto per tutto il codice in comune. Si tratta di un particolare tipo di progetto che consente a più piattaforme di fare riferimento ad esso e di utilizzare il più piccolo sottoinsieme di C# e.net disponibile su ogni piattaforma. In altre parole ogni progetto specifico per la piattaforma farebbe riferimento direttamente a questa libreria. Vantaggio: tutto il codice è condiviso in un progetto, e tutte le piattaforme utilizzano la stessa libreria. Questo è l approccio ottimale e più comodo per raggiungere la maggior parte delle applicazioni Cross-Platform. Svantaggi: non è possibile fare riferimenti a librerie differenti su ogni piattaforma. Si potrebbe anche essere limitati ad un sottoinsieme di.net in base al numero di piattaforme di destinazione. LIBRERIE DI CLASSI PORTABILI Una libreria di classi portabili (PCL) è un progetto di libreria C# che può essere supportato su più piattaforme, tra cui ios, Android, Windows. Un esempio potrebbero essere le applicazioni di Windows Store, Silverlight e Xbox 360. Tale libreria è considerata una soluzione da parte di Microsoft per semplificare lo sviluppo tra le diverse versioni di.net framework. Xamarin ha aggiunto anche il supporto per ios e Android nelle versioni più recenti dei loro prodotti. Molte soluzioni Cross-Platform sono basate sulla libreria di classi portabile; alcuni esempi sono: JSON, MVVM Cross, etc. 26 Carlo Iannò

29 UTILIZZO DI ISTRUZIONI PER IL PREPROCESSORE Quando si utilizzano i file di collegamento, o file di progetto clonati uno degli strumenti più potenti è l uso di istruzioni per il preprocessore. Se non si ha familiarità con tali strumenti, C# ha la capacità di definire le variabili del preprocessore utilizzando #if IPHONE e #if! IPHONE. Un semplice esempio potrebbe essere quello mostrato in figura: In Xamarin Studio è possibile definire le variabili del preprocessore all interno delle impostazioni del progetto in fase di costruzione. È, inoltre, possibile definire queste variabili nella parte superiore di qualsiasi file C# dichiarando #define IPHONE; tuttavia tali variabili saranno applicate solo all interno del file C#. L utilizzo di istruzioni per il preprocessore non è normalmente la soluzione migliore per lo sviluppo multipiattaforma. Esse sono generalmente più utilizzati in semplici funzioni, perché, altrimenti, il codice potrebbe diventare molto difficile da leggere, con molte dichiarazioni #if e #else. Una migliore soluzione consiste nell utilizzo di eredità o interfacce quando si ha una classe che fa riferimento a più piattaforme specifiche. Carlo Iannò 27

30 SEMPLIFICARE L INIEZIONE DI DIPENDENZA Il concetto è nato dai principi di progettazione Object-Oriented Single Open Liskov Interface Dependency (SOLID), ossia un insieme di regole di ricerca. Si tratta di un modello di progettazione volto a rendere il codice del progetto, e quindi l interno dell applicazione, più flessibile, così da poter scambiare alcune funzioni in caso di necessità. L idea è quella di creare delle dipendenze tra le classi in un applicazione così che ogni classe interagisca solo con un interfaccia o libreria base / classe astratta. Tutto ciò dà la libertà di ignorare i diversi metodi su ogni piattaforma quando stiamo compilando funzionalità native. IMPLEMENTAZIONE DI INVERSIONE DI CONTROLLO L inversione di controllo (IOC) è un modello di progettazione che serve per completare l iniezione di dipendenza; in altre parole, è una tecnica di programmazione orientata agli oggetti in cui l accoppiamento tra gli oggetti è realizzato a runtime. Il principio di base è che molti degli oggetti creati in tutta l applicazione sono gestiti e creati da una singola classe; invece di utilizzare i costruttori standard C# per le classi possiamo utilizzare una classe di service locator, o meglio, una classe di servizio di individuazione. Se un oggetto necessita di accedere ad un particolare servizio l'oggetto stesso si prende la responsabilità di gestirlo, o avendo un diretto riferimento al servizio, o individuandolo con un service locator che gli restituisce un riferimento ad una specifica implementazione del servizio. 28 Carlo Iannò

31 GLI STRUMENTI DI XAMARIN Xamarin ha sviluppato dei prodotti fondamentali per lo sviluppo di applicazioni Cross- Platform: Xamarin Studio (ex MonoDevelop), Xamarin.iOS (ex MonoTouch) e Xamarin.Android (ex Mono per Android). Tali strumenti consentono agli sviluppatori di sfruttare le librerie native su ios e Android e sono costruite sul runtime Mono. Mono è un implementazione open source di C# e.net framework. In origine era sviluppato da Novell per essere utilizzato su sistemi operativi come Linux. Dal momento che ios e Android adottano la stessa politica di Linux, Novell ha sviluppato MonoTouch e Mono per Android come nuovi prodotti per indirizzare le piattaforme mobile. Ottenere lo sviluppo di applicazioni Cross-Platform può richiedere un certo tempo e, come se non bastasse, Apple e Google hanno entrambi i propri requisiti di sviluppo sulle rispettive piattaforme. Xamarin è stata fondata per concentrarsi completamente su questi strumenti per lo sviluppo con C# e, basandosi su semplici applicazioni di sviluppo, crea un ambiente migliore per il Cross-Platform. È necessario, quindi, considerare alcuni strumenti al fine di migliorare la capacità di programmazione multipiattaforma. Consideriamo tre strumenti principali: XamChat - un Cross-Platform App; Servizi Web con notifiche push: Windows Azure; Librerie di terze parti e introduzione a Xamarin.mobile. Carlo Iannò 29

32 XAMCHAT - UN CROSS-PLATFORM APP Il modo migliore per imparare a programmare è quello di prendere un progetto semplice e concentrarsi sui concetti che si cerca di apprendere, senza doversi preoccupare di correggere errori, bug, etc. Per migliorare la comprensione del codice Cross-Platform di Xamarin Studio è necessario sviluppare una semplice applicazione chiamata XamChat per ios e Android. Il concetto è semplice: si tratta, infatti, di un applicazione di chat che utilizza una connessione Internet standard per lo scambio di messaggi di testo, utilizzando un layout rapido della domanda e della risposta per scambiare velocemente informazioni e comprendere al meglio il codice all interno delle applicazioni. La seguente figura ne mostra un esempio: Molte volte, durante lo sviluppo di un applicazione mobile, potrebbe essere necessario iniziare lo sviluppo dell applicazione prima del previsto; una soluzione potrebbe essere quella di servirsi di un servizio Web Back-end in modo tale da prevenire l arresto completo di un applicazione e sviluppare una versione finta del servizio. Poiché la comunicazione con un servizio Web può essere un processo lungo è sempre consigliato l utilizzo di una particolare classe detta Task<T> per le operazioni di login, register, AddFriend, sendmessage, etc. 30 Carlo Iannò

33 Un importanza fondamentale è assunta dal livello ViewModel; esso sarà responsabile della presentazione di ciascuna operazione dell interfaccia utente, della validazione dell input, etc. A questo punto sarebbe una buona idea includere la classe ServiceContainer e permettere ad essa di interagire con il livello del ViewModel così da sostenere l iniezione di dipendenza e l inversione di controllo. Si potrebbe utilizzare un altra libreria e scrivere una classe base per tutti gli strati del ViewModel all interno del progetto; questa classe ha sempre la funzionalità comune a tutte le classi ed è una buona soluzione per mettere alcune parti del codice che vengono utilizzati da tutti i metodi delle classi. Esempi di metodi che appartengono a tali classi sono: le variazioni di notifica, i metodi o le istanze simili, etc. La classe BaseViewModel è una classe ideale per inserire qualsiasi funzionalità comune che si ha intenzione di riutilizzare in tutte le applicazioni. Ad esempio, per l applicazione XamChat, abbiamo solo bisogno di implementare alcune funzionalità per indicare se il livello ViewModel è occupato. È necessario utilizzare una proprietà e un evento che l interfaccia utente sarà in grado di registrare e visualizzare un indicatore di attesa sullo schermo. Carlo Iannò 31

34 SERVIZI WEB CON NOTIFICHE PUSH: WINDOWS AZURE Applicazioni mobile sono definite dalla connettività di rete. Un applicazione mobile che non interagisce con un server Web è molto rara e, ma allo stesso tempo, risulterebbe molto noiosa da utilizzare. Utilizzando la piattaforma Cloud Windows Azure possiamo implementare un Back-end lato server e dimostrare come interagiscono le applicazioni come, per esempio, XamChat, che utilizza una funzionalità denominata Azure Mobile Services, la quale ha il vantaggio di avere le notifiche push incorporate. L applicazione sarà in grado di comunicare con un Web Server e permetterà ai suoi utenti di interagire fra loro. Windows Azure è una piattaforma cloud eccellente; è stata rilasciata da Microsoft nel 2010 con lo scopo di favorire la costruzione di moderne applicazioni Web e servizi. Ciò significa che fornisce l accesso alle macchine virtuali all interno delle quali è possibile installare qualunque sistema operativo o software. Azure fornisce anche strumenti multipiattaforma per la creazione di applicazioni, come i siti Web Azure e SQL Azure. I servizi forniti da Windows Azure e più comunemente utilizzati sono: Macchine Virtuali. Azure consente l accesso a tutte le macchine virtuali e permette di installare qualsiasi sistema operativo a scelta dello sviluppatore. Siti Web. È possibile eseguire qualsiasi tipo di sito Web in Microsoft Internet Information Services (IIS) SQL Azure. Si tratta della versione Cloud-Based di Microsoft SQL Server utilizzata per la memorizzazione dei dati. 32 Carlo Iannò

35 Servizi mobile. È una piattaforma semplice per la creazione di servizi Web per applicazioni mobile. Utilizza SQL Azure per l archiviazione back-end e un semplice Java- Script. Storage. Azure fornisce un metodo per la memorizzazione di file binari e per la memorizzazione delle tabelle; si tratti di una soluzione NoSQL per la persistenza dei dati. Servizi bus. Si tratta di una soluzione basata sul cloud per la creazione di code per facilitare la comunicazione tra gli altri servizi cloud. Comprende anche la notifica hub come un modo semplice per fornire le notifiche push per le applicazioni mobile. Servizi cloud. Permette di raggruppare più servizi insieme e creare ambienti di produzione. Si tratta di un ottimo strumento per la distribuzione di software. Windows Azure è una piattaforma cloud Microsoft; si tratta di una raccolta in continua crescita di servizi integrati per calcolo, archiviazione dati, rete e App. Tali servizi permettono di essere più veloci, più efficienti e di risparmiare tempo e denaro. Azure è un importante piattaforma cloud classificata da Gartner come leader del settore per Infrastructure-as-a-Service (IaaS) e Platform-as-a-Service (PaaS). Questa combinazione avanzata di servizi gestiti e non gestiti consente di creare, distribuire e gestire applicazioni in maniera autonoma e indipendente al fine di ottenere una produttività impareggiabile. Azure supporta qualsiasi sistema operativo, linguaggio, strumento e framework, da Windows a Linux, da SQL Server a Oracle, da C# a Java. Esistono altri fornitori di servizi concorrenti di Windows Azure; alcuni esempi sono: Parse. Questo servizio fornisce un prodotto simile a quello di Azure mobile Service, completo di memorizzazione dei dati e notifiche push. Urban Airship. Questo servizio fornisce le notifiche push per le applicazioni mobile su più piattaforme. Amazon Web Services. Questo servizio è una soluzione cloud completa equivalente a Windows Azure. Ha tutto il necessario per la distribuzione di applicazioni in cloud con il totale supporto della macchina virtuale. Carlo Iannò 33

36 LIBRERIE DI TERZE PARTI E INTRODUZIONE A XAMARIN.MOBILE Xamarin supporta dei sottoinsiemi del framework.net e, per la maggior parte, include le API standard che si trovano nelle librerie di classi di base. Gran parte delle librerie open source di C# possono essere utilizzate da Xamarin; inoltre, se un progetto non possiede al proprio interno una libreria di classi portabili, spesso, grazie all uso di Xamarin, la portabilità del codice viene effettuata automaticamente in maniera estremamente semplice. Xamarin supporta, anche, linguaggi di programmazioni nativi come, per esempio, Objective-C e librerie Java. Per aggiungere componenti di terze parti al progetto bisogna servirsi di Xamarin Component Store. Esso rappresenta il negozio dove poter acquistare o installare semplicemente componenti di terze parti; spesso, però, tali componenti hanno un costo di acquisto dalle poche decide di dollari fino ad arrivare a qualche migliaio di dollari. Un esempio di componenti di terze parti è rappresentato nella seguente figura: Ci sono più di cento componenti disponibili per migliorare le applicazioni mobile ; basta selezionare il componente di proprio interesse al seguente link Ogni componente è completo di esempi, video dimostrativo, recensioni e altre informazioni delle quali si ha bisogno prima di acquistarlo. 34 Carlo Iannò

37 Alcune delle caratteristiche più importanti utilizzate dalle applicazioni mobile di oggi si basano sui nuovi tipi di dati che possono essere acquisiti dai nostri dispositivi. Caratteristiche come la posizione Global Positioning System (GPS) e l utilizzo della fotocamera sono punti di forza per alcune applicazioni, come, per esempio, Istagram, Twitter, etc. È difficile sviluppare applicazioni e non utilizzare alcune caratteristiche che i dispositivi offrono; è, quindi, necessario esplorare le opzioni per poter utilizzare queste nuove caratteristiche con Xamarin. Per semplificare lo sviluppo di queste caratteristiche su più piattaforme, Xamarin ha sviluppato una libreria chiamata Xamarin.Mobile. Essa offre una singola API per accedere ai contatti, alla posizione GPS, alla direzione cardinale, alla macchina fotografica, ad un album di foto e video, etc. Tale API si avvale anche di Task Parallel Libraries (TPL) per offrire un moderno C# il quale rende gli sviluppatori più produttivi rispetto a come lo sarebbero se utilizzassero il codice di sviluppo nativo. Grazie alla combinazione di C# e delle API si dà la possibilità agli sviluppatori di scrivere codice in maniera chiara, pulita e asincrona. Inoltre è possibile utilizzare lo stesso codice sulle varie piattaforme, come ios e Android. Per installare Xamarin.Mobile basta collegarsi al seguente indirizzo e aggiungere il componente Xamarin.Mobile ad un progetto, come mostrato nella seguente figura: Carlo Iannò 35

38 PRO E CONTRO E GARTNER MAGIC QUADRANT Il Magic Quadrant sviluppato da Gartner, azienda multinazionale leader nel settore della consulenza strategica, dell analisi e della ricerca nel campo dell Information Technology (IT), fornisce un analisi delle performance dei vendor (fornitori) appartenenti ad un determinato settore di mercato. L obiettivo principale è informare agli acquirenti di servizi e prodotti sulle aziende partner che meglio soddisfano le loro esigenze. Di seguito, possiamo analizzare la posizione di Xamarin sul Magic Quadrant di Gartner: 36 Carlo Iannò

39 Tenendo in considerazione gli aspetti pristencipali e gli strumenti di Xamarin valutiamo un bilancio generale, analizzando alcuni punti positivi e negativi. File collegati. Pro: stesso codice su tutte le piattaforme; si possono usare le direttive preprocessore; si può usare codice specifico per le piattaforme. Contro: si devono gestire più progetti. Direttive preprocessore. Pro: si può inserire codice specifico per ogni piattaforma. Contro: codice non molto pulito. Librerie portabili. Pro: un unica libreria per tutte le piattaforme, utilizzo della sola classe disponibile su tutte le piattaforme. Contro: non si possono usare le direttive preprocessore; non si può usare codice specifico per le piattaforme. Progetto collegato. Pro: auto collegamento ai file. Contro: tutti i progetti devono essere nella stessa soluzione. CONCLUSIONI Alla luce dello studio effettuato in questo capitolo si può affermare che per sviluppare applicazioni mobile Cross-Platform, è necessario servirsi di software adeguati, che consentono la massima flessibilità del codice. Come si è potuto vedere in questo capitolo, l utilizzo del linguaggio di programmazione C#, combinato alle potenzialità del software Xamarin, migliora nettamente le prestazioni e semplifica il lavoro degli sviluppatori. Carlo Iannò 37

40 38 Carlo Iannò

41 3. ADOBE PHONEGAP E APACHE CORDOVA In questo capitolo verrà illustrato il funzionamento dei framework open source Adobe PhoneGap e Apache Cordova. In particolare, verranno elencati i principali aspetti sui quali sono basati tali framework, definendo innanzitutto il perché vengono utilizzati, le funzionalità offerte, i tool e le tecnologie sui quali sono basati. Successivamente verranno descritti i pregi e difetti di entrambi i framework e verrà analizzata la loro posizione sul Gartner Magic Quadrant. 1 Adobe PhoneGap 2 Apache Cordova 1 Carlo Iannò 39

42 ADOBE PHONEGAP PhoneGap è un progetto open source della Nitobi Software, un azienda che crea applicazioni mobile e Web application da diversi anni. Esso consiste in un insieme di librerie statiche che permettono di sviluppare velocemente, ed in maniera molto efficace, applicazioni mobile che appartengono a diverse famiglie. La filosofia di base di tale software consiste nel realizzare lo slogan Write once, port everywhere. PhoneGap si propone di focalizzare gli sforzi degli sviluppatori sull'applicazione piuttosto che perdere tempo ad adattarla ad ogni piattaforma. Per poter realizzare un'applicazione con Phonegap è necessario conoscere HTML, CSS e JavaScript. Il porting verso le varie piattaforme viene effettuato installando gli ambienti di sviluppo relativi e compilando la WebApp interessata. I requisiti sono quindi quelli di installare le SDK dove richiesto, assieme agli strumenti per consentire la compilazione delle applicazioni. Adobe Phonegap è disponibile secondo delle licenze open source; come utente di Phone Gap è possibile scegliere di utilizzare la licenza Berkeley Software Distribution (BSD), ovvero una licenza che riflette l idea più ampia del dono inteso in senso liberale, ma senza la programmaticità. Più specificatamente, tale licenza è limitata a fotografare il presente. Un altro esempio è la licenza Massachusetts Institute of Technology (MIT), ovvero una licenza che permette il riutilizzo nel software proprietario sotto la condizione che essa sia distribuita con tale software e che rispetti le condizioni di utilizzo ed impedendone altre, come, per esempio, la modifica, la condivisione, la ridistribuzione, etc. Oggi sono disponibili molte applicazioni commerciali le quali sono state realizzate tramite PhoneGap; è possibile trovare una lista di tali applicazioni sul sito Web nella sezione apps: 40 Carlo Iannò

43 PERCHÉ PHONEGAP Sviluppare un'applicazione per tutte le maggiori piattaforme richiede la conoscenza dei linguaggi delle stesse, l'installazione di IDE (Integrated Development Enviroment) per lo sviluppo, la presenza di personale con delle competenze specifiche, etc. La realizzazione di un'applicazione su varie piattaforme richiede, quindi, tempo e denaro, per reclutare il personale, formarlo se necessario e, preparare gli ambienti di sviluppo per ogni piattaforma. A causa delle consistenti risorse da dover mettere in gioco, ciò che alcune aziende fanno è sviluppare la propria applicazione solo per le piattaforme più utilizzate, o concentrare gli sforzi sulle piattaforme con meno restrizioni. Ciò, ovviamente, porterebbe a ridurre il potenziale mercato dell'applicazione, oltre che ad impedire automaticamente agli utenti di altre piattaforme di utilizzarla. Grazie a PhoneGap lo sviluppatore può dedicarsi maggiormente allo sviluppo della sua WebApp senza pensare agli intralci o impedimenti delle varie piattaforme. Chiaramente le possibilità dell'applicazione saranno limitate a quelle di un applicazione Web. Carlo Iannò 41

44 COME FUNZIONA PhoneGap fa da ponte tra il sistema operativo e la WebApp realizzata dallo sviluppatore. Si intuisce che occorre che dalla WebApp esista una modalità standard per invocare le API native in maniera indipendente dal tipo di piattaforma sottostante. PhoneGap è, infatti, un framework che permette ad una WebApp di invocare le API native mediante funzioni JavaScript. Un esempio potrebbe essere visualizzato nella seguente figura: Il vantaggio nell'utilizzo di questo framework è che esso fornisce l'aggancio tra la piattaforma native e la WebApp in modo che uno sviluppatore che non ha conoscenze specifiche sui linguaggi nativi possa dedicarsi allo sviluppo della WebApp con tecnologie standard. La caratteristica fondamentale di PhoneGap sta nel fatto che, una volta realizzata l'applicazione mobile, quest ultima riesce ad adattarsi a qualunque piattaforma supportata. PhoneGap userà il linguaggio nativo della piattaforma per accedere alle risorse hardware e software in modo da aggiungere le funzionalità di base al motore JavaScript e renderle, così, facilmente utilizzabili dall'applicazione come fossero tradizionali metodi di libreria. In base alla tipologia di piattaforma con la quale dovrà interfacciarsi, l'implementazione di aggancio sarà, di conseguenza, sviluppata in Objective C per iphone, in Java per Android, in C++ o C# per Windows Phone, etc. Tale implementazione è fornita dallo stesso framework; in pratica, esiste un runtime basato su WebKit4 che è il motore di browser come Safari e Google Chrome, in cui vengono iniettate le componenti statiche. Il risultato sarà un pacchetto composto da due elementi principali con differenti responsabilità che operano tra loro per fornire delle funzioni. 42 Carlo Iannò

45 Nel caso specifico il runtime si occupa di dialogare direttamente con il dispositivo; un esempio di architettura di un applicazione realizzata con PhoneGap potrebbe essere quella mostrata nel seguente schema: Partendo dal basso verso l alto, si può notare che la parte in blu è quella che riguarda il sistema operativo della piattaforma nativa. Ad un livello superiore troviamo il framework PhoneGap, anch esso fornito insieme alle API JavaScript. Nel sottolivello relativo al framework PhoneGap troviamo Embedded Browser, il quale incapsula le WebApp (HTML, CSS, JavaScript) e le API JavaScript. Ciò è stato fatto per mettere in evidenza che l'oggetto browser può essere aperto all'interno dell'applicazione che si sta sviluppando e, dunque, dentro PhoneGap. Per comportamento di default il browser viene aperto esternamente all'applicazione; di conseguenza, ad ogni richiesta di una pagina Web si ha l'apertura del Web browser. L'apertura di una pagina nell Embedded Browser nasconde la barra degli indirizzi nonché i pulsanti forniti dal browser di default; in questo modo si oscura in parte il fatto che si tratti di una pagina Web. Ciò è un vantaggio indiscutibile nel rendere l'esperienza più simile a quella di un'applicazione nativa. Per cui il pacchetto applicativo destinato alla distribuzione conterrà file statici come HTML, JavaScript, CSS e le classi native di aggancio. Il pacchetto dovrà essere opportunamente firmato prima di essere distribuito sullo Store ufficiale delle piattaforme di riferimento. Carlo Iannò 43

46 TOOL E TECNOLOGIE UTILIZZATE Lo sviluppo di un app richiede la sola conoscenza dei linguaggi come HTML, CSS, JavaScript. Questi tre linguaggi contribuiscono a creare la struttura della pagina Web (HTML), di personalizzarne il suo aspetto (CSS), di renderla dinamica (ovvero di fare in modo che il contenuto della pagina venga generato totalmente o parzialmente, al momento della richiesta ) e interattiva mediante il codice JavaScript. Nel seguito consideriamo quattro attori principali nell ambito di tali tecnologie, ovvero: HyperText Markup Language (HTML / HTML5); Cascading Style Sheets (CSS); JavaScript; Application Programming Interface (API). 44 Carlo Iannò

47 HyperText Markup Language (HTML) È il linguaggio predominante delle pagine Web. Per descrivere tali pagine viene usato un sistema di tag. I tag sono costituiti da parentesi angolate ( come <html>); il browser è programmato per riconoscere i tag e la loro funzione; un volta riconosciuti i tag, non li mostra nella pagina finale ma li utilizza per costruire la pagina. E' possibile inserire immagini, oggetti, creare moduli interattivi, etc. Esistono tag per strutturare il documento con link, intestazioni, liste, paragrafi e altri elementi. E' possibile inserire all'interno del codice della pagina altri linguaggi attivi; ad esempio, si può incorporare del codice JavaScript o utilizzare altri linguaggi più server side, come Personal Home Page (PHP) o JavaServer Pages (JSP) per svolgere compiti più complessi. Mediante tali linguaggi è possibile creare pagine Web con contenuto dinamico con l'utilizzo di codice Java incluso nella pagina HTML. Una variante, molto innovativa rispetto all HTML classico è HTML5; inizialmente, fino alla versione HTML4, nonché per creare una pagina Web era necessario utilizzare moltissimi tag <div >..</div> gli attributi id oppure class, per indicare la loro funzione, e caratterizzarli nel file CSS. Uno schema di una pagina strutturata con HTML4è il seguente: Con l evoluzione di HTML, e quindi con HTML5, nonostante quest ultimo linguaggio presenti le stesse separazioni concettuali, possiamo notare che gli attributi vengono rappresentati dai tag stessi. Carlo Iannò 45

48 Il markup per la pagina HTML5 è strutturato nel seguente modo: Tale markup fa riferimento alla seguente struttura: Una tale forma consente allo standard di essere retro compatibile, evitando scelte difficili agli sviluppatori Web. Oltre a questi cambiamenti nella struttura della pagina, vengono messi a disposizione alcuni tag aggiuntivi per gestire multimedialità e personalizzazione delle pagine. Un esempio potrebbero essere i seguenti tag: <canvas>; esso mette a disposizione uno spazio rettangolare di dimensione personalizzabile all interno del quale è possibile disegnare a piacere qualunque tipo di forma, immagine, animazione, etc. La creazione delle illustrazioni avverrà tramite primitive JavaScript. <audio> <video>; mediante questi tag è possibile includere e controllare contenuti multimediali. Tutto ciò era già possibile tramite Adobe Flash, ma ora, mediante JavaScript, è possibile gestire i file multimediali senza appesantire la pagina. 46 Carlo Iannò

49 Cascading Style Sheets (CSS) È un linguaggio che definisce lo stile, la formattazione e l'aspetto di un documento scritto in un linguaggio di markup. E' più comunemente usato assieme alle pagine Web scritte in HTML, ma può anche essere applicato ai documenti extensible Markup Language (XML). Il linguaggio definisce i comportamenti visivi di una pagina Web. Ad ogni elemento della pagina viene associata una serie di comandi che modicano l'aspetto dell'elemento stesso. e il suo comportamento all'interno della pagina. L'intero codice porta alla creazione di uno script che viene associato alla pagina stessa e definisce l'aspetto degli elementi in base ad alcune azioni dell'utente (spostamenti del mouse sopra elementi della pagina, click di alcuni elementi, etc). Un file CSS definisce il posizionamento, la colorazione, il comportamento del testo, degli elementi, e delle immagini. Mentre l'autore di un documento tipicamente associa quest ultimo ad uno specifico CSS, i lettori possono utilizzare un foglio di stile proprio e sovrascrivere quello che il proprietario ha specificato. Le specifiche del CSS sono aggiornate dal World Wide Web Consortium (W3C) che gestisce gli standard per le WebApp mobile. Carlo Iannò 47

50 JavaScript JavaScript è un linguaggio di programmazione interpretato con un rudimentale orientamento agli oggetti. Il suo ibiettivo è quello di consentire l'inserimento di contenuto eseguibile in una pagina Web. Ciò vuol dire che una pagina Web non presenta solo codice HTML classico, di tipo statico, ma può includere programmi dinamici che interagiscono con l'utente, controllano il browser e creano dinamicamente contenuti HTML. JavaScript può ottenere informazioni dall utente e dal browser stesso; inoltre, può interagire con l utente per migliorare l esperienza durante la navigazione. Per esempio può nascondere, mostrare o alterare le proprietà e gli attributi associati a particolari elementi della pagina. Un notevole esempio di JavaScript può essere la funzionalità del pulsante indietro, il quale si trova in qualunque browser e ci permette di tornare alla pagina esattamente precedente a quella visitata. Un problema abbastanza noto che uno sviluppatore riscontra praticamente quando utilizza il codice JavaScript è legato alla velocità. A chiunque è sicuramente capitato di provare ad aprire una pagina Web ricca di contenuti e notare del ritardo nella visualizzazione di quelli multimediali: spesso è a causa dell'uso pesante di codice JavaScript per la gestione di animazioni, navigazione, dinamicità della pagina. Lo stesso problema si è riscontrato nello sviluppo con PhoneGap; pagine contenenti molto codice JavaScript tendono a essere lente nel caricamento, soprattutto se pensiamo che a fare il rendering della pagina è il browser di un dispositivo mobile. Il problema è stato riscontrato sui vari dispositivi, in forma più o meno accentuata. Tuttavia, è possibile eseguire un test per calcolare un bilancio complessivo del dispositivo e per conoscere la velocità di esecuzione di codice JavaScript: è sufficiente collegarsi al seguente indirizzo: https://www.webkit.org/perf/sunspider/sunspider.html 48 Carlo Iannò

51 Di seguito vengono illustrati due Report Benchmark eseguiti sui principali dispositivi mobile e i principali browser che consentono l esecuzione di codice JavaScript. Carlo Iannò 49

52 Application Programming Interface (API) Il progetto Phonegap è sempre in via di sviluppo; la documentazione sulle API è aggiornata costantemente. Le funzionalità disponibili al momento, in base alla piattaforma utilizzata, sono illustrate nella seguente figura: Tale tabella ci aiuta ad avere un'idea di cosa è supportato e su che piattaforma; tuttavia, il sito ufficiale ricorda che aggiornamenti più frequenti sono presenti al seguente link: https://github.com/phonegap/phonegap/wiki 50 Carlo Iannò

53 PROGETTI ASSOCIATI E GARTNER MAGIC QUADRANT Per aiutare a migliorare l'applicazione finale occorre, inoltre, che esistono dei progetti che nello sviluppo possono tornare utili. Esistono vari strumenti utili che possono facilitare il lavoro dello sviluppatore. Un esempio di tali tool può essere visualizzato sul sito ufficiale al seguente link: Sono presenti framework JavaScript, API per lo sviluppo di giochi JavaScript, tool per disegnare widget. Alcuni di questi strumenti si sono rilevati utili; altri sono, comunque, degni di attenzione. Di seguito un elenco di tool che hanno riscosso maggiore successo: XUI. Framework JavaScript particolarmente stringato. E' utile per realizzare applicazioni per i browser più prestanti. Sencha/Sencha animation. Permette lo sviluppo di applicazioni Web che sembrano native per iphone e Android. JQuerymobile. Promette di fornire un'interfaccia utente unificata ad applicazioni Web per ogni tipo di piattaforma mobile. Ripple. Fornisce, mediante un'aggiunta a Google Chrome, il supporto per il testing della pagina realizzata su dispositivi mobile. E' possibile visualizzare l anteprima della pagina su diversi tipi di schermi simulati da questa applicazione. JQTouch. Plugin per JQuery per lo sviluppo Web su iphone e ipodtouch. Carlo Iannò 51

54 Nel seguito indichiamo in rosso la posizione di Adobe PhoneGap nel Magic Quadrant di Gartner di cui si è discusso nel Capitolo Carlo Iannò

55 APACHE CORDOVA Apache Cordova (come il suo predecessore Adobe PhoneGap), rappresenta un set di API che permette a uno sviluppatore di applicazioni mobile di accedere alle funzioni native dei dispositivi, come, ad esempio la fotocamera, l accelerometro, le coordinate GPS, il File System, etc. Grazie all uso combinato di codice Java Script e al framework UI come, ad esempio, JQuery Mobile, fa si che l applicazione venga generata semplicemente con l uso di HTML, CSS e JavaScript, seguendo il tradizionale approccio delle applicazioni Web. In altre parole, seguendo il tradizionale approccio, Apache Cordova si occuperà di tradurre un applicazione Web in un applicazione mobile. Utilizzando le API di Cordova, l applicazione potrà essere utilizzata senza la necessità di conoscere, e quindi di dover utilizzare, il codice nativo (Objective C, Java, etc). Cordova si basa su tecnologie Web, solitamente situate sul dispositivo stesso e non su un server remoto. È proprio l adozione di HTML, CSS e JavaScript che rappresenta la garanzia che l applicazione sia a tutti gli effetti, multipiattaforma e che il porting su dispositivi diversi non comporti, se non in minima parte, la necessità di modifiche al codice. Cordova, come anticipato, fornisce, quindi, un set di librerie JavaScript che possono essere invocate. Ogni chiamata verrà, poi, tramutata dal framework nella relativa chiamata in codice nativo in base al dispositivo di utilizzo. Il risultato di tale operazione è un informazione che risulterà essere uniforme, indipendentemente dalla piattaforma di utilizzo, e che metterà lo sviluppatore in condizione di disinteressarsi di quale sia l effettivo dispositivo di utilizzo finale. Apache Cordova è disponibile per le seguenti piattaforme: ios, Android, Blackberry, Windows Phone, Palm WebOS, Bada e Symbian. Carlo Iannò 53

ORACLE BUSINESS INTELLIGENCE STANDARD EDITION ONE A WORLD CLASS PERFORMANCE

ORACLE BUSINESS INTELLIGENCE STANDARD EDITION ONE A WORLD CLASS PERFORMANCE ORACLE BUSINESS INTELLIGENCE STANDARD EDITION ONE A WORLD CLASS PERFORMANCE Oracle Business Intelligence Standard Edition One è una soluzione BI completa, integrata destinata alle piccole e medie imprese.oracle

Dettagli

***** Il software IBM e semplice *****

***** Il software IBM e semplice ***** Il IBM e semplice ***** ***** Tutto quello che hai sempre voluto sapere sui prodotti IBM per qualificare i potenziali clienti, sensibilizzarli sulle nostre offerte e riuscire a convincerli. WebSphere IL

Dettagli

Guida alle offerte di finanziamento per le medie imprese

Guida alle offerte di finanziamento per le medie imprese IBM Global Financing Guida alle offerte di finanziamento per le medie imprese Realizzata da IBM Global Financing ibm.com/financing/it Guida alle offerte di finanziamento per le medie imprese La gestione

Dettagli

DynDevice ECM. La Suite di applicazioni web per velocizzare, standardizzare e ottimizzare il flusso delle informazioni aziendali

DynDevice ECM. La Suite di applicazioni web per velocizzare, standardizzare e ottimizzare il flusso delle informazioni aziendali DynDevice ECM La Suite di applicazioni web per velocizzare, standardizzare e ottimizzare il flusso delle informazioni aziendali Presentazione DynDevice ECM Cos è DynDevice ICMS Le soluzioni di DynDevice

Dettagli

Il portafoglio VidyoConferencing. Tutto ciò di cui avete bisogno per realizzare videoconferenze HD di qualità, accessibili e a costi vantaggiosi

Il portafoglio VidyoConferencing. Tutto ciò di cui avete bisogno per realizzare videoconferenze HD di qualità, accessibili e a costi vantaggiosi Il portafoglio VidyoConferencing Tutto ciò di cui avete bisogno per realizzare videoconferenze HD di qualità, accessibili e a costi vantaggiosi La qualità HD di Vidyo mi permette di vedere e ascoltare

Dettagli

Software per l archiviazione e la gestione conforme delle email

Software per l archiviazione e la gestione conforme delle email MailStore Server 7 Software per l archiviazione e la gestione conforme delle email MailStore Server Lo standard nell archiviazione delle email MailStore Server consente alle aziende di trarre tutti i vantaggi

Dettagli

L evoluzione del software per l azienda moderna. Gestirsi / Capirsi / Migliorarsi

L evoluzione del software per l azienda moderna. Gestirsi / Capirsi / Migliorarsi IL GESTIONALE DEL FUTURO L evoluzione del software per l azienda moderna Gestirsi / Capirsi / Migliorarsi IL MERCATO ITALIANO L Italia è rappresentata da un numero elevato di piccole e medie aziende che

Dettagli

Conferencing Services. Web Meeting. Quick Start Guide V4_IT

Conferencing Services. Web Meeting. Quick Start Guide V4_IT Web Meeting Quick Start Guide V4_IT Indice 1 INFORMAZIONI SUL PRODOTTO... 3 1.1 CONSIDERAZIONI GENERALI... 3 1.2 SISTEMI OPERATIVI SUPPORTATI E LINGUE... 3 1.3 CARATTERISTICHE... 3 2 PRENOTARE UNA CONFERENZA...

Dettagli

Intalio. Leader nei Sistemi Open Source per il Business Process Management. Andrea Calcagno Amministratore Delegato

Intalio. Leader nei Sistemi Open Source per il Business Process Management. Andrea Calcagno Amministratore Delegato Intalio Convegno Open Source per la Pubblica Amministrazione Leader nei Sistemi Open Source per il Business Process Management Navacchio 4 Dicembre 2008 Andrea Calcagno Amministratore Delegato 20081129-1

Dettagli

VIRTUALIZE IT. www.digibyte.it - digibyte@digibyte.it

VIRTUALIZE IT. www.digibyte.it - digibyte@digibyte.it il server? virtualizzalo!! Se ti stai domandando: ma cosa stanno dicendo? ancora non sai che la virtualizzazione è una tecnologia software, oggi ormai consolidata, che sta progressivamente modificando

Dettagli

Configurazioni Mobile Connect

Configurazioni Mobile Connect Mailconnect Mail.2 L EVOLUZIONE DELLA POSTA ELETTRONICA Configurazioni Mobile Connect iphone MOBILE CONNECT CONFIGURAZIONE MOBILE CONNECT PER IPHONE CONFIGURAZIONE IMAP PER IPHONE RUBRICA CONTATTI E IPHONE

Dettagli

Ing. Andrea Saccà. Stato civile: Celibe Nazionalità: Italiana Data di nascita: 9 Ottobre 1978 Luogo di nascita: Roma Residenza: Roma

Ing. Andrea Saccà. Stato civile: Celibe Nazionalità: Italiana Data di nascita: 9 Ottobre 1978 Luogo di nascita: Roma Residenza: Roma Indirizzo: Via dell'automobilismo, 109 00142 Roma (RM) Sito Web : http://www.andreasacca.com Telefono: 3776855061 Email : sacca.andrea@gmail.com PEC : andrea.sacca@pec.ording.roma.it Ing. Andrea Saccà

Dettagli

Utilizzato con successo nei più svariati settori aziendali, Passepartout Mexal BP è disponibile in diverse versioni e configurazioni:

Utilizzato con successo nei più svariati settori aziendali, Passepartout Mexal BP è disponibile in diverse versioni e configurazioni: Passepartout Mexal BP è una soluzione gestionale potente e completa per le imprese che necessitano di un prodotto estremamente flessibile, sia dal punto di vista tecnologico sia funzionale. Con più di

Dettagli

Neomobile incentra l infrastruttura IT su Microsoft ALM, arrivando a 40 nuovi rilasci a settimana

Neomobile incentra l infrastruttura IT su Microsoft ALM, arrivando a 40 nuovi rilasci a settimana Storie di successo Microsoft per le Imprese Scenario: Software e Development Settore: Servizi In collaborazione con Neomobile incentra l infrastruttura IT su Microsoft ALM, arrivando a 40 nuovi rilasci

Dettagli

Plesk Automation. Parallels. Domande tecniche più frequenti

Plesk Automation. Parallels. Domande tecniche più frequenti Parallels Plesk Automation Primo trimestre, 2013 Domande tecniche più frequenti Questo documento ha come scopo quello di rispondere alle domande tecniche che possono sorgere quando si installa e si utilizza

Dettagli

FileMaker Server 12. Guida introduttiva

FileMaker Server 12. Guida introduttiva FileMaker Server 12 Guida introduttiva 2007 2012 FileMaker, Inc. Tutti i diritti riservati. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker e Bento sono marchi di FileMaker,

Dettagli

MyMedia Portal LMS un servizio SaaS di e-learning basato sul Video Streaming per la vendita on line di Lezioni Multimediali interattive

MyMedia Portal LMS un servizio SaaS di e-learning basato sul Video Streaming per la vendita on line di Lezioni Multimediali interattive 1 MyMedia Portal LMS un servizio SaaS di e-learning basato sul Video Streaming per la vendita on line di Lezioni Multimediali interattive Cos è un servizio di e-learning SaaS, multimediale, interattivo

Dettagli

progettiamo e realizziamo architetture informatiche Company Profile

progettiamo e realizziamo architetture informatiche Company Profile Company Profile Chi siamo Kammatech Consulting S.r.l. nasce nel 2000 con l'obiettivo di operare nel settore I.C.T., fornendo servizi di progettazione, realizzazione e manutenzione di reti aziendali. Nel

Dettagli

CLOUD SURVEY 2012: LO STATO DEL CLOUD COMPUTING IN ITALIA

CLOUD SURVEY 2012: LO STATO DEL CLOUD COMPUTING IN ITALIA CLOUD SURVEY 2012: LO STATO DEL CLOUD COMPUTING IN ITALIA 2ª PARTE NEL CAPITOLO PRECEDENTE NOTA METODOLOGICA LA PAROLA AI CIO I MIGLIORI HYPERVISOR AFFIDARSI AI VENDOR INVESTIRE PER IL CLOUD APPLICAZIONI

Dettagli

Manuale d uso Apache OpenMeetings (Manuale Utente + Manuale Amministratore)

Manuale d uso Apache OpenMeetings (Manuale Utente + Manuale Amministratore) Manuale d uso Apache OpenMeetings (Manuale Utente + Manuale Amministratore) Autore: Matteo Veroni Email: matver87@gmail.com Sito web: matteoveroni@altervista.org Fonti consultate: http://openmeetings.apache.org/

Dettagli

Web conferencing e collaborazione in tempo reale su Internet: la piattaforma Meetecho

Web conferencing e collaborazione in tempo reale su Internet: la piattaforma Meetecho Web conferencing e collaborazione in tempo reale su Internet: la piattaforma Meetecho Tobia Castaldi Alessandro Amirante Lorenzo Miniero Simon Pietro Romano Giorgio Ventre 02/10/2009 GARR 2009 "Network

Dettagli

IBM Cognos 8 BI Midmarket Reporting Packages Per soddisfare tutte le vostre esigenze di reporting restando nel budget

IBM Cognos 8 BI Midmarket Reporting Packages Per soddisfare tutte le vostre esigenze di reporting restando nel budget Data Sheet IBM Cognos 8 BI Midmarket Reporting Packages Per soddisfare tutte le vostre esigenze di reporting restando nel budget Panoramica Le medie aziende devono migliorare nettamente le loro capacità

Dettagli

GUIDA ALLE BEST PRACTICE PER MOBILE DEVICE MANAGEMENT E MOBILE SECURITY

GUIDA ALLE BEST PRACTICE PER MOBILE DEVICE MANAGEMENT E MOBILE SECURITY GUIDA ALLE BEST PRACTICE PER MOBILE DEVICE MANAGEMENT E MOBILE SECURITY Con Kaspersky, adesso è possibile. www.kaspersky.it/business Be Ready for What's Next SOMMARIO Pagina 1. APERTI 24 ORE SU 24...2

Dettagli

Mai più senza smartphone.

Mai più senza smartphone. Mai più senza smartphone. Il telefonino ha superato il pc come mezzo di consultazione del web: 14,5 milioni contro 12,5 milioni.* Sempre più presente, lo smartphone è ormai parte integrante delle nostre

Dettagli

INFORMATIVA SUI COOKIE

INFORMATIVA SUI COOKIE INFORMATIVA SUI COOKIE I Cookie sono costituiti da porzioni di codice installate all'interno del browser che assistono il Titolare nell erogazione del servizio in base alle finalità descritte. Alcune delle

Dettagli

Copyright Università degli Studi di Torino, Progetto Atlante delle Professioni 2009 IT PROCESS EXPERT

Copyright Università degli Studi di Torino, Progetto Atlante delle Professioni 2009 IT PROCESS EXPERT IT PROCESS EXPERT 1. CARTA D IDENTITÀ... 2 2. CHE COSA FA... 3 3. DOVE LAVORA... 4 4. CONDIZIONI DI LAVORO... 5 5. COMPETENZE... 6 Quali competenze sono necessarie... 6 Conoscenze... 8 Abilità... 9 Comportamenti

Dettagli

I N F I N I T Y Z U C C H E T T I WORKFLOW HR

I N F I N I T Y Z U C C H E T T I WORKFLOW HR I N F I N I T Y Z U C C H E T T I WORKFLOW HR WORKFLOW HR Zucchetti, nell ambito delle proprie soluzioni per la gestione del personale, ha realizzato una serie di moduli di Workflow in grado di informatizzare

Dettagli

Sistemi di supporto alle decisioni Ing. Valerio Lacagnina

Sistemi di supporto alle decisioni Ing. Valerio Lacagnina Cosa è il DSS L elevato sviluppo dei personal computer, delle reti di calcolatori, dei sistemi database di grandi dimensioni, e la forte espansione di modelli basati sui calcolatori rappresentano gli sviluppi

Dettagli

Elaidon Web Solutions

Elaidon Web Solutions Elaidon Web Solutions Realizzazione siti web e pubblicità sui motori di ricerca Consulente Lorenzo Stefano Piscioli Via Siena, 6 21040 Gerenzano (VA) Telefono +39 02 96 48 10 35 elaidonwebsolutions@gmail.com

Dettagli

APPLICAZIONE WEB PER LA GESTIONE DELLE RICHIESTE DI ACQUISTO DEL MATERIALE INFORMATICO. Francesco Marchione e Dario Richichi

APPLICAZIONE WEB PER LA GESTIONE DELLE RICHIESTE DI ACQUISTO DEL MATERIALE INFORMATICO. Francesco Marchione e Dario Richichi APPLICAZIONE WEB PER LA GESTIONE DELLE RICHIESTE DI ACQUISTO DEL MATERIALE INFORMATICO Francesco Marchione e Dario Richichi Istituto Nazionale di Geofisica e Vulcanologia Sezione di Palermo Indice Introduzione...

Dettagli

I Valori del Manifesto Agile sono direttamente applicabili a Scrum:!

I Valori del Manifesto Agile sono direttamente applicabili a Scrum:! Scrum descrizione I Principi di Scrum I Valori dal Manifesto Agile Scrum è il framework Agile più noto. E la sorgente di molte delle idee che si trovano oggi nei Principi e nei Valori del Manifesto Agile,

Dettagli

Ottimizzazione della gestione del data center con Microsoft System Center

Ottimizzazione della gestione del data center con Microsoft System Center Ottimizzazione della gestione del data center con Microsoft System Center Declinazione di responsabilità e informazioni sul copyright Le informazioni contenute nel presente documento rappresentano le conoscenze

Dettagli

Istituto Tecnico Commerciale Indirizzo AFM articolazione SIA PERCHE???

Istituto Tecnico Commerciale Indirizzo AFM articolazione SIA PERCHE??? Istituto Tecnico Commerciale Indirizzo AFM articolazione SIA PERCHE??? Opportunità di lavoro: ICT - Information and Communication Technology in Azienda Vendite Acquisti Produzione Logistica AFM SIA ICT

Dettagli

Enterprise Services Infrastructure ESI 2.0

Enterprise Services Infrastructure ESI 2.0 Enterprise Services Infrastructure ESI 2.0 Caratteristiche e Posizionamento ver. 2.1 del 21/01/2013 Cos è ESI - Enterprise Service Infrastructure? Cos è ESI? ESI (Enteprise Service Infrastructure) è una

Dettagli

TeamViewer introduce l applicazione per Outlook. Il collegamento diretto con i contatti di Outlook è ora possibile grazie a TeamViewer

TeamViewer introduce l applicazione per Outlook. Il collegamento diretto con i contatti di Outlook è ora possibile grazie a TeamViewer Press Release TeamViewer introduce l applicazione per Outlook Il collegamento diretto con i contatti di Outlook è ora possibile grazie a TeamViewer Goeppingen, Germania, 28 aprile 2015 TeamViewer, uno

Dettagli

UML Component and Deployment diagram

UML Component and Deployment diagram UML Component and Deployment diagram Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it Dipartimento di Ingegneria Informatica e delle Telecomunicazioni Università di Catania I diagrammi UML Classificazione

Dettagli

F O R M A T O E U R O P E O

F O R M A T O E U R O P E O F O R M A T O E U R O P E O P E R I L C U R R I C U L U M V I T A E INFORMAZIONI PERSONALI Nome Indirizzo Laura Bacci, PMP Via Tezze, 36 46100 MANTOVA Telefono (+39) 348 6947997 Fax (+39) 0376 1810801

Dettagli

nasce il futuro v secolo a. c. agorà virtuale

nasce il futuro v secolo a. c. agorà virtuale dell e-learning nasce il futuro v secolo a. c. Con Agorà, nell antica Grecia, si indicava la piazza principale della polis, il suo cuore pulsante, il luogo per eccellenza di una fertilità culturale e scientifica

Dettagli

Web conferencing software. Massimiliano Greco - Ivan Cerato - Mario Salvetti

Web conferencing software. Massimiliano Greco - Ivan Cerato - Mario Salvetti 1 Web conferencing software Massimiliano Greco - Ivan Cerato - Mario Salvetti Arpa Piemonte 2 Che cosa è Big Blue Button? Free, open source, web conferencing software Semplice ed immediato ( Just push

Dettagli

Studio di retribuzione 2014

Studio di retribuzione 2014 Studio di retribuzione 2014 TECHNOLOGY Temporary & permanent recruitment www.pagepersonnel.it EDITORIALE Grazie ad una struttura costituita da 100 consulenti e 4 uffici in Italia, Page Personnel offre

Dettagli

Piazza delle Imprese alimentari. Viale delle Manifatture. Via della Produzione

Piazza delle Imprese alimentari. Viale delle Manifatture. Via della Produzione Piazza delle Imprese alimentari Viale delle Manifatture Via della Produzione PASSEPARTOUT MEXAL è una soluzione gestionale potente e completa per le imprese che necessitano di un prodotto estremamente

Dettagli

Web Conferencing and Collaboration tool

Web Conferencing and Collaboration tool Web Conferencing and Collaboration tool La piattaforma Meetecho Piattaforma di Web Conferencing e Collaborazione on line in tempo reale Caratteristiche generali Soluzione client-server progettata per essere

Dettagli

Progettare, sviluppare e gestire seguendo la Think it easy philosophy

Progettare, sviluppare e gestire seguendo la Think it easy philosophy Progettare, sviluppare e gestire seguendo la Think it easy philosophy CST Consulting è una azienda di Consulenza IT, System Integration & Technology e Servizi alle Imprese di respiro internazionale. E

Dettagli

Setup e installazione

Setup e installazione Setup e installazione 2 Prima di muovere i primi passi con Blender e avventurarci nel vasto mondo della computer grafica, dobbiamo assicurarci di disporre di due cose: un computer e Blender. 6 Capitolo

Dettagli

La suite Dental Trey che semplifica il tuo mondo.

La suite Dental Trey che semplifica il tuo mondo. La suite Dental Trey che semplifica il tuo mondo. impostazioni di sistema postazione clinica studio privato sterilizzazione magazzino segreteria amministrazione sala di attesa caratteristiche UNO tiene

Dettagli

Corso di Amministrazione di Sistema Parte I ITIL 3

Corso di Amministrazione di Sistema Parte I ITIL 3 Corso di Amministrazione di Sistema Parte I ITIL 3 Francesco Clabot Responsabile erogazione servizi tecnici 1 francesco.clabot@netcom-srl.it Fondamenti di ITIL per la Gestione dei Servizi Informatici Il

Dettagli

Asset sotto controllo... in un TAC. Latitudo Total Asset Control

Asset sotto controllo... in un TAC. Latitudo Total Asset Control Asset sotto controllo... in un TAC Latitudo Total Asset Control Le organizzazioni che hanno implementato e sviluppato sistemi e processi di Asset Management hanno dimostrato un significativo risparmio

Dettagli

Sistemi Web-Based - Terminologia. Progetto di Sistemi Web-Based Prof. Luigi Laura, Univ. Tor Vergata, a.a. 2010/2011

Sistemi Web-Based - Terminologia. Progetto di Sistemi Web-Based Prof. Luigi Laura, Univ. Tor Vergata, a.a. 2010/2011 Sistemi Web-Based - Terminologia Progetto di Sistemi Web-Based Prof. Luigi Laura, Univ. Tor Vergata, a.a. 2010/2011 CLIENT: il client è il programma che richiede un servizio a un computer collegato in

Dettagli

Applicazione: Share - Sistema per la gestione strutturata di documenti

Applicazione: Share - Sistema per la gestione strutturata di documenti Riusabilità del software - Catalogo delle applicazioni: Gestione Documentale Applicazione: Share - Sistema per la gestione strutturata di documenti Amministrazione: Regione Piemonte - Direzione Innovazione,

Dettagli

Carica i tuoi contenuti. Notizie Feed RSS Feed Multipli. Collegamento al tuo Sito Web

Carica i tuoi contenuti. Notizie Feed RSS Feed Multipli. Collegamento al tuo Sito Web Formule a confronto Carica i tuoi contenuti Puoi inserire immagini, creare le tue liste, i tuoi eventi. Gestire il tuo blog e modificare quando e quante volte vuoi tutto ciò che carichi. Notizie Feed RSS

Dettagli

La collaborazione come strumento per l'innovazione.

La collaborazione come strumento per l'innovazione. La collaborazione come strumento per l'innovazione. Gabriele Peroni Manager of IBM Integrated Communication Services 1 La collaborazione come strumento per l'innovazione. I Drivers del Cambiamento: Le

Dettagli

FORM Il sistema informativo di gestione della modulistica elettronica.

FORM Il sistema informativo di gestione della modulistica elettronica. Studio FORM FORM Il sistema informativo di gestione della modulistica elettronica. We believe in what we create This is FORM power La soluzione FORM permette di realizzare qualsiasi documento in formato

Dettagli

AUL22: FactoryTalk View SE Scoprite i vantaggi chiave di una soluzione SCADA integrata

AUL22: FactoryTalk View SE Scoprite i vantaggi chiave di una soluzione SCADA integrata AUL22: FactoryTalk View SE Scoprite i vantaggi chiave di una soluzione SCADA integrata Giampiero Carboni Davide Travaglia David Board Rev 5058-CO900C Interfaccia operatore a livello di sito FactoryTalk

Dettagli

Energy Data Management System (EDMS): la soluzione software per una gestione efficiente dell energia secondo lo standard ISO 50001

Energy Data Management System (EDMS): la soluzione software per una gestione efficiente dell energia secondo lo standard ISO 50001 Energy Data Management System (EDMS): la soluzione software per una gestione efficiente dell energia secondo lo standard ISO 50001 Oggi più che mai, le aziende italiane sentono la necessità di raccogliere,

Dettagli

B.P.S. Business Process Server ALLEGATO C10

B.P.S. Business Process Server ALLEGATO C10 B.P.S. Business Process Server ALLEGATO C10 REGIONE BASILICATA DIPARTIMENTO PRESIDENZA DELLA GIUNTA REGIONALE UFFICIO SISTEMA INFORMATIVO REGIONALE E STATISTICA Via V. Verrastro, n. 4 85100 Potenza tel

Dettagli

Università degli Studi di Parma. Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica

Università degli Studi di Parma. Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica Università degli Studi di Parma Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica A.A. 2007-08 CORSO DI INGEGNERIA DEL SOFTWARE Prof. Giulio Destri http://www.areasp.com (C) 2007 AreaSP for

Dettagli

TeamViewer 8 Manuale Meeting

TeamViewer 8 Manuale Meeting TeamViewer 8 Manuale Meeting Rev 8.0-12/2012 TeamViewer GmbH Kuhnbergstraße 16 D-73037 Göppingen www.teamviewer.com Indice 1 Informazioni su TeamViewer... 5 1.1 Informazioni sul software... 5 1.2 Informazioni

Dettagli

Panoramica su ITIL V3 ed esempio di implementazione del Service Design

Panoramica su ITIL V3 ed esempio di implementazione del Service Design Master Universitario di II livello in Interoperabilità Per la Pubblica Amministrazione e Le Imprese Panoramica su ITIL V3 ed esempio di implementazione del Service Design Lavoro pratico II Periodo didattico

Dettagli

Utilizzato con successo nei più svariati settori aziendali, con Passepartout Mexal BP ogni utente può disporre di funzionalità

Utilizzato con successo nei più svariati settori aziendali, con Passepartout Mexal BP ogni utente può disporre di funzionalità PASSEPARTOUT MEXAL BP è una soluzione gestionale potente e completa per le imprese che necessitano di un prodotto estremamente flessibile, sia dal punto di vista tecnologico sia funzionale. Con più di

Dettagli

Le Dashboard di cui non si può fare a meno

Le Dashboard di cui non si può fare a meno Le Dashboard di cui non si può fare a meno Le aziende più sensibili ai cambiamenti stanno facendo di tutto per cogliere qualsiasi opportunità che consenta loro di incrementare il business e di battere

Dettagli

Gestire le comunicazione aziendali con software Open Source

Gestire le comunicazione aziendali con software Open Source Gestire le comunicazione aziendali con software Open Source Data: Ottobre 2012 Firewall pfsense Mail Server Zimbra Centralino Telefonico Asterisk e FreePBX Fax Server centralizzato Hylafax ed Avantfax

Dettagli

BPEL: Business Process Execution Language

BPEL: Business Process Execution Language Ingegneria dei processi aziendali BPEL: Business Process Execution Language Ghilardi Dario 753708 Manenti Andrea 755454 Docente: Prof. Ernesto Damiani BPEL - definizione Business Process Execution Language

Dettagli

Rational Asset Manager, versione 7.1

Rational Asset Manager, versione 7.1 Rational Asset Manager, versione 7.1 Versione 7.1 Guida all installazione Rational Asset Manager, versione 7.1 Versione 7.1 Guida all installazione Note Prima di utilizzare queste informazioni e il prodotto

Dettagli

GESTIRE LA BIBLIOGRAFIA

GESTIRE LA BIBLIOGRAFIA GESTIRE LA BIBLIOGRAFIA STRUMENTI DI GESTIONE BIBLIOGRAFICA I software di gestione bibliografica permettono di raccogliere, catalogare e organizzare diverse tipologie di materiali, prendere appunti, formattare

Dettagli

Gestire le informazioni con un sorriso sulle labbra

Gestire le informazioni con un sorriso sulle labbra Gestire le informazioni con un sorriso sulle labbra Enterprise Content Management vi semplifica la vita Enterprise-Content-Management Gestione dei documenti Archiviazione Workflow www.elo.com Karl Heinz

Dettagli

Applicazione: DoQui/Index - Motore di gestione dei contenuti digitali

Applicazione: DoQui/Index - Motore di gestione dei contenuti digitali Riusabilità del software - Catalogo delle applicazioni: Applicativo verticale Applicazione: DoQui/Index - Motore di gestione dei contenuti digitali Amministrazione: Regione Piemonte - Direzione Innovazione,

Dettagli

Cosa fare in caso di perdita di smartphone o tablet

Cosa fare in caso di perdita di smartphone o tablet OUCH! Ottobre 2012 IN QUESTO NUMERO Introduzione Le precauzioni da prendere Cosa fare in caso di smarrimento o furto Cosa fare in caso di perdita di smartphone o tablet L AUTORE DI QUESTO NUMERO Heather

Dettagli

RedDot Content Management Server Content Management Server Non sottovalutate il potenziale della comunicazione online: usatela! RedDot CMS vi permette di... Implementare, gestire ed estendere progetti

Dettagli

FIRESHOP.NET. Gestione Utility & Configurazioni. Rev. 2014.3.1 www.firesoft.it

FIRESHOP.NET. Gestione Utility & Configurazioni. Rev. 2014.3.1 www.firesoft.it FIRESHOP.NET Gestione Utility & Configurazioni Rev. 2014.3.1 www.firesoft.it Sommario SOMMARIO Introduzione... 4 Impostare i dati della propria azienda... 5 Aggiornare il programma... 6 Controllare l integrità

Dettagli

Mobile Messaging SMS. Copyright 2015 VOLA S.p.A.

Mobile Messaging SMS. Copyright 2015 VOLA S.p.A. Mobile Messaging SMS Copyright 2015 VOLA S.p.A. INDICE Mobile Messaging SMS. 2 SMS e sistemi aziendali.. 2 Creare campagne di mobile marketing con i servizi Vola SMS.. 3 VOLASMS per inviare SMS da web..

Dettagli

Ambienti supportati. Configurazione della stampante di rete. Stampa. Gestione della carta. Manutenzione. Risoluzione dei problemi.

Ambienti supportati. Configurazione della stampante di rete. Stampa. Gestione della carta. Manutenzione. Risoluzione dei problemi. I server di stampa vengono utilizzati per collegare le stampanti alle reti. In tal modo, più utenti possono accedere alle stampanti dalle proprie workstation, condividendo sofisticate e costose risorse.

Dettagli

Manuale di Remote Desktop Connection. Brad Hards Urs Wolfer Traduzione: Luciano Montanaro Traduzione: Daniele Micci

Manuale di Remote Desktop Connection. Brad Hards Urs Wolfer Traduzione: Luciano Montanaro Traduzione: Daniele Micci Manuale di Remote Desktop Connection Brad Hards Urs Wolfer Traduzione: Luciano Montanaro Traduzione: Daniele Micci 2 Indice 1 Introduzione 5 2 Il protocollo Remote Frame Buffer 6 3 Uso di Remote Desktop

Dettagli

GESTIONE DELLA E-MAIL

GESTIONE DELLA E-MAIL GESTIONE DELLA E-MAIL Esistono due metodologie, completamente diverse tra loro, in grado di consentire la gestione di più caselle di Posta Elettronica: 1. tramite un'interfaccia Web Mail; 2. tramite alcuni

Dettagli

White Paper. Operational DashBoard. per una Business Intelligence. in real-time

White Paper. Operational DashBoard. per una Business Intelligence. in real-time White Paper Operational DashBoard per una Business Intelligence in real-time Settembre 2011 www.axiante.com A Paper Published by Axiante CAMBIARE LE TRADIZIONI C'è stato un tempo in cui la Business Intelligence

Dettagli

PUBLIC, PRIVATE O HYBRID CLOUD: QUAL È IL TIPO DI CLOUD OTTIMALE PER LE TUE APPLICAZIONI?

PUBLIC, PRIVATE O HYBRID CLOUD: QUAL È IL TIPO DI CLOUD OTTIMALE PER LE TUE APPLICAZIONI? PUBLIC, PRIVATE O HYBRID CLOUD: QUAL È IL TIPO DI CLOUD OTTIMALE PER LE TUE APPLICAZIONI? Le offerte di public cloud proliferano e il private cloud è sempre più diffuso. La questione ora è come sfruttare

Dettagli

2013 Skebby. Tutti i diritti riservati.

2013 Skebby. Tutti i diritti riservati. Disclaimer: "# $%&'(&)'%# *("# +,(-(&'(# *%$).(&'%#,/++,(-(&'/# 0"#.(1"0%# *(""20&3%,./40%&(# /# &%-',/# disposizione. Abbiamo fatto del nostro meglio per assicurare accuratezza e correttezza delle informazioni

Dettagli

Privacy Policy del sito http://www.plastic-glass.com

Privacy Policy del sito http://www.plastic-glass.com Cos'è una PRIVACY POLICY Privacy Policy del sito http://www.plastic-glass.com Questo documento, concernente le politiche di riservatezza dei dati personali di chi gestisce il sito Internet http://www.plastic-glass.com

Dettagli

MATRICE DELLE FUNZIONI DI DRAGON NATURALLYSPEAKING 12 CONFRONTO TRA EDIZIONI DEL PRODOTTO

MATRICE DELLE FUNZIONI DI DRAGON NATURALLYSPEAKING 12 CONFRONTO TRA EDIZIONI DEL PRODOTTO MATRICE DELLE FUNZIONI DI DRAGON NATURALLYSPEAKING 12 CONFRONTO TRA EDIZIONI DEL PRODOTTO Precisione del riconoscimento Velocità di riconoscimento Configurazione del sistema Correzione Regolazione della

Dettagli

SICUREZZA SENZA COMPROMESSI PER TUTTI GLI AMBIENTI VIRTUALI. Security for Virtual and Cloud Environments

SICUREZZA SENZA COMPROMESSI PER TUTTI GLI AMBIENTI VIRTUALI. Security for Virtual and Cloud Environments SICUREZZA SENZA COMPROMESSI PER TUTTI GLI AMBIENTI VIRTUALI Security for Virtual and Cloud Environments PROTEZIONE O PRESTAZIONI? Già nel 2009, il numero di macchine virtuali aveva superato quello dei

Dettagli

www.provincia.roma.it EBOOK COSA SONO COME SI USANO DOVE SI TROVANO di Luisa Capelli

www.provincia.roma.it EBOOK COSA SONO COME SI USANO DOVE SI TROVANO di Luisa Capelli www.provincia.roma.it EBOOK COSA SONO COME SI USANO DOVE SI TROVANO di Luisa Capelli 01 Nei secoli, ci siamo abituati a leggere in molti modi (pietra, pergamena, libri). I cambiamenti continueranno e noi

Dettagli

Modulo. Programmiamo in Pascal. Unità didattiche COSA IMPAREREMO...

Modulo. Programmiamo in Pascal. Unità didattiche COSA IMPAREREMO... Modulo A Programmiamo in Pascal Unità didattiche 1. Installiamo il Dev-Pascal 2. Il programma e le variabili 3. Input dei dati 4. Utilizziamo gli operatori matematici e commentiamo il codice COSA IMPAREREMO...

Dettagli

Posta Elettronica. Claudio Cardinali claudio@csolution.it

Posta Elettronica. Claudio Cardinali claudio@csolution.it Posta Elettronica Claudio Cardinali claudio@csolution.it Posta Elettronica: WebMail Una Webmail è un'applicazione web che permette di gestire uno o più account di posta elettronica attraverso un Browser.

Dettagli

Guida al nuovo sistema di posta. CloudMail UCSC. (rev.doc. 1.4)

Guida al nuovo sistema di posta. CloudMail UCSC. (rev.doc. 1.4) Guida al nuovo sistema di posta CloudMail UCSC (rev.doc. 1.4) L Università per poter migliorare l utilizzo del sistema di posta adeguandolo agli standard funzionali più diffusi ha previsto la migrazione

Dettagli

Analisi dei requisiti e casi d uso

Analisi dei requisiti e casi d uso Analisi dei requisiti e casi d uso Indice 1 Introduzione 2 1.1 Terminologia........................... 2 2 Modello della Web Application 5 3 Struttura della web Application 6 4 Casi di utilizzo della Web

Dettagli

Guida ai Servizi Internet per il Referente Aziendale

Guida ai Servizi Internet per il Referente Aziendale Guida ai Servizi Internet per il Referente Aziendale Indice Indice Introduzione...3 Guida al primo accesso...3 Accessi successivi...5 Amministrazione dei servizi avanzati (VAS)...6 Attivazione dei VAS...7

Dettagli

PLM Software. Answers for industry. Siemens PLM Software

PLM Software. Answers for industry. Siemens PLM Software Siemens PLM Software Monitoraggio e reporting delle prestazioni di prodotti e programmi Sfruttare le funzionalità di reporting e analisi delle soluzioni PLM per gestire in modo più efficace i complessi

Dettagli

Seagate Access per Personal Cloud Manuale utente

Seagate Access per Personal Cloud Manuale utente Seagate Access per Personal Cloud Manuale utente 2015 Seagate Technology LLC. Tutti i diritti riservati. Seagate, Seagate Technology, il logo Wave e FreeAgent sono marchi depositati o marchi registrati

Dettagli

La piattaforma IBM Cognos

La piattaforma IBM Cognos La piattaforma IBM Cognos Fornire informazioni complete, coerenti e puntuali a tutti gli utenti, con una soluzione economicamente scalabile Caratteristiche principali Accedere a tutte le informazioni in

Dettagli

TeamViewer 8 Manuale Controllo remoto

TeamViewer 8 Manuale Controllo remoto TeamViewer 8 Manuale Controllo remoto Rev 8.0-12/2012 TeamViewer GmbH Kuhnbergstraße 16 D-73037 Göppingen www.teamviewer.com Indice 1 Informazioni su TeamViewer... 6 1.1 Informazioni sul software... 6

Dettagli

Informatica. Scopo della lezione

Informatica. Scopo della lezione 1 Informatica per laurea diarea non informatica LEZIONE 1 - Cos è l informatica 2 Scopo della lezione Introdurre le nozioni base della materia Definire le differenze tra hardware e software Individuare

Dettagli

Curriculum Vitae Europass

Curriculum Vitae Europass Curriculum Vitae Europass Informazioni personali Cognome/i nome/i Castelli Flavio Email flavio.castelli@gmail.com Sito web personale http://www.flavio.castelli.name Nazionalità Italiana Data di nascita

Dettagli

SCUOLANEXT, è l'esclusivo e rivoluzionario sistema informatizzato con cui far interagire docenti, studenti e famiglie in tempo reale!

SCUOLANEXT, è l'esclusivo e rivoluzionario sistema informatizzato con cui far interagire docenti, studenti e famiglie in tempo reale! SCUOLANET, è l'esclusivo e rivoluzionario sistema informatizzato con cui far interagire docenti, studenti e famiglie in tempo reale! SCUOLANET consente la piena digitalizzazione della scuola: completa

Dettagli

Stefano Perna. Informazioni Personali. Obiettivi Professionali. Posizione attuale. Healthcare Pre-Sales e Project Management.

Stefano Perna. Informazioni Personali. Obiettivi Professionali. Posizione attuale. Healthcare Pre-Sales e Project Management. Stefano Perna Informazioni Personali Residenza Viale Spartaco, 91 00174 Roma Telefono (+39) 320 6974861 (+39) 340 2267281 Email perna.stefano@gmail.com Sito http://www.stefanoperna.it Luogo e Data di nascita

Dettagli

Company Profile 2014

Company Profile 2014 Company Profile 2014 Perché Alest? Quando una nuova azienda entra sul mercato, in particolare un mercato saturo come quello informatico viene da chiedersi: perché? Questo Company Profile vuole indicare

Dettagli

t.fabrica wanna be smarter? smart, simple, cost effectiveness solutions for manufactoring operational excellence.

t.fabrica wanna be smarter? smart, simple, cost effectiveness solutions for manufactoring operational excellence. t.fabrica wanna be smarter? smart, simple, cost effectiveness solutions for manufactoring operational excellence. Per le aziende manifatturiere, oggi e sempre più nel futuro individuare ed eliminare gli

Dettagli

DigitPA egovernment e Cloud computing

DigitPA egovernment e Cloud computing DigitPA egovernment e Cloud computing Esigenze ed esperienze dal punto di vista della domanda RELATORE: Francesco GERBINO 5 ottobre 2010 Agenda Presentazione della Società Le infrastrutture elaborative

Dettagli

WEB Conference, mini howto

WEB Conference, mini howto Prerequisiti: WEB Conference, mini howto Per potersi collegare o creare una web conference è necessario: 1) Avere un pc con sistema operativo Windows XP o vista (windows 7 non e' ancora certificato ma

Dettagli