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

Il CMS Moka. Giovanni Ciardi Regione Emilia Romagna

Il CMS Moka. Giovanni Ciardi Regione Emilia Romagna Il CMS Moka Giovanni Ciardi Regione Emilia Romagna Moka è uno strumento per creare applicazioni GIS utilizzando oggetti (cartografie, temi, legende, database, funzioni) organizzati in un catalogo condiviso.

Dettagli

sito web sito Internet

sito web sito Internet Siti Web Cos è un sito web Un sito web o sito Internet è un insieme di pagine web correlate, ovvero una struttura ipertestuale di documenti che risiede, tramite hosting, su un web server e accessibile

Dettagli

Approccio stratificato

Approccio stratificato Approccio stratificato Il sistema operativo è suddiviso in strati (livelli), ciascuno costruito sopra quelli inferiori. Il livello più basso (strato 0) è l hardware, il più alto (strato N) è l interfaccia

Dettagli

Visual basic base Lezione 01. L'ambiente di sviluppo

Visual basic base Lezione 01. L'ambiente di sviluppo L'ambiente di sviluppo L'ambiente di sviluppo Visual basic è un linguaggio di programmazione Microsoft. In questo corso prenderemo in considerazione, l'ultima versione. net di questo linguaggio. Microsoft

Dettagli

Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base

Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base Sistema operativo Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base Architettura a strati di un calcolatore

Dettagli

Introduzione alla Virtualizzazione

Introduzione alla Virtualizzazione Introduzione alla Virtualizzazione Dott. Luca Tasquier E-mail: luca.tasquier@unina2.it Virtualizzazione - 1 La virtualizzazione è una tecnologia software che sta cambiando il metodo d utilizzo delle risorse

Dettagli

Scuola Professionale e Filologica Geom. F.Borgogna Vercelli

Scuola Professionale e Filologica Geom. F.Borgogna Vercelli Scuola Professionale e Filologica Geom. F.Borgogna Vercelli Corsi ANDROID 2013/2014 Benvenuti nel mondo dinamico dello sviluppo di applicazioni per smartphone e tablet Android Corsi ANDROID 2013/2014 L

Dettagli

ICARO Terminal Server per Aprile

ICARO Terminal Server per Aprile ICARO Terminal Server per Aprile Icaro è un software aggiuntivo per Aprile (gestionale per centri estetici e parrucchieri) con funzionalità di terminal server: gira sullo stesso pc dove è installato il

Dettagli

Architetture Applicative

Architetture Applicative Alessandro Martinelli alessandro.martinelli@unipv.it 6 Marzo 2012 Architetture Architetture Applicative Introduzione Alcuni esempi di Architetture Applicative Architetture con più Applicazioni Architetture

Dettagli

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011 Fondamenti di Informatica 1 Prof. B.Buttarazzi A.A. 2010/2011 Sommario Installazione SOFTWARE JDK ECLIPSE 03/03/2011 2 ALGORITMI E PROGRAMMI PROBLEMA ALGORITMO PROGRAMMA metodo risolutivo linguaggio di

Dettagli

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi Il Software Il software impiegato su un computer si distingue in: Software di sistema Sistema Operativo Compilatori per produrre programmi Software applicativo Elaborazione testi Fogli elettronici Basi

Dettagli

Progettazione e Sviluppo dell Applicazione Web Share Mobile per Dispositivi Mobili Multipiattaforma. Elaborato di Laurea di: Marco Stanzani

Progettazione e Sviluppo dell Applicazione Web Share Mobile per Dispositivi Mobili Multipiattaforma. Elaborato di Laurea di: Marco Stanzani UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà di Ingegneria Enzo Ferrari Sede di Modena Corso di Laurea Specialistica in Ingegneria Informatica Progettazione e Sviluppo dell Applicazione Web

Dettagli

GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain.

GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain. *+33(GLWRU GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain. Il programma si basa su un architettura di tasti funzionali presenti

Dettagli

Corso App modulo Android. Antonio Gallo info@laboratoriolibero.com

Corso App modulo Android. Antonio Gallo info@laboratoriolibero.com Corso App modulo Android Antonio Gallo info@laboratoriolibero.com Strumentazione: PC + smartphone Android + cavo micro USB per connessione Framework Phonegap SDK di Android JDK (Java) Eclipse (opzionale)

Dettagli

I MODULI Q.A.T. PANORAMICA. La soluzione modulare di gestione del Sistema Qualità Aziendale

I MODULI Q.A.T. PANORAMICA. La soluzione modulare di gestione del Sistema Qualità Aziendale La soluzione modulare di gestione del Sistema Qualità Aziendale I MODULI Q.A.T. - Gestione clienti / fornitori - Gestione strumenti di misura - Gestione verifiche ispettive - Gestione documentazione del

Dettagli

Scenario di Progettazione

Scenario di Progettazione Appunti del 3 Ottobre 2008 Prof. Mario Bochicchio SCENARIO DI PROGETTAZIONE Scenario di Progettazione Il Committente mette a disposizione delle risorse e propone dei documenti che solitamente rappresentano

Dettagli

Implementazione di MVC. Gabriele Pellegrinetti

Implementazione di MVC. Gabriele Pellegrinetti Implementazione di MVC Gabriele Pellegrinetti 2 Come implementare il pattern Model View Controller con le tecnologie JSP, ASP e XML Implementazione del pattern MVC in Java (JSP Model 2) SUN è stato il

Dettagli

Dispensa di Informatica I.1

Dispensa di Informatica I.1 IL COMPUTER: CONCETTI GENERALI Il Computer (o elaboratore) è un insieme di dispositivi di diversa natura in grado di acquisire dall'esterno dati e algoritmi e produrre in uscita i risultati dell'elaborazione.

Dettagli

Università degli Studi "Roma Tre" Dipartimento di Informatica ed automazione. Facoltà di Ingegneria

Università degli Studi Roma Tre Dipartimento di Informatica ed automazione. Facoltà di Ingegneria Università degli Studi "Roma Tre" Dipartimento di Informatica ed automazione Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica Tesi di Laurea AUTENTICAZIONE PER APPLICAZIONI WEB Relatore

Dettagli

capitolo 8 LA CHECKLIST PER LA VALUTV ALUTAZIONEAZIONE TECNOLOGICA

capitolo 8 LA CHECKLIST PER LA VALUTV ALUTAZIONEAZIONE TECNOLOGICA capitolo 8 LA CHECKLIST PER LA VALUTV ALUTAZIONEAZIONE TECNOLOGICA 8.1 ISTRUZIONI PER IL VALUTATORE Campioni Il processo di valutazione tecnologica si basa su un campione del prodotto, precedentemente

Dettagli

Concetti di base di ingegneria del software

Concetti di base di ingegneria del software Concetti di base di ingegneria del software [Dalle dispense del corso «Ingegneria del software» del prof. A. Furfaro (UNICAL)] Principali qualità del software Correttezza Affidabilità Robustezza Efficienza

Dettagli

CREA IL CATALOGO DEI TUOI PRODOTTI SU IPAD E IPHONE CON UN APP. ANZI, CON UPP!

CREA IL CATALOGO DEI TUOI PRODOTTI SU IPAD E IPHONE CON UN APP. ANZI, CON UPP! CREA IL CATALOGO DEI TUOI PRODOTTI SU IPAD E IPHONE CON UN APP. ANZI, CON UPP! COS È UPP!? upp! è l applicazione di punta della divisione mobile di Weblink srl, dedicata allo sviluppo di applicazioni per

Dettagli

NOVITÀ SITI COMMERCIALISTA

NOVITÀ SITI COMMERCIALISTA NOVITÀ E-COMMERCE Sono state introdotte, nella versione 2011B, una serie di implementazioni grazie alle quali sarà ora possibile disporre all interno del proprio sito E-commerce delle seguenti funzionalità:

Dettagli

Corso di PHP. Prerequisiti. 1 - Introduzione

Corso di PHP. Prerequisiti. 1 - Introduzione Corso di PHP 1 - Introduzione 1 Prerequisiti Conoscenza HTML Principi di programmazione web Saper progettare un algoritmo Saper usare un sistema operativo Compilazione, link, esecuzione di programmi Conoscere

Dettagli

lo 2 2-1 - PERSONALIZZARE LA FINESTRA DI WORD 2000

lo 2 2-1 - PERSONALIZZARE LA FINESTRA DI WORD 2000 Capittol lo 2 Visualizzazione 2-1 - PERSONALIZZARE LA FINESTRA DI WORD 2000 Nel primo capitolo sono state analizzate le diverse componenti della finestra di Word 2000: barra del titolo, barra dei menu,

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T2 3-Compilatori e interpreti 1 Prerequisiti Principi di programmazione Utilizzo di un compilatore 2 1 Introduzione Una volta progettato un algoritmo codificato in un linguaggio

Dettagli

Il Sistema Operativo (1)

Il Sistema Operativo (1) E il software fondamentale del computer, gestisce tutto il suo funzionamento e crea un interfaccia con l utente. Le sue funzioni principali sono: Il Sistema Operativo (1) La gestione dell unità centrale

Dettagli

PROTOTIPAZIONE DI UN TRADUTTORE DA SORGENTE PLC AD ASSEMBLY DI UNA MACCHINA VIRTUALE

PROTOTIPAZIONE DI UN TRADUTTORE DA SORGENTE PLC AD ASSEMBLY DI UNA MACCHINA VIRTUALE PROTOTIPAZIONE DI UN TRADUTTORE DA SORGENTE PLC AD ASSEMBLY DI UNA MACCHINA VIRTUALE Relatore: prof. Michele Moro Laureando: Marco Beggio Corso di laurea in Ingegneria Informatica Anno Accademico 2006-2007

Dettagli

Guida Joomla. di: Alessandro Rossi, Flavio Copes

Guida Joomla. di: Alessandro Rossi, Flavio Copes Guida Joomla di: Alessandro Rossi, Flavio Copes Grafica e template 1. 15. La grafica e i template Personalizzare l'aspetto del sito aggiungendo nuovi template e customizzandoli 2. 16. Personalizzare il

Dettagli

Manuale Utente Albo Pretorio GA

Manuale Utente Albo Pretorio GA Manuale Utente Albo Pretorio GA IDENTIFICATIVO DOCUMENTO MU_ALBOPRETORIO-GA_1.4 Versione 1.4 Data edizione 04.04.2013 1 TABELLA DELLE VERSIONI Versione Data Paragrafo Descrizione delle modifiche apportate

Dettagli

Corso Eclipse. Prerequisiti. 1 Introduzione

Corso Eclipse. Prerequisiti. 1 Introduzione Corso Eclipse 1 Introduzione 1 Prerequisiti Uso elementare del pc Esecuzione ricerche su Internet Esecuzione download Conoscenza elementare della programmazione 2 1 Cos è Eclipse Eclipse è un IDE (Integrated

Dettagli

Generazione Automatica di Asserzioni da Modelli di Specifica

Generazione Automatica di Asserzioni da Modelli di Specifica UNIVERSITÀ DEGLI STUDI DI MILANO BICOCCA FACOLTÀ DI SCIENZE MATEMATICHE FISICHE E NATURALI Corso di Laurea Magistrale in Informatica Generazione Automatica di Asserzioni da Modelli di Specifica Relatore:

Dettagli

Laboratorio di Informatica

Laboratorio di Informatica Laboratorio di Informatica SOFTWARE Francesco Tura francesco.tura@unibo.it 1 Le componenti del calcolatore: HARDWARE E SOFTWARE HARDWARE parti che compongono fisicamente il calcolatore componente multifunzionale

Dettagli

Architetture Informatiche. Dal Mainframe al Personal Computer

Architetture Informatiche. Dal Mainframe al Personal Computer Architetture Informatiche Dal Mainframe al Personal Computer Architetture Le architetture informatiche definiscono le modalità secondo le quali sono collegati tra di loro i diversi sistemi ( livello fisico

Dettagli

Mac Application Manager 1.3 (SOLO PER TIGER)

Mac Application Manager 1.3 (SOLO PER TIGER) Mac Application Manager 1.3 (SOLO PER TIGER) MacApplicationManager ha lo scopo di raccogliere in maniera centralizzata le informazioni piu salienti dei nostri Mac in rete e di associare a ciascun Mac i

Dettagli

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche Software di sistema e software applicativo I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche Software soft ware soffice componente è la parte logica

Dettagli

Strumenti per la programmazione

Strumenti per la programmazione Editing del programma Il programma deve essere memorizzato in uno o più files di testo editing codice sorgente 25 Traduzione del programma Compilazione: è la traduzione effettuata da un compilatore Un

Dettagli

Corso Analista Programmatore Web PHP Corso Online Analista Programmatore Web PHP

Corso Analista Programmatore Web PHP Corso Online Analista Programmatore Web PHP Corso Analista Programmatore Web PHP Corso Online Analista Programmatore Web PHP Accademia Futuro info@accademiafuturo.it Programma Generale del Corso Analista Programmatore Web PHP Tematiche Trattate

Dettagli

Architettura di un sistema operativo

Architettura di un sistema operativo Architettura di un sistema operativo Dipartimento di Informatica Università di Verona, Italy Struttura di un S.O. Sistemi monolitici Sistemi a struttura semplice Sistemi a livelli Virtual Machine Sistemi

Dettagli

Programmazione a Oggetti Modulo B

Programmazione a Oggetti Modulo B Programmazione a Oggetti Modulo B Progetto Dott. Alessandro Roncato 4/10/2011 Progetto Da svolgere singolarmente Scadenza consegna: una settimana prima dello scritto; Valutazione in base a: Corretta compilazione

Dettagli

Linee guida per lo sviluppo di applicazioni web

Linee guida per lo sviluppo di applicazioni web Service and Documentation Centre for International Economic Cooperation Centro di Servizi e Documentazione per la Cooperazione Economica Internazionale www.informest.it Linee guida per lo sviluppo di applicazioni

Dettagli

CONTENT MANAGEMENT SYSTEM

CONTENT MANAGEMENT SYSTEM CONTENT MANAGEMENT SYSTEM P-2 PARLARE IN MULTICANALE Creare un portale complesso e ricco di informazioni continuamente aggiornate, disponibile su più canali (web, mobile, iphone, ipad) richiede competenze

Dettagli

Premessa Le indicazioni seguenti sono parzialmente tratte da Wikipedia (www.wikipedia.com) e da un tutorial di Pierlauro Sciarelli su comefare.

Premessa Le indicazioni seguenti sono parzialmente tratte da Wikipedia (www.wikipedia.com) e da un tutorial di Pierlauro Sciarelli su comefare. Macchine virtuali Premessa Le indicazioni seguenti sono parzialmente tratte da Wikipedia (www.wikipedia.com) e da un tutorial di Pierlauro Sciarelli su comefare.com 1. Cosa sono In informatica il termine

Dettagli

Esercizi di JavaScript

Esercizi di JavaScript Esercizi di JavaScript JavaScript JavaScript é un linguaggio di programmazione interpretato e leggero, creato dalla Netscape. E' presente a patire da Netscape 2 in tutti i browser ed é dunque il linguaggio

Dettagli

Architetture Informatiche. Dal Mainframe al Personal Computer

Architetture Informatiche. Dal Mainframe al Personal Computer Architetture Informatiche Dal Mainframe al Personal Computer Architetture Le architetture informatiche definiscono le modalità secondo le quali sono collegati tra di loro i diversi sistemi ( livello fisico

Dettagli

Sistema operativo. Sommario. Sistema operativo...1 Browser...1. Convenzioni adottate

Sistema operativo. Sommario. Sistema operativo...1 Browser...1. Convenzioni adottate MODULO BASE Quanto segue deve essere rispettato se si vuole che le immagini presentate nei vari moduli corrispondano, con buona probabilità, a quanto apparirà nello schermo del proprio computer nel momento

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T2 1 Sistema software 1 Prerequisiti Utilizzo elementare di un computer Significato elementare di programma e dati Sistema operativo 2 1 Introduzione In questa Unità studiamo

Dettagli

Introduzione alle basi di dati. Gestione delle informazioni. Gestione delle informazioni. Sistema informatico

Introduzione alle basi di dati. Gestione delle informazioni. Gestione delle informazioni. Sistema informatico Introduzione alle basi di dati Introduzione alle basi di dati Gestione delle informazioni Base di dati Modello dei dati Indipendenza dei dati Accesso ai dati Vantaggi e svantaggi dei DBMS Gestione delle

Dettagli

Turismo Virtual Turismo Virtual Turismo Virtual

Turismo Virtual Turismo Virtual Turismo Virtual Da una collaborazione nata all inizio del 2011 tra le società Annoluce di Torino e Ideavity di Porto (PT), giovani e dinamiche realtà ICT, grazie al supporto della Camera di Commercio di Torino, nasce

Dettagli

Strumenti di modellazione. Gabriella Trucco

Strumenti di modellazione. Gabriella Trucco Strumenti di modellazione Gabriella Trucco Linguaggio di modellazione Linguaggio formale che può essere utilizzato per descrivere (modellare) un sistema Il concetto trova applicazione soprattutto nell

Dettagli

MODULO 02. Iniziamo a usare il computer

MODULO 02. Iniziamo a usare il computer MODULO 02 Iniziamo a usare il computer MODULO 02 Unità didattica 01 Conosciamo il sistema operativo In questa lezione impareremo: a conoscere le caratteristiche del sistema operativo a cosa servono i sistemi

Dettagli

In questo manuale sono indicate le procedure per utilizzare correttamente la gestione delle offerte dei fornitori.

In questo manuale sono indicate le procedure per utilizzare correttamente la gestione delle offerte dei fornitori. Release 5.20 Manuale Operativo ORDINI PLUS Gestione delle richieste di acquisto In questo manuale sono indicate le procedure per utilizzare correttamente la gestione delle offerte dei fornitori. La gestione

Dettagli

FPf per Windows 3.1. Guida all uso

FPf per Windows 3.1. Guida all uso FPf per Windows 3.1 Guida all uso 3 Configurazione di una rete locale Versione 1.0 del 18/05/2004 Guida 03 ver 02.doc Pagina 1 Scenario di riferimento In figura è mostrata una possibile soluzione di rete

Dettagli

bmooble INFOMOBILITY demo environment

bmooble INFOMOBILITY demo environment bmooble INFOMOBILITY demo environment bmooble fornisce tecnologia abilitante per permettere l esecuzione di processi informativi accedendo ai dati di applicazioni esistenti dal proprio cellulare senza

Dettagli

Il Software e Il Sistema Operativo. Prof. Francesco Accarino IIS Altiero Spinelli A.S. 09/10

Il Software e Il Sistema Operativo. Prof. Francesco Accarino IIS Altiero Spinelli A.S. 09/10 Il Software e Il Sistema Operativo Prof. Francesco Accarino IIS Altiero Spinelli A.S. 09/10 Cosa Impareremo Programmi e Processi Struttura del Sistema Operativo Sviluppo di Programmi I files e la loro

Dettagli

Scheda di Notifica Manuale d'uso

Scheda di Notifica Manuale d'uso Scheda di Notifica Manuale d'uso Revisione documento 02-2011 Questo documento contiene le istruzioni per l'utilizzo del software Scheda di Notifica di brentapaganella.com. E' consentita la riproduzione

Dettagli

Elenco argomenti (1/2)

Elenco argomenti (1/2) Dev ios Argomenti trattati Elenco argomenti (1/2) ios, il sistema operativo di iphone/ipad I 4 livelli dell'architettura ios: Cocoa touch Media Core services Core OS Le App: struttura e funzionamento Area

Dettagli

Il Linux che verrà... Francesco Crippa

Il Linux che verrà... Francesco Crippa Il Linux che verrà... Francesco Crippa Cosa ci attente? Tante novità per il mondo server side Tante novità per gli sviluppatori Tante novità per gli appassionati... e per gli utenti? Virtualizzare il sistema

Dettagli

Creare un Ipertesto. www.vincenzocalabro.it 1

Creare un Ipertesto. www.vincenzocalabro.it 1 Creare un Ipertesto www.vincenzocalabro.it 1 Obiettivi Il corso si prefigge di fornire: Le nozioni tecniche di base per creare un Ipertesto I consigli utili per predisporre il layout dei documenti L illustrazione

Dettagli

Hardware delle reti LAN

Hardware delle reti LAN Hardware delle reti LAN Le reti LAN utilizzano una struttura basata su cavi e concentratori che permette il trasferimento di informazioni. In un ottica di questo tipo, i computer che prendono parte allo

Dettagli

Guida alla registrazione on-line di un DataLogger

Guida alla registrazione on-line di un DataLogger NovaProject s.r.l. Guida alla registrazione on-line di un DataLogger Revisione 3.0 3/08/2010 Partita IVA / Codice Fiscale: 03034090542 pag. 1 di 17 Contenuti Il presente documento è una guida all accesso

Dettagli

Installazione e caratteristiche generali 1

Installazione e caratteristiche generali 1 Installazione e caratteristiche generali 1 Introduzione SIGLA Ultimate e SIGLA Start Edition possono essere utilizzati solo se sono soddisfatti i seguenti prerequisiti: Microsoft.Net Framework 3.5 (consigliato

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo L2 1.1-Introduzione 1 Prerequisiti Concetto intuitivo di applicazione per computer Uso pratico elementare di un sistema operativo 2 1 Introduzione Uno dei compiti di un sistema

Dettagli

Introduzione al sistema operativo Il file system: file, directory,...

Introduzione al sistema operativo Il file system: file, directory,... ,OVRIWZDUHGLVLVWHPD cosa vedremo: Introduzione al sistema operativo Il file system: file, directory,...... 223,OVRIWZDUHLQWURGX]LRQH L hardware da solo non è sufficiente per il funzionamento dell elaboratore

Dettagli

Realizzare il layout di un sito web senza utilizzare frame e tabelle

Realizzare il layout di un sito web senza utilizzare frame e tabelle Realizzare il layout di un sito web senza utilizzare frame e tabelle Questa guida descrive in maniera semplice e essenziale i passi necessari alla realizzazione di una pagina web strutturata in maniera

Dettagli

NOTE OPERATIVE. Prodotto Inaz Download Manager. Release 1.3.0

NOTE OPERATIVE. Prodotto Inaz Download Manager. Release 1.3.0 Prodotto Inaz Download Manager Release 1.3.0 Tipo release COMPLETA RIEPILOGO ARGOMENTI 1. Introduzione... 2 2. Architettura... 3 3. Configurazione... 4 3.1 Parametri di connessione a Internet... 4 3.2

Dettagli

Corso di HTML. Prerequisiti. Modulo L3. 1-Concetti generali. Browser Rete Internet Client e server. M. Malatesta 1-Concetti generali-12 28/07/2013

Corso di HTML. Prerequisiti. Modulo L3. 1-Concetti generali. Browser Rete Internet Client e server. M. Malatesta 1-Concetti generali-12 28/07/2013 Corso di HTML Modulo L3 1-Concetti generali 1 Prerequisiti Browser Rete Internet Client e server 2 1 Introduzione In questa Unità introduciamo alcuni semplici elementi del linguaggio HTML, con il quale

Dettagli

L informatica INTRODUZIONE. L informatica. Tassonomia: criteri. È la disciplina scientifica che studia

L informatica INTRODUZIONE. L informatica. Tassonomia: criteri. È la disciplina scientifica che studia L informatica È la disciplina scientifica che studia INTRODUZIONE I calcolatori, nati in risposta all esigenza di eseguire meccanicamente operazioni ripetitive Gli algoritmi, nati in risposta all esigenza

Dettagli

Scuola Digitale. Manuale utente. Copyright 2014, Axios Italia

Scuola Digitale. Manuale utente. Copyright 2014, Axios Italia Scuola Digitale Manuale utente Copyright 2014, Axios Italia 1 SOMMARIO SOMMARIO... 2 Accesso al pannello di controllo di Scuola Digitale... 3 Amministrazione trasparente... 4 Premessa... 4 Codice HTML

Dettagli

Estensioni e modelli. Ancora poco conosciuti, consentono di estendere la suite per l ufficio. Ecco come servirsene

Estensioni e modelli. Ancora poco conosciuti, consentono di estendere la suite per l ufficio. Ecco come servirsene Estensioni e modelli. Ancora poco conosciuti, consentono di estendere la suite per l ufficio. Ecco come servirsene Sotto il nome OpenOffice.org si nasconde un insieme di programmi per l ufficio potenti

Dettagli

ISTRUZIONI OPERATIVE AGGIORNAMENTO DEL 18/04/2013

ISTRUZIONI OPERATIVE AGGIORNAMENTO DEL 18/04/2013 ISTRUZIONI OPERATIVE AGGIORNAMENTO DEL 18/04/2013 Settore: Oggetto: Servizi diversi per la Clientela Istruzioni operative sul Servizio MB Mobile Banking Banca Passadore Guida operativa Indice degli argomenti

Dettagli

BMSO1001. Virtual Configurator. Istruzioni d uso 02/10-01 PC

BMSO1001. Virtual Configurator. Istruzioni d uso 02/10-01 PC BMSO1001 Virtual Configurator Istruzioni d uso 02/10-01 PC 2 Virtual Configurator Istruzioni d uso Indice 1. Requisiti Hardware e Software 4 1.1 Requisiti Hardware 4 1.2 Requisiti Software 4 2. Concetti

Dettagli

InfiXor. il programma facile e versatile per preventivi veloci e completi. il software di preventivazione per produttori e rivenditori di infissi

InfiXor. il programma facile e versatile per preventivi veloci e completi. il software di preventivazione per produttori e rivenditori di infissi InfiXor il software di preventivazione per produttori e rivenditori di infissi di Paolo Audisio SOFTWARE PROGRAMMAZIONE CONSULENZA INFORMATICA sito internet: www.infixor.it Via Carlo Zucchi 19 40134 BOLOGNA

Dettagli

marketing highlights Google Analytics A cura di: dott. Fabio Pinello

marketing highlights Google Analytics A cura di: dott. Fabio Pinello marketing highlights Google Analytics A cura di: dott. Fabio Pinello Google Analytics è uno strumento gratuito fornito da Google per monitorare il traffico di visite dei siti web su cui è installato. Cos

Dettagli

Indice PARTE PRIMA L INIZIO 1

Indice PARTE PRIMA L INIZIO 1 Indice Introduzione XIII PARTE PRIMA L INIZIO 1 Capitolo 1 Esplorare il World Wide Web 3 1.1 Come funziona il World Wide Web 3 1.2 Browser Web 10 1.3 Server Web 14 1.4 Uniform Resource Locators 15 1.5

Dettagli

Guida Compilazione Piani di Studio on-line

Guida Compilazione Piani di Studio on-line Guida Compilazione Piani di Studio on-line SIA (Sistemi Informativi d Ateneo) Visualizzazione e presentazione piani di studio ordinamento 509 e 270 Università della Calabria (Unità organizzativa complessa-

Dettagli

per immagini guida avanzata Organizzazione e controllo dei dati Geometra Luigi Amato Guida Avanzata per immagini excel 2000 1

per immagini guida avanzata Organizzazione e controllo dei dati Geometra Luigi Amato Guida Avanzata per immagini excel 2000 1 Organizzazione e controllo dei dati Geometra Luigi Amato Guida Avanzata per immagini excel 2000 1 Il raggruppamento e la struttura dei dati sono due funzioni di gestione dati di Excel, molto simili tra

Dettagli

PowerPoint 2007 Le funzioni

PowerPoint 2007 Le funzioni PowerPoint 2007 Le funzioni Introduzione Cos è un ipertesto L' ipertesto è un testo organizzato in link, o collegamenti ad altre parti del testo e/o altri testi, in modo da consentire all utente di scegliere

Dettagli

RIFERIMENTI ATTORI GLOSSARIO. ERRORI COMUNI REV. REQUISITI INGEGNERIA DEL SOFTWARE Università degli Studi di Padova

RIFERIMENTI ATTORI GLOSSARIO. ERRORI COMUNI REV. REQUISITI INGEGNERIA DEL SOFTWARE Università degli Studi di Padova RIFERIMENTI ERRORI COMUNI REV. REQUISITI INGEGNERIA DEL SOFTWARE Università degli Studi di Padova Dipartimento di Matematica Corso di Laurea in Informatica, A.A. 2014 2015 I riferimenti devono essere precisi

Dettagli

Il database management system Access

Il database management system Access Il database management system Access Corso di autoistruzione http://www.manualipc.it/manuali/ corso/manuali.php? idcap=00&idman=17&size=12&sid= INTRODUZIONE Il concetto di base di dati, database o archivio

Dettagli

Sistemi Operativi MECCANISMI E POLITICHE DI PROTEZIONE. D. Talia - UNICAL. Sistemi Operativi 13.1

Sistemi Operativi MECCANISMI E POLITICHE DI PROTEZIONE. D. Talia - UNICAL. Sistemi Operativi 13.1 MECCANISMI E POLITICHE DI PROTEZIONE 13.1 Protezione Obiettivi della Protezione Dominio di Protezione Matrice di Accesso Implementazione della Matrice di Accesso Revoca dei Diritti di Accesso Sistemi basati

Dettagli

MECCANISMI E POLITICHE DI PROTEZIONE 13.1

MECCANISMI E POLITICHE DI PROTEZIONE 13.1 MECCANISMI E POLITICHE DI PROTEZIONE 13.1 Protezione Obiettivi della Protezione Dominio di Protezione Matrice di Accesso Implementazione della Matrice di Accesso Revoca dei Diritti di Accesso Sistemi basati

Dettagli

WWW.ICTIME.ORG. NVU Manuale d uso. Cimini Simonelli Testa

WWW.ICTIME.ORG. NVU Manuale d uso. Cimini Simonelli Testa WWW.ICTIME.ORG NVU Manuale d uso Cimini Simonelli Testa Cecilia Cimini Angelo Simonelli Francesco Testa NVU Manuale d uso EDIZIONE Gennaio 2008 Questo manuale utilizza la Creative Commons License www.ictime.org

Dettagli

Progetto ittorario Anno scol. 2013-2014

Progetto ittorario Anno scol. 2013-2014 PROGETTO ittorario Scopo: Creazione di una pagina web che mostri l orario di un docente, della classe della materia o dell aula a discrezione dell utente. Sviluppatori: Progetto sviluppato dalla classe

Dettagli

Acronis License Server. Manuale utente

Acronis License Server. Manuale utente Acronis License Server Manuale utente INDICE 1. INTRODUZIONE... 3 1.1 Panoramica... 3 1.2 Politica della licenza... 3 2. SISTEMI OPERATIVI SUPPORTATI... 4 3. INSTALLAZIONE DI ACRONIS LICENSE SERVER...

Dettagli

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti Capitolo 3 L applicazione Java Diagrammi ER Dopo le fasi di analisi, progettazione ed implementazione il software è stato compilato ed ora è pronto all uso; in questo capitolo mostreremo passo passo tutta

Dettagli

Indice generale. Introduzione...xv. Parte I Per iniziare Capitolo 1 Introduzione allo sviluppo ios con tecnologie web...3

Indice generale. Introduzione...xv. Parte I Per iniziare Capitolo 1 Introduzione allo sviluppo ios con tecnologie web...3 Introduzione...xv A chi si rivolge questo libro...xv Gli argomenti trattati...xv Com è organizzato il libro...xvi Cosa occorre per utilizzare il libro...xvii Convenzioni adottate...xvii Il codice sorgente...xviii

Dettagli

GUIDA OPERATIVA APPLICAZIONE PER LA VISUALIZZAZIONE DELLE FORNITURE DEI DATI DEI FABBRICATI MAI DICHIARATI CON ACCERTAMENTO CONCLUSO

GUIDA OPERATIVA APPLICAZIONE PER LA VISUALIZZAZIONE DELLE FORNITURE DEI DATI DEI FABBRICATI MAI DICHIARATI CON ACCERTAMENTO CONCLUSO GUIDA OPERATIVA APPLICAZIONE PER LA VISUALIZZAZIONE DELLE FORNITURE DEI DATI DEI FABBRICATI MAI DICHIARATI CON ACCERTAMENTO CONCLUSO 27 Giugno 2011 DOC. ES-31-IS-0B PAG. 2 DI 26 INDICE PREMESSA 3 1. INSTALLAZIONE

Dettagli

Come costruire una presentazione. PowerPoint 1. ! PowerPoint permette la realizzazione di presentazioni video ipertestuali, animate e multimediali

Come costruire una presentazione. PowerPoint 1. ! PowerPoint permette la realizzazione di presentazioni video ipertestuali, animate e multimediali PowerPoint Come costruire una presentazione PowerPoint 1 Introduzione! PowerPoint è uno degli strumenti presenti nella suite Office di Microsoft! PowerPoint permette la realizzazione di presentazioni video

Dettagli

NAVIGAORA HOTSPOT. Manuale utente per la configurazione

NAVIGAORA HOTSPOT. Manuale utente per la configurazione NAVIGAORA HOTSPOT Manuale utente per la configurazione NAVIGAORA Hotspot è l innovativo servizio che offre ai suoi clienti accesso ad Internet gratuito, in modo semplice e veloce, grazie al collegamento

Dettagli

MANUALE MOODLE STUDENTI. Accesso al Materiale Didattico

MANUALE MOODLE STUDENTI. Accesso al Materiale Didattico MANUALE MOODLE STUDENTI Accesso al Materiale Didattico 1 INDICE 1. INTRODUZIONE ALLA PIATTAFORMA MOODLE... 3 1.1. Corso Moodle... 4 2. ACCESSO ALLA PIATTAFORMA... 7 2.1. Accesso diretto alla piattaforma...

Dettagli

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1)

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1) La gestione di un calcolatore Sistemi Operativi primo modulo Introduzione Augusto Celentano Università Ca Foscari Venezia Corso di Laurea in Informatica Un calcolatore (sistema di elaborazione) è un sistema

Dettagli

fabrizio@akebia.it Fabrizio Caccavello APP NO GRAZIE, LUNGA VITA A RESPONSIVE DESIGN cfabry cfabry Fabrizio Caccavello

fabrizio@akebia.it Fabrizio Caccavello APP NO GRAZIE, LUNGA VITA A RESPONSIVE DESIGN cfabry cfabry Fabrizio Caccavello Fabrizio Caccavello Nella Pubblica Amministrazione il ricorso alla costruzione di applicazioni per dispositivi mobili sembra essere diventato un elemento primario nelle strategie per la fornitura di servizi

Dettagli

Internet: Software Open Source e Sistemi operativi. conoscerlo al meglio per usarlo meglio. 2011 Gabriele Riva - Arci Barzanò

Internet: Software Open Source e Sistemi operativi. conoscerlo al meglio per usarlo meglio. 2011 Gabriele Riva - Arci Barzanò Internet: conoscerlo al meglio per usarlo meglio Software Open Source e Sistemi operativi Indice Cos'è un Software Open Source Perchè utilizzare Software Open Source Sistemi operativi Licenze software

Dettagli

Manuale Amministratore Legalmail Enterprise. Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise

Manuale Amministratore Legalmail Enterprise. Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise Manuale Amministratore Legalmail Enterprise Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise Pagina 2 di 16 Manuale Amministratore Legalmail Enterprise Introduzione a Legalmail Enterprise...3

Dettagli

Sistemi informativi secondo prospettive combinate

Sistemi informativi secondo prospettive combinate Sistemi informativi secondo prospettive combinate direz acquisti direz produz. direz vendite processo acquisti produzione vendite INTEGRAZIONE TRA PROSPETTIVE Informazioni e attività sono condivise da

Dettagli

Panoramica: che cosa è necessario

Panoramica: che cosa è necessario Scheda 02 L installazione dell SDK G IOVANNI PULITI Panoramica: che cosa è necessario Per poter lavorare con applicazioni Java o crearne di nuove, il programmatore deve disporre di un ambiente di sviluppo

Dettagli

Gestione della memoria centrale

Gestione della memoria centrale Gestione della memoria centrale Un programma per essere eseguito deve risiedere in memoria principale e lo stesso vale per i dati su cui esso opera In un sistema multitasking molti processi vengono eseguiti

Dettagli

ASPETTI GENERALI DI LINUX. Parte 2 Struttura interna del sistema LINUX

ASPETTI GENERALI DI LINUX. Parte 2 Struttura interna del sistema LINUX Parte 2 Struttura interna del sistema LINUX 76 4. ASPETTI GENERALI DEL SISTEMA OPERATIVO LINUX La funzione generale svolta da un Sistema Operativo può essere definita come la gestione dell Hardware orientata

Dettagli