UNIVERSITÀ DEGLI STUDI DEL SANNIO

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "UNIVERSITÀ DEGLI STUDI DEL SANNIO"

Transcript

1 UNIVERSITÀ DEGLI STUDI DEL SANNIO FACOLTÀ DI INGEGNERIA CORSO DI LAUREA IN INGEGNERIA INFORMATICA TESI DI LAUREA IN TECNOLOGIE DI PRODUZIONE DEL SOFTWARE STUDIO DI UN FRAMEWORK APPLICATIVO MULTIPIATTAFORMA PER AMBIENTI MOBILE RELATORE: Prof. Luigi Troiano CORRELATORE: Dott. Maria Carmela Vitelli CANDIDATO: Umberto Russo Matr. 195/ ANNO ACCADEMICO 2012/2013

2 A i miei genitori...

3

4 Sommario Indice delle Figure... 6 Indice delle Tabelle... 7 CAPITOLO 1 INTRODUZIONE Organizzazione del lavoro CAPITOLO 2 LE APPLICAZIONI IN AMBITO MOBILE Panoramica sui sistemi operativi mobile Sviluppo di un'app in ambienti nativi Ambienti: Android, ios e Windows Phone Realizzazione di un'app attraverso un framework multipiattaforma CAPITOLO 3 PHONEGAP Scegliere un buon framework Caretteristiche di PhoneGap Architettura di PhoneGap e il suo modello di programmazione Linguaggi di programmazione utilizzati e la loro relazione con PhoneGap jquery Mobile: un framework nel framework

5 CAPITOLO 4 PORTING DI UN'APPLICAZIONE Interfaccia grafica e navigazione tra le pagine Persistenza dei dati Accesso alle API native con PhoneGap Interazione con un web server CAPITOLO 5 CONCLUSIONI E SVILUPPI FUTURI Appendice BIBLIOGRAFIA

6 Indice delle Figure Figura 1: Build Emulation Flow Android Figura 2: Layers of ios Figura 3: Condivisione API Window 8 e Windows Phone Figura 4: Architettura Windows Phone Figura 5: Unificazione delle piattaforme Windows Figura 6: PhoneGap Build Diagram Figura 7: Architettura PhoneGap

7 Indice delle Tabelle Tabella 1: Funzioni supportate da PhoneGap per i diversi OS Mobile parte Tabella 2: Funzioni supportate da PhoneGap per i diversi OS Mobile parte Tabella 3: Tabella delle affinità Sqlite

8 CAPITOLO 1 INTRODUZIONE Sono passati solo pochi anni dall'introduzione sul mercato di dispositivi mobili quali smartphone e tablet, ed è incredibile come questi hanno rivoluzionato il modo di vivere delle persone, oggi è quasi indispensabile potersi connettere ad internet tramite il proprio smartphone per poter usufruire della miriade di servizi atti a fornire un insieme sempre più organizzato di informazioni. Parallelamente allo sviluppo hardware, come sempre accade, il mondo del software ha dovuto reinventarsi per approcciare ad un mercato in crescita esponenziale, giganti dell' IT come Google e Apple hanno rivoluzionato il concetto di "cellulare" a tal punto da da domandarsi quale potrà mai essere lo step successivo. Attualmente esistono milioni di applicazioni mobile, la maggior parte per ambienti Android e ios, ma si contano almeno una decina di sistemi operativi mobile con caratteristiche diverse. Questo si traduce, per lo sviluppo di applicazioni, nell'utilizzo di innumerevoli strumenti di sviluppo diversi fra loro e un dispendio notevole di risorse atti a garantire il funzionamento delle medesima applicazione sulla maggior parte di questi sistemi operativi. 8

9 Esistono però delle alternative: infatti, tramite l'utilizzo di opportuni framework applicativi si può risparmiare tempo, risorse e garantire la compatibilità dell'applicazione su diversi sistemi mobile. Lo scopo della seguente tesi è quello di valutare le attuali tecniche di sviluppo di applicativi mobile e confrontarle con l'uso alternativo di framework cross-platform, per comprendere se allo stato attuale è possibile realizzare applicazioni di qualità con un approccio multipiattaforma in grado di competere con lo sviluppo in ambienti nativi. Il vantaggio principale che spinge alla realizzazione di framework per ambienti mobile è certamente l'approccio cross-platform, il quale garantisce un notevole risparmio di risorse sia nella fase di progettazione che di sviluppo. Questo tipo di approccio è stato già brillantemente adoperato in passato, per esempio dalla Sun Microsystem, la quale ha prodotto il linguaggio di programmazione orientato agli oggetti Java, attualmente uno dei più utilizzati al mondo. 9

10 1.1 Organizzazione del lavoro Il presente lavoro propone lo studio e lo sviluppo di un applicativo multipiattaforma mobile, mediante il porting di un' applicazione già esistente in ambiente Android. Utilizzando il framework PhoneGap sarà possibile evidenziare le tecniche necessarie per il conseguimento dello scopo e valutare le eventuali alternative. Nel Capitolo 2 viene proposta una panoramica sull'ambiente mobile, vengono presi in considerazione gli attuali sistemi operativi più importanti e ne vengono delineate le differenze in termini di progettazione e sviluppo di software. Vengono presentati, inoltre, gli aspetti peculiari dello sviluppo in ambienti nativi e attraverso i diversi framework multipiattaforma oggi disponibili. Nel Capitolo 3 verrà presentato PhoneGap un framework cross-platform mobile realizzato dalla software house statunitense Adobe System, che consente di sviluppare delle applicazioni native attraverso l'utilizzo di tecnologie web quali HTML5, CSS3 e JavaScript. 10

11 Nel Capitolo 4 viene concretizzata l'attività di analisi con la descrizione del lavoro svolto per realizzare il porting di un applicativo già esistente, progettato per l'ambiente Android, attraverso l'uso di PhoneGap. Infine nel Capitolo 5 confrontando l'applicazione nativa con quella ottenuta attraverso il porting, sarà possibile comprendere i diversi comportamenti dovuti a modelli di programmazione differenti. Evidenziando, per concludere, vantaggi e svantaggi offerti dall'utilizzo di un framework multipiattaforma rispetto alle tradizionali tecniche si sviluppo in ambienti mobile. 11

12 CAPITOLO 2 LE APPLICAZIONI IN AMBITO MOBILE Un'applicazione per dispositivi mobili si differenzia da quelle tradizionali sia per il supporto con cui viene usata sia per la concezione che racchiude in sé. Generalmente questo tipo di applicazioni vengono definite anche "App", poiché rispetto ad un'applicazione classica risultano più semplici e leggere ed hanno il compito di ampliare le capacità native del dispositivo su cui vengono installate. Negli ultimi anni però il mondo delle app è diventato sempre più complesso e la semplicità che caratterizzava le applicazioni mobile sta lasciando il posto a software più articolati, complice anche la repentina evoluzione hardware dei dispositivi quali smartphone e tablet. 2.1 Panoramica sui sistemi operativi mobile Un sistema operativo mobile, detto anche "mobile OS", controlla un dispositivo mobile con lo stesso principio con cui i sistemi operativi desktop controllano un PC o un Laptop. 12

13 La maggior parte delle problematiche affrontate da un sistema operativo mobile sono le stesse della controparte desktop: ossia la gestione della memoria RAM, l'utilizzo della CPU da parte dei processi attivi, la gestione di un file system ecc. In più, hanno il difficile compito di gestire fattori non presenti in ambienti desktop, come ad esempio: la gestione limitata delle risorse, l'assenza di alimentazione esterna, differenti tecnologie per l'accesso ad internet (WiFi, GPRS, HSDPA), nuovi metodi di immissione testuale ecc. Inoltre non bisogna dimenticare che uno smartphone è principalmente un telefono, un mezzo di comunicazione e quindi un OS mobile deve poter gestire anche questa fondamentale funzionalità. Una delle prime aziende informatiche a lavorare su sistemi operativi mobile più evoluti è stata la Microsoft Corporation, la quale nel 2005 lancia Windows Mobile 5. Successivamente nel 2007 Apple rivoluziona il mondo degli smartphone proponendo il suo sistema operativo mobile ios (anche se inizialmente era chiamato iphone OS), mentre l'anno successivo nel 2008 Google lancia la prima versione di Android. Di seguito una lista dei principali sistemi operativi mobile, che attualmente sono presenti sul mercato ed equipaggiano smartphone ed alcuni tablet. 13

14 ios: sviluppato da Apple a partire dal 2007, caratterizzato da un kernel 1 ibrido XNU basato su kernel Mach e FreeBSD, il modello del sorgente è proprietario anche se il nucleo Darwin è open source, è disponibile un SDK per lo sviluppo di app attraverso Xcode, attualmente è uno dei principali OS mobile. Android: sviluppato da Google a partire dal 2008 caratterizzato da un kernel linux monolitico, il modello del sorgente è completamente open source infatti è possibile trovare diverse varianti del sistema operativo sviluppate da appassionati, è disponibile un SDK per lo sviluppo di app attraverso Eclipse che comunque non rappresenta l'unico metodo per sviluppare in ambiente Android. Insieme ad ios attualmente è uno dei principali OS mobile. Windows Phone: sviluppato da Microsoft Corporation a partire dal 2010 caratterizzato da un kernel Windows NT / Windows CE, il modello del sorgente è completamente proprietario, è disponibile un SDK per lo sviluppo di app attraverso Microsoft Visual Studio 2010 Express, anche se non è diffuso come Android e ios rappresenta comunque un sistema operativo mobile presente in un ampia fetta di mercato. 1 Il kernel costituisce il nucleo di un sistema operativo, fornisce ai processi in esecuzione un accesso sicuro e controllato all'hardware. 14

15 BlackBerry: sviluppato da Research In Motion a partire dal 2002 caratterizzato da un kernel sviluppato in C++ con la presenza di un livello di astrazione che permette l'utilizzo di librerie scritte in java, il modello del sorgente è completamente proprietario ed è disponibile un SDK nativo per lo sviluppo di app in C/C++, anche se è possibile utilizzare altre tipi di linguaggi di programmazione. Open WebOS: sviluppato da Palm dal 2009 e successivamente acquistato da Hewlett-Packard, è caratterizzato da un kernel Linux monolitico, il modello del sorgente è proprietario con alcune parti open source, è disponibile un SDK per lo sviluppo di app attraverso vari linguaggi di programmazione tra cui C/C++. Symbian OS: sviluppato da Symbian Foundation a partire dal 2001, caratterizzato da un kernel del tipo Microkernel, ha un modello di sorgente libero, fino ad oggi ha equipaggiato quasi esclusivamente dispositivi nokia ed ormai il suo stato di sviluppo è concluso, è disponibile un SDK per lo sviluppo di app in un dialetto del C++ chiamato Symbian C++. Bada: sviluppato da Samsung dal 2010, caratterizzato da un kernel ibrido RTOS / Free BSD Kernel / Linux kernel, ha un modello di sorgente misto alcune parti sono open source, altre proprietarie o libere, è disponibile un 15

16 SDK per lo sviluppo di app in C++ mediante l'ambiente di sviluppo Eclipse. Nei prossimi paragrafi e capitoli per lo scopo che si prefigge il presente lavoro di tesi, verranno presi in considerazione i sistemi operativi più diffusi nell'attuale mercato mobile ossia Android [1], ios [2] e Windows Phone [3]. 2.2 Sviluppo di un'app in ambienti nativi Sviluppare un applicativo mobile in ambienti nativi vuol dire utilizzare una serie di strumenti messi a disposizione dell'azienda produttrice del sistema operativo, tra cui l'importantissimo SDK 2 e la documentazione ad esso associata. Non tutti gli SDK sono uguali in termini di componenti, i quali formano l'ambiente di sviluppo. Infatti gli strumenti solitamente messi a disposizione per gli sviluppatori sono: un compilatore, che dà la possibilità di tradurre il codice sorgente in un eseguibile, una serie di librerie standard dotate di interfacce pubbliche, tecnicamente definite API 3 e la 2 Software Development Kit, insieme di tools messi a disposizione dal produttore di un sistema operativo per realizzare un software in un determinato ambiente. 3 Acronimo di Application Programming Interface, insieme di procedure disponibili al programmatore raggruppate a formare un insieme di strumenti specifici per eseguire un determinato compito. 16

17 documentazione sulle licenze da utilizzare per distribuire programmi creati con l'sdk. Questi componenti di base possono essere estesi con strumenti di vario tipo come: compilatori per diversi linguaggi di programmazione, IDE 4 molto avanzati e simulatori che permettono di simulare i dispositivi mobili. Molti SDK sono disponibili gratuitamente mentre altri vengono distribuiti attraverso l'uso di licenze commerciali, questo panorama così ampio permette di comprendere come la giusta scelta di sviluppo in ambienti specifici sia di peculiare importanza, poiché l'utilizzo di più kit di sviluppo richiede un cospicuo utilizzo di risorse. A complicare maggiormente lo sviluppo in ambienti nativi è l'utilizzo dei più disparati linguaggi di programmazione; si passa dai più diffusi C/C++ a dialetti degli stessi, da linguaggi orientati al web come JavaScript a tecnologie più datate come J2ME. Nel caso di studio riguardante questo lavoro gli ambienti di sviluppo analizzati riguardano i sistemi operativi Android, ios e Windows Phone, di cui segue una trattazione. 4 Integrated Development Environment, ambiente di sviluppo integrato che aiuta i programmatori nello sviluppo del codice sorgente di un programma. 17

18 2.3 Ambienti: Android, ios e Windows Phone Android Le applicazioni in ambiente Android sono sviluppate all'interno di un framework 5, ossia una struttura dati specifica. Solitamente viene utilizzato come ambiente di sviluppo integrato Eclipse, il quale attraverso l'uso di plug-in può estendere le sue funzionalità e integrare completamente tutte le caratteristiche del SDK Android. Le applicazioni Android sono caratterizzate da una certa dualità: da un lato, si trovano le parti dinamiche (sviluppate in un dialetto del linguaggio Java) che costituiscono l'applicazione mobile, come la gestione degli eventi. Dall'altro si trovano le parti statiche, ad esempio alcuni elementi delle interfacce, queste vengono scritte in XML 6. Questa suddivisione tra parti dinamiche e statiche rappresenta in realtà un'astrazione, utile comunque per comprendere il modello di programmazione generale su cui si basa lo sviluppo per il sistema operativo Android. In effetti le applicazioni realizzate per questo SO vengono interpretate dalla Dalvik Virtual Machine in modo molto simile a ciò che avviene in ambienti Java con la Java Virtual Machine. 5 Un framework è una struttura logica di supporto su cui un software può essere progettato è realizzato. 6 extensible Markup Language, linguaggio di markup basato su un meccanismo sintattico che consente di definire e controllare il significato degli elementi contenuti in un documento o in un testo. 18

19 Quando si compila un sorgente scritto in dialetto Java per Android il compilatore produce un codice che potremmo definire "intermedio" chiamato Bytecode; quest'ultimo viene interpretato dalla Dalvik Virtual Machine e solo a questo punto si ha la reale esecuzione dell'applicazione. Questo approccio, ovviamente ripreso da ciò che avviene già in ambienti Java, è molto interessante poiché permette di eseguire un'applicazione su ogni dispositivo Android anche con architetture hardware diverse. Per ogni dispositivo esiste una versione specifica della Dalvik Virtual Machine in grado di interpretare nel medesimo modo la stessa applicazione, che ovviamente viene scritta e compilata in bytecode solo una volta. In questo modo la filosofia "write once run everywhere" coniata dalla Sun Microsystem viene, in modo più limitato, adottata anche dall'ambiente Android estendendo la portabilità del codice su architetture hardware diverse fra loro. Come risultato di questa idea, molti costruttori hanno deciso di adottare come sistema operativo mobile Android, potendo cosi fornire ai propri utenti un ambiente condiviso da moltissimi altri utenti. Un altro elemento che compone un'applicazione Android è il file "Manifest.xml", un documento scritto in XML che descrive l'applicazione al dispositivo prescelto definendo i contenuti e il comportamento dell'applicazione stessa. All'interno di questo file sono elencate le Activity e i Service con i permessi che l'applicazione necessita per funzionare correttamente. Infine uno strumento di fondamentale importanza completa 19

20 il kit di sviluppo Android: l'emulatore. Esso permette di emulare diversi dispositivi e versioni di Android dando così la possibilità allo sviluppatore di eseguire accurate sessioni di debug. Figura 1: Build Emulation Flow Android ios Il sistema operativo ios di Apple usa una variante del kernel "XNU Kernel" utilizzato nell' OS per ambienti desktop "Mac OS X", ed è per questo motivo che il pacchetto SDK messo a disposizione dalla Apple per lo sviluppo di applicazioni mobile è molto simile, in termini di risorse disponibili, alla controparte desktop. L'IDE utilizzato in questo tipo di ambiente è Xcode, va però specificato che il pacchetto SDK Apple per lo 20

21 sviluppo di software è compatibile solo ed esclusivamente con ambienti desktop Apple. Questo di per sè rappresenta già una limitazione in quanto si rende necessario l'acquisto di una macchina desktop Apple, inoltre la licenza di ios non ne permette l'installazione su hardware di terze parti. Tornando alla descrizione del pacchetto SDK esso comprende: Cocoa Touch: un framework per la creazione di interfacce grafiche utilizzabile per i dispositivi iphone, ipad e ipod. Media: un set di strumenti dedicati alla creazione di contenuti multimediali come audio e grafica, in particolare sono presenti librerie come OpenAL e OpenGL ES. Core Services: per la gestione di funzionalità più specifiche come la geolocalizzazione (Core Location), i servizi di rete, la gestione dei Threads, ecc. Core OS: per la gestione di funzionalità caratteristiche del Sistema Operativo come TCP/IP, Sockets, Power Management, File System, ecc. Queste componenti vengono viste come un insieme di livelli attraverso i quali ios implementa le proprie funzionalità, il livello più basso è rappresentato dal Core OS mentre il livello più alto è il Cocoa Touch. 21

22 Figura 2: Layers of ios Oltre alla Xcode toolchain appena presentata, il pacchetto SDK contiene un efficiente simulatore di iphone utilizzato per testare le app prima dell'effettivo deploy su un reale dispositivo. Il linguaggio di programmazione necessario per realizzare applicazioni in ambiente ios è l'objective-c, che è un linguaggio orientato agli oggetti e di fatto rappresenta un'estensione del linguaggio C. Essendo un'estensione, l'objective-c, mantiene una compatibilità totale con i costrutti utilizzati nel linguaggio C. Anche le applicazioni ios, come quelle Android, vengono sviluppate mediante l'utilizzo di un framework tramite il quale è possibile accedere alle interfacce di sistema. In questo caso il framework è visto come una 22

23 directory che contiene una serie di librerie dinamiche condivise e risorse a supporto di tali librerie. Il compilatore utilizzato per lo sviluppo di app in ambiente ios si chiama Apple LLVM Compiler. Quest'ultimo a differenza di Android, dove il codice prodotto dal compilatore viene successivamente interpretato dalla DVM, compila il codice Objective-C producendo direttamente un programma eseguibile. Bisogna precisare infine che il pacchetto SDK di ios contiene un simulatore di iphone, che nonostante sia molto performante in termini di velocità, non simula tutte le caratteristiche di un dispositivo reale: per esempio la memoria disponibile sull'emulatore non è limitata come quella presente su di un dispositivo reale. Windows Phone Windows Phone 8 è l'ultima versione del sistema operativo Microsoft destinato agli smartphone. Questo, rilasciato alla fine del 2012, rappresenta un ulteriore passo avanti nei progetti di Microsoft stessa. Bisogna infatti pensare che Microsoft produce anche il famoso sistema operativo desktop Windows 8 e commercialmente sta tentando di unificare (dal punto di vista utente) le diverse versioni dei suoi sistemi operativi. Il pacchetto SDK per lo sviluppo di applicazioni mobile contiene: 23

24 Microsoft Visual Studio Express 2012 for Windows Phone: un IDE molto avanzato per le fasi di progettazione e sviluppo. Windows Phone Emulator: un emulatore di dispositivi Windows Phone versione 8 e 7. Microsoft Expression Blend for Windows Phone: un tool di design per la realizzazione di interfacce grafiche. XNA Game Studio: uno strumento basato sul framework gratuito XNA per lo sviluppo di videogiochi su più piattaforme come: PC, Xbox 360 e ovviamente Windows Phone. Windows Phone 8 è basato sul kernel Windows NT lo stesso utilizzato appunto in Windows 8, questa sorta di unificazione permette lo sviluppo di applicazioni sia mobile che desktop attraverso l'uso dei linguaggi C++ e C#. Figura 3: Condivisione API Windows 8 e Windows Phone 8 24

25 Le applicazioni Windows Phone 8 condividono alcuni aspetti con il sistema operativo versione desktop, alcune API e driver models sono condivisi semplificando la fase di sviluppo se si intende operare negli ambienti desktop e mobile contemporaneamente. L'utilizzo del nuovo Kernel NT ridefinisce i diversi livelli dell'architettura che rispetto alla versione precedente, Windows Phone 7, puntano sempre di più a costruire una sorta di unificazione nello sviluppo di applicativi desktop e mobile. 25

26 Figura 4: Architettura Windows Phone 8 Figura 5: Unificazione delle piattaforme Windows 8 26

27 2.4 Realizzazione di un'app attraverso un framework multipiattaforma Sviluppare un'applicazione mediante un framework cross-platform implica un approccio differente rispetto alle tecniche tradizionali. La progettazione dell'applicazione deve tener conto delle diverse caratteristiche dei sistemi operativi e dell'hardware dei dispositivi. Infatti nel caso di sviluppo in ambienti nativi, si tende a progettare il software considerando le funzionalità messe a disposizione da un singola piattaforma. Con l'approccio cross-platform è necessario valutare insieme le caratteristiche delle diverse piattaforme su cui verrà rilasciato il software. Se vengono sfruttate le funzionalità comuni tra più sistemi operativi sarà possibile mantenere un unica linea di sviluppo. Ad esempio se consideriamo i dispositivi Android e ios si può facilmente notare che sulla prima piattaforma citata i dispositivi dispongono di diversi pulsanti soft touch (menu, back button, search, ecc. ) mentre nella seconda piattaforma questi pulsanti sono assenti. Pertanto con un approccio cross-platform, il cui obiettivo è il deployment 7 sui sistemi sopra citati, non è consigliabile utilizzare nell'applicazione il pulsante soft touch menu (relativo alla piattaforma Android), poiché non esiste una funzione equivalente in ios. 7 Il deployment è una fase del ciclo di vita del software che conclude lo sviluppo e da inizio alla manutenzione. 27

28 Questo comporterebbe la nascita di due linee di sviluppo parallele, andando contro l'idea che sta alla base dell'approccio multipiattaforma. Un altro aspetto da affrontare riguarda la scelta del framework crossplatform, di cui oggi ne esistono almeno una ventina che si differenziano per svariati aspetti. Un'attenta trattazione delle caratteristiche necessarie per un buon framework verrà affrontata nel prossimo capitolo. Di seguito un elenco dei framework più conosciuti: PhoneGap Appspresso AppFurnace Application Craft NS Basic/App Studio WorkLight QuickConnectFamily Rhodes 28

29 CAPITOLO 3 PHONEGAP PhoneGap è un Framework cross-platform mobile prodotto inizialmente da Nitobi e successivamente acquistato da Adobe System. Esso consente di sviluppare delle applicazioni per dispositivi mobili attraverso l'uso delle tecnologie orientate al web come: HTML5, CSS3 e JavaScript; al posto di linguaggi specifici per ogni device come l'objective-c. Il risultato che si ottiene è un'applicazione ibrida, poiché il rendering del layout avviene attraverso l'utilizzo delle WebView presenti in modo nativo all'interno delle User Interface dei diversi Sistemi Operativi Mobile. Le caratteristiche ibride riguardano anche il lato back-end 8 dell'applicazione; poiché quest'ultima non è soltanto una web app, essa ha accesso alle API native del dispositivo. Questa caratteristica non è presente nelle applicazioni esclusivamente web based. 3.1 Scegliere un buon framework La scelta di un buon framework multipiattaforma per lo sviluppo di applicazioni mobile è di fondamentale importanza. Nelle fasi che 8 Il back-end rappresenta la parte software che elabora i dati generati dal front-end, che a sua volta è la parte software che gestisce l'interazione con l'utente. 29

30 caratterizzano la realizzazione di un software, in generale analisi, progettazione, implementazione e collaudo, risulta conveniente utilizzare strumenti che agevolano le varie fasi. Tutto questo si traduce in un notevole risparmio di risorse e tempo, inoltre un framework di qualità si riconosce anche dalla notorietà della software house che lo produce. Nel caso di PhoneGap parliamo di Adobe System, un'azienda presente sul mercato da diversi anni è che ha sempre realizzato prodotti di successo. Bisogna poi ricordare che un framework multipiattaforma permette l'accesso alle API native dell'ambiente mobile specifico, e non tutti i framework esistenti supportano tutte le funzionalità messe a disposizione delle diverse API. Un'altra caratteristica da notare riguarda le tempistiche di rilascio delle nuove versioni di un determinato framework. Rilasci relativamente frequenti danno l'opportunità di comprendere che il framework in questione è seguito ed utilizzato da molti e per tanto raggiunge fasi di sviluppo avanzate che permettono l'implementazione di funzionalità sempre più complete. La possibilità di espandere le caratteristiche di un framework è un altro punto a favore, poiché i progetti software più importanti sono sempre accompagnati da folte community di appassionati. Queste ultime 30

31 sviluppano plug-in di terze parti e creano un'ampia documentazione a corredo di tali estensioni. Infine bisogna sempre pensare quale sarà l'obiettivo da raggiungere con lo sviluppo di un'applicazione mobile. Esistono progetti open source e commerciali che richiedono attenzioni differenti per la successiva fase di distribuzione. Per quanto riguarda i progetti commerciali, il cui obiettivo è la monetizzazione, l'uso di licenze adatte allo scopo è fondamentale. Se non si desidera investire in strumenti per lo sviluppo che adottano a loro volta licenze commerciali, è necessario far riferimento a strumenti comunque professionali che si basano su licenze di tipo: MIT, open source, ecc. La scelta dell'utilizzo di PhoneGap, per il porting di un'applicazione già esistente in ambiente Android, è stata dettata da tutte le caratteristiche sopra elencate, il confronto del framework PhoneGap con altri concorrenti ha portato alla scelta di quest'ultimo in quanto ben rispondeva alle necessità relative al lavoro di porting 9. 9 processo di trasposizione di un componente software, volto a consentirne l'uso in un ambiente di esecuzione diverso da quello originale. 31

32 3.2 Caratteristiche di PhoneGap Il core delle applicazioni PhoneGap utilizza HTML5 e CSS3 per il rendering dell'interfaccia grafica, mentre JavaScript viene utilizzato per implementare la logica dell'applicazione e contemporaneamente per accedere alle funzionalità native messe a disposizione dalle API. HTML5 ha la possibilità, grazie alle sue nuove caratteristiche, di accedere alle funzionalità native del dispositivo, anche se questo approccio non è raccomandabile poiché esso non è ancora uno standard perfettamente definito. Molti dispositivi mobile più datati supportano solo poche caratteristiche del linguaggio di markup HTML5, il World Wide Web Consortium [4] ha annunciato che la prima versione dello standard è prevista per la fine del Per incorporare l'applicazione realizzata mediante tecnologie web all'interno di una WebView e accedere alle API native, PhoneGap fa ampiamente uso di Foreign Function Iterface. Ossia un meccanismo attraverso il quale un programma scritto in un determinato linguaggio, può chiamare routines o far uso di servizi scritti in un altro linguaggio di programmazione. PhoneGap utilizza una libreria JavaScript comune a tutti Figura 5: Flow Diagram dell architettura 32

33 gli ambienti mobile, la quale è collegata attraverso le FFI, ai servizi messi a disposizione delle librerie scritte in linguaggio nativo per ogni piattaforma mobile. In questo modo il codice scritto mediante PhoneGap rimane lo stesso per ogni sistema operativo mobile. Infine per ottenere il codice eseguibile è necessario nei diversi ambienti di sviluppo collegare esclusivamente le librerie native ed eseguire il build 10 dell'applicazione. Questo approccio però, rende le prestazioni dell'applicazione meno performanti rispetto ad un'applicazione sviluppata in ambiente nativo. In realtà quest'ultimo punto è una caratteristica di tutti i framework mobile multipiattaforma, un comportamento tra l'altro prevedibile se si pensa che l'applicazione per poter essere eseguita, deve necessariamente passare per una serie di wrapper. I sistemi operativi supportati da PhoneGap sono: Android, Windows Phone, ios, Bada, Blackberry, webos e Symbian. Di seguito alcune tabelle comparative che specificano le funzionalità native supportate da PhoneGap per i diversi sistemi operativi Mobile. 10 Il termine software build sta ad indicare il processo di conversione del codice sorgente in un programma eseguibile. 33

34 Tabella 1: Funzioni supportate da Phonegap per i diversi OS Mobile parte 1 Tabella 2: Funzioni supportate da Phonegap per i diversi OS Mobile parte 2 34

35 PhoneGap dispone di una community molto attiva, infatti è possibile trovare una serie di plug-in di terze parti sviluppati per migliorare o estendere le funzionalità originali previste dal framework. Ciò che realmente manca in PhoneGap è un tool che permette di gestire la dinamicità dell'interfaccia grafica e gli effetti di transizione caratteristici delle applicazioni native per ambienti mobile. Questa lacuna viene brillantemente riempita grazie all'utilizzo di JavaScript con il quale è possibile realizzare qualunque effetto grafico, anche se ciò aumenta i tempi di sviluppo e rende il codice molto più complesso. D'altronde la natura stessa di JavaScript permette l'utilizzo di innumerevoli framework e librerie che semplificano lo sviluppo delle interfacce grafiche. Non a caso uno dei framework JavaScript più utilizzati per lo sviluppo di applicazioni PhoneGap è jquery Mobile [5], il quale implementa una serie di funzionalità che migliorano l'user experience come: componenti di interfaccia grafica, dialog box, messaggi di servizio, elementi dei form, ecc. Di seguito un diagramma molto esplicativo che mostra in che modo vengono estese le funzionalità di PhoneGap con l'uso di plug-in e librerie JavaScript. 35

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

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

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

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

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

Software 2. Classificazione del software. Software di sistema

Software 2. Classificazione del software. Software di sistema Software 2 Insieme di istruzioni e programmi che consentono il funzionamento del computer Il software indica all hardware quali sono le operazioni da eseguire per svolgere determinati compiti Valore spesso

Dettagli

Web Conferencing Open Source

Web Conferencing Open Source Web Conferencing Open Source A cura di Giuseppe Maugeri g.maugeri@bembughi.org 1 Cos è BigBlueButton? Sistema di Web Conferencing Open Source Basato su più di quattordici componenti Open-Source. Fornisce

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

Profilo Commerciale Collabor@

Profilo Commerciale Collabor@ Profilo Commerciale Collabor@ 1. DESCRIZIONE DEL SERVIZIO E REQUISITI Collabor@ è un servizio di web conferenza basato sulla piattaforma Cisco WebEx, che consente di organizzare e svolgere riunioni web,

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

Talento LAB 4.1 - UTILIZZARE FTP (FILE TRANSFER PROTOCOL) L'UTILIZZO DI ALTRI SERVIZI INTERNET. In questa lezione imparerete a:

Talento LAB 4.1 - UTILIZZARE FTP (FILE TRANSFER PROTOCOL) L'UTILIZZO DI ALTRI SERVIZI INTERNET. In questa lezione imparerete a: Lab 4.1 Utilizzare FTP (File Tranfer Protocol) LAB 4.1 - UTILIZZARE FTP (FILE TRANSFER PROTOCOL) In questa lezione imparerete a: Utilizzare altri servizi Internet, Collegarsi al servizio Telnet, Accedere

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

How to Develop Accessible Linux Applications

How to Develop Accessible Linux Applications How to Develop Accessible Linux Applications Sharon Snider Copyright 2002 IBM Corporation v1.1, 2002-05-03 Diario delle Revisioni Revisione v1.1 2002-05-03 Revisionato da: sds Convertito in DocBook XML

Dettagli

FASE DEBUGGING: Compiler Linker. controllando che la voce Genera le informazioni per il debug cioè. "Generate debugging information"

FASE DEBUGGING: Compiler Linker. controllando che la voce Genera le informazioni per il debug cioè. Generate debugging information FASE DEBUGGING: Prima della compilazione, si devono inserire 1 nel progetto informazioni per il debug cioè si devono visualizzare le opzioni di progetto seguendo il percorso: controllando che la voce Genera

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

Simplex Gestione Hotel

Simplex Gestione Hotel Simplex Gestione Hotel Revisione documento 01-2012 Questo documento contiene le istruzioni per l'utilizzo del software Simplex Gestione Hotel. E' consentita la riproduzione e la distribuzione da parte

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

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

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

InitZero s.r.l. Via P. Calamandrei, 24-52100 Arezzo email: info@initzero.it

InitZero s.r.l. Via P. Calamandrei, 24-52100 Arezzo email: info@initzero.it izticket Il programma izticket permette la gestione delle chiamate di intervento tecnico. E un applicazione web, basata su un potente application server java, testata con i più diffusi browser (quali Firefox,

Dettagli

Dipartimento del Tesoro

Dipartimento del Tesoro Dipartimento del Tesoro POWER POINT AVANZATO Indice 1 PROGETTAZIONE DELL ASPETTO...3 1.2 VISUALIZZARE GLI SCHEMI...4 1.3 CONTROLLARE L ASPETTO DELLE DIAPOSITIVE CON GLI SCHEMI...5 1.4 SALVARE UN MODELLO...6

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

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

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

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

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

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

Le Reti Informatiche

Le Reti Informatiche Le Reti Informatiche modulo 10 Prof. Salvatore Rosta www.byteman.it s.rosta@byteman.it 1 Nomenclatura: 1 La rappresentazione di uno schema richiede una serie di abbreviazioni per i vari componenti. Seguiremo

Dettagli

Guida Dell di base all'acquisto dei server

Guida Dell di base all'acquisto dei server Guida Dell di base all'acquisto dei server Per le piccole aziende che dispongono di più computer è opportuno investire in un server che aiuti a garantire la sicurezza e l'organizzazione dei dati, consentendo

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

Guida all'uso di StarOffice 5.2

Guida all'uso di StarOffice 5.2 Eraldo Bonavitacola Guida all'uso di StarOffice 5.2 Introduzione Dicembre 2001 Copyright 2001 Eraldo Bonavitacola-CODINF CODINF COordinamento Docenti INFormati(ci) Introduzione Pag. 1 INTRODUZIONE COS'È

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

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

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

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

Manuale - TeamViewer 6.0

Manuale - TeamViewer 6.0 Manuale - TeamViewer 6.0 Revision TeamViewer 6.0 9947c Indice Indice 1 Ambito di applicazione... 1 1.1 Informazioni su TeamViewer... 1 1.2 Le nuove funzionalità della Versione 6.0... 1 1.3 Funzioni delle

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

il software per il nido e per la scuola dell infanzia

il software per il nido e per la scuola dell infanzia il software per il nido e per la scuola dell infanzia InfoAsilo è il software gestionale che semplifica il lavoro di coordinatori ed educatori di asili nido e scuole dell infanzia. Include tutte le funzionalità

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

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

Cos'é Code::Blocks? Come Creare un progetto Come eseguire un programma Risoluzione problemi istallazione Code::Blocks Che cos è il Debug e come si usa

Cos'é Code::Blocks? Come Creare un progetto Come eseguire un programma Risoluzione problemi istallazione Code::Blocks Che cos è il Debug e come si usa di Ilaria Lorenzo e Alessandra Palma Cos'é Code::Blocks? Come Creare un progetto Come eseguire un programma Risoluzione problemi istallazione Code::Blocks Che cos è il Debug e come si usa Code::Blocks

Dettagli

Testi della Guida introduttiva a cura di Martin Ley. Revisione e controllo qualità: Cristina Bachmann, Heiko Bischoff, Marion Bröer, Sabine Pfeifer,

Testi della Guida introduttiva a cura di Martin Ley. Revisione e controllo qualità: Cristina Bachmann, Heiko Bischoff, Marion Bröer, Sabine Pfeifer, Guida Introduttiva Testi della Guida introduttiva a cura di Martin Ley. Revisione e controllo qualità: Cristina Bachmann, Heiko Bischoff, Marion Bröer, Sabine Pfeifer, Heike Schilling. Data di rilascio:

Dettagli

TeamViewer 7 Manuale Controllo remoto

TeamViewer 7 Manuale Controllo remoto TeamViewer 7 Manuale Controllo remoto TeamViewer GmbH Kuhnbergstraße 16 D-73037 Göppingen teamviewer.com Indice 1 Informazioni su TeamViewer... 5 1.1 Informazioni sul software... 5 1.2 Informazioni sul

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

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

Meetecho s.r.l. Web Conferencing and Collaboration tools. Guida all installazione e all uso di Meetecho beta

Meetecho s.r.l. Web Conferencing and Collaboration tools. Guida all installazione e all uso di Meetecho beta Web Conferencing and Collaboration tools Passo 1: registrazione presso il sito Accedere al sito www.meetecho.com e registrarsi tramite l apposito form presente nella sezione Reserved Area. In fase di registrazione

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

Appunti sugli Elaboratori di Testo. Introduzione. D. Gubiani. 19 Luglio 2005

Appunti sugli Elaboratori di Testo. Introduzione. D. Gubiani. 19 Luglio 2005 Appunti sugli Elaboratori di Testo D. Gubiani Università degli Studi G.D Annunzio di Chieti-Pescara 19 Luglio 2005 1 Cos è un elaboratore di testo? 2 3 Cos è un elaboratore di testo? Cos è un elaboratore

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

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

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

Cross Software ltd Malta Pro.Sy.T Srl. Il gestionale come l'avete sempre sognato... Pag. 1

Cross Software ltd Malta Pro.Sy.T Srl. Il gestionale come l'avete sempre sognato... Pag. 1 Il gestionale come l'avete sempre sognato... Pag. 1 Le funzionalità di X-Cross La sofisticata tecnologia di CrossModel, oltre a permettere di lavorare in Internet come nel proprio ufficio e ad avere una

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

Funzioni di base. Manualino OE6. Outlook Express 6

Funzioni di base. Manualino OE6. Outlook Express 6 Manualino OE6 Microsoft Outlook Express 6 Outlook Express 6 è un programma, incluso nel browser di Microsoft Internet Explorer, che ci permette di inviare e ricevere messaggi di posta elettronica. È gratuito,

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

Dev C++ Prerequisiti. Note di utilizzo. Utilizzo di Windows Effettuare il download da Internet Compilazione di un programma

Dev C++ Prerequisiti. Note di utilizzo. Utilizzo di Windows Effettuare il download da Internet Compilazione di un programma Dev C++ Note di utilizzo 1 Prerequisiti Utilizzo di Windows Effettuare il download da Internet Compilazione di un programma 2 1 Introduzione Lo scopo di queste note è quello di diffondere la conoscenza

Dettagli

Le novità di QuarkXPress 10

Le novità di QuarkXPress 10 Le novità di QuarkXPress 10 INDICE Indice Le novità di QuarkXPress 10...3 Motore grafico Xenon...4 Interfaccia utente moderna e ottimizzata...6 Potenziamento della produttività...7 Altre nuove funzionalità...10

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

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

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

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

Guida all'installazione ed uso dell'app RXCamLink

Guida all'installazione ed uso dell'app RXCamLink Guida all'installazione ed uso dell'app RXCamLink Questa guida riporta i passi relativi all'installazione ed all'utilizzo dell'app "RxCamLink" per il collegamento remoto in mobilità a sistemi TVCC basati

Dettagli

C O M E I N I Z I A R E A U S A R E U N T A B L E T A N D R O I D

C O M E I N I Z I A R E A U S A R E U N T A B L E T A N D R O I D C O M E I N I Z I A R E A U S A R E U N T A B L E T A N D R O I D Se avete un tablet android, ma non avete la minima idea di come accenderlo, usarlo e avviarlo, seguite queste nostre indicazioni 1. ATTIVAZIONE

Dettagli

Guida rapida Vodafone Internet Key K4607-Z. Progettata da Vodafone

Guida rapida Vodafone Internet Key K4607-Z. Progettata da Vodafone Guida rapida Vodafone Internet Key K4607-Z Progettata da Vodafone Benvenuti nel mondo della comunicazione in mobilità 1 Benvenuti 2 Impostazione della Vodafone Internet Key 4 Windows 7, Windows Vista,

Dettagli

CA Process Automation

CA Process Automation CA Process Automation Glossario Release 04.2.00 La presente documentazione, che include il sistema di guida in linea integrato e materiale distribuibile elettronicamente (d'ora in avanti indicata come

Dettagli

SISSI IN RETE. Quick Reference guide guida di riferimento rapido

SISSI IN RETE. Quick Reference guide guida di riferimento rapido SISSI IN RETE Quick Reference guide guida di riferimento rapido Indice generale Sissi in rete...3 Introduzione...3 Architettura Software...3 Installazione di SISSI in rete...3 Utilizzo di SISSI in Rete...4

Dettagli

SOFTWARE GESTIONE SMS DA INTERFACCE CL MANUALE D INSTALLAZIONE ED USO

SOFTWARE GESTIONE SMS DA INTERFACCE CL MANUALE D INSTALLAZIONE ED USO CLSMS SOFTWARE GESTIONE SMS DA INTERFACCE CL MANUALE D INSTALLAZIONE ED USO Sommario e introduzione CLSMS SOMMARIO INSTALLAZIONE E CONFIGURAZIONE... 3 Parametri di configurazione... 4 Attivazione Software...

Dettagli

Manuale Utente. S e m p l i c e m e n t e D a t i M i g l i o r i!

Manuale Utente. S e m p l i c e m e n t e D a t i M i g l i o r i! Manuale Utente S e m p l i c e m e n t e D a t i M i g l i o r i! INDICE INDICE... 3 INTRODUZIONE... 3 Riguardo questo manuale...3 Informazioni su VOLT 3 Destinatari 3 Software Richiesto 3 Novità su Volt...3

Dettagli

Virtualizzazione e installazione Linux

Virtualizzazione e installazione Linux Virtualizzazione e installazione Linux Federico De Meo, Davide Quaglia, Simone Bronuzzi Lo scopo di questa esercitazione è quello di introdurre il concetto di virtualizzazione, di creare un ambiente virtuale

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

PROPOSTE SISTEMA DI CITIZEN RELATIONSHIP MANAGEMENT (CRM) REGIONALE

PROPOSTE SISTEMA DI CITIZEN RELATIONSHIP MANAGEMENT (CRM) REGIONALE PROPOSTE SISTEMA DI CITIZEN RELATIONSHIP MANAGEMENT (CRM) REGIONALE Versione 1.0 Via della Fisica 18/C Tel. 0971 476311 Fax 0971 476333 85100 POTENZA Via Castiglione,4 Tel. 051 7459619 Fax 051 7459619

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

CHIAVETTA INTERNET ONDA MT503HSA

CHIAVETTA INTERNET ONDA MT503HSA CHIAVETTA INTERNET ONDA MT503HSA Manuale Utente Linux Debian, Fedora, Ubuntu www.ondacommunication.com Chiavet ta Internet MT503HSA Guida rapida sistema operativo LINUX V 1.1 33080, Roveredo in Piano (PN)

Dettagli

INTRODUZIONE, LINGUAGGIO, HANDS ON. Giuseppe Cirillo g.cirillo@unina.it

INTRODUZIONE, LINGUAGGIO, HANDS ON. Giuseppe Cirillo g.cirillo@unina.it INTRODUZIONE, LINGUAGGIO, HANDS ON Giuseppe Cirillo g.cirillo@unina.it Il linguaggio C 1972-Dennis Ritchie 1978-Definizione 1990-ANSI C 1966 Martin Richars (MIT) Semplificando CPL usato per sviluppare

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

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

Client di Posta Elettronica PECMailer

Client di Posta Elettronica PECMailer Client di Posta Elettronica PECMailer PECMailer è un semplice ma completo client di posta elettronica, ovvero un programma che consente di gestire la composizione, la trasmissione, la ricezione e l'organizzazione

Dettagli

Il Concetto di Processo

Il Concetto di Processo Processi e Thread Il Concetto di Processo Il processo è un programma in esecuzione. È l unità di esecuzione all interno del S.O. Solitamente, l esecuzione di un processo è sequenziale (le istruzioni vengono

Dettagli

> MULTI TASKING > MULTI PROCESS > MULTI CORE

> MULTI TASKING > MULTI PROCESS > MULTI CORE > MULTI TASKING > MULTI PROCESS > MULTI CORE WorkNC V21 multicore 64 bits : Benefici di WorkNC Aumento generale della produttività, grazie alle nuove tecnologie multi-core, 64 bit e Windows 7 Calcolo di

Dettagli

Elementi di Informatica e Programmazione

Elementi di Informatica e Programmazione Elementi di Informatica e Programmazione Le Reti di Calcolatori (parte 2) Corsi di Laurea in: Ingegneria Civile Ingegneria per l Ambiente e il Territorio Università degli Studi di Brescia Docente: Daniela

Dettagli

Configuration Managment Configurare EC2 su AWS. Tutorial. Configuration Managment. Configurare il servizio EC2 su AWS. Pagina 1

Configuration Managment Configurare EC2 su AWS. Tutorial. Configuration Managment. Configurare il servizio EC2 su AWS. Pagina 1 Tutorial Configuration Managment Configurare il servizio EC2 su AWS Pagina 1 Sommario 1. INTRODUZIONE... 3 2. PROGRAMMI NECESSARI... 4 3. PANNELLO DI CONTROLLO... 5 4. CONFIGURARE E LANCIARE UN ISTANZA...

Dettagli

Windows Mail Outlook Express 6 Microsoft Outlook 2003 Microsoft Outlook 2007 Thunderbird Opera Mail Mac Mail

Windows Mail Outlook Express 6 Microsoft Outlook 2003 Microsoft Outlook 2007 Thunderbird Opera Mail Mac Mail Configurare un programma di posta con l account PEC di Il Titolare di una nuova casella PEC può accedere al sistema sia tramite Web (Webmail i ), sia configurando il proprio account ii nel programma di

Dettagli

Come difendersi dai VIRUS

Come difendersi dai VIRUS Come difendersi dai VIRUS DEFINIZIONE Un virus è un programma, cioè una serie di istruzioni, scritte in un linguaggio di programmazione, in passato era di solito di basso livello*, mentre con l'avvento

Dettagli

Bloodshed Dev-C++ è l IDE usato durante le esercitazioni/laboratorio. IDE = Integrated Development Environment

Bloodshed Dev-C++ è l IDE usato durante le esercitazioni/laboratorio. IDE = Integrated Development Environment Bloodshed Dev-C++ Bloodshed Dev-C++ è l IDE usato durante le esercitazioni/laboratorio IDE = Integrated Development Environment Gerardo Pelosi 01 Ottobre 2014 Pagina 1 di 8 Dev-C++ - Installazione Potete

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

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

***** 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

Come configurare un programma di posta con l account PEC di GLOBALCERT.IT

Come configurare un programma di posta con l account PEC di GLOBALCERT.IT Come configurare un programma di posta con l account PEC di GLOBALCERT.IT Il Titolare di una nuova casella PEC può accedere al sistema sia tramite Web (Webmail i ), sia configurando il proprio account

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

La gestione documentale con il programma Filenet ed il suo utilizzo tramite la tecnologia.net. di Emanuele Mattei (emanuele.mattei[at]email.

La gestione documentale con il programma Filenet ed il suo utilizzo tramite la tecnologia.net. di Emanuele Mattei (emanuele.mattei[at]email. La gestione documentale con il programma Filenet ed il suo utilizzo tramite la tecnologia.net di Emanuele Mattei (emanuele.mattei[at]email.it) Introduzione In questa serie di articoli, vedremo come utilizzare

Dettagli

Product Overview. ITI Apps Enterprise apps for mobile devices

Product Overview. ITI Apps Enterprise apps for mobile devices Product Overview ITI Apps Enterprise apps for mobile devices ITI idea, proge2a e sviluppa apps per gli uten6 business/enterprise che nell ipad, e nelle altre pia2aforme mobili, possono trovare un device

Dettagli

Agilent OpenLAB Chromatography Data System (CDS)

Agilent OpenLAB Chromatography Data System (CDS) Agilent OpenLAB Chromatography Data System (CDS) EZChrom Edition e ChemStation Edition Requisiti hardware e software Agilent Technologies Informazioni legali Agilent Technologies, Inc. 2013 Nessuna parte

Dettagli

FileMaker Server 13. Guida introduttiva

FileMaker Server 13. Guida introduttiva FileMaker Server 13 Guida introduttiva 2007-2013 FileMaker, Inc. Tutti i diritti riservati. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 Stati Uniti FileMaker e Bento sono marchi

Dettagli

BlackBerry Q10 Smartphone. Versione: 10.1. Manuale utente

BlackBerry Q10 Smartphone. Versione: 10.1. Manuale utente BlackBerry Q10 Smartphone Versione: 10.1 Manuale utente Pubblicato: 15/10/2013 SWD-20131015110931200 Contenuti Introduzione... 9 BlackBerry 10: nuove applicazioni e funzionalità... 10 Introduzione... 14

Dettagli

1 Stampanti HP Deskjet 6500 series

1 Stampanti HP Deskjet 6500 series 1 Stampanti HP Deskjet 6500 series Per trovare la risposta a una domanda, fare clic su uno dei seguenti argomenti: HP Deskjet 6540-50 series Avvisi Funzioni speciali Introduzione Collegamento alla stampante

Dettagli

ADS-2100e Scanner desktop ad alta velocità per l'ufficio

ADS-2100e Scanner desktop ad alta velocità per l'ufficio ADS-2100e Scanner desktop ad alta Alimentatore automatico documenti da 50 fogli Alta qualità di scansione Velocità di scansione 24 ppm automatica fronte-retro Caratteristiche: Alta qualità Lo scanner ad

Dettagli

Installazione LINUX 10.0

Installazione LINUX 10.0 Installazione LINUX 10.0 1 Principali passi Prima di iniziare con l'installazione è necessario entrare nel menu di configurazione del PC (F2 durante lo start-up) e selezionare nel menu di set-up il boot

Dettagli

Boot Camp Guida di installazione e configurazione

Boot Camp Guida di installazione e configurazione Boot Camp Guida di installazione e configurazione Indice 3 Introduzione 4 Panoramica dell'installazione 4 Passo 1: Verificare la presenza di aggiornamenti 4 Passo 2: Per preparare il Mac per Windows 4

Dettagli

Sizing di un infrastruttura server con VMware

Sizing di un infrastruttura server con VMware Sizing di un infrastruttura server con VMware v1.1 Matteo Cappelli Vediamo una serie di best practices per progettare e dimensionare un infrastruttura di server virtuali con VMware vsphere 5.0. Innanzitutto

Dettagli