UNIVERSITÀ DEGLI STUDI DEL SANNIO
|
|
- Giustino Leo
- 8 anni fa
- Visualizzazioni
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 Moka è uno strumento per creare applicazioni GIS utilizzando oggetti (cartografie, temi, legende, database, funzioni) organizzati in un catalogo condiviso.
Dettaglisito 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
DettagliApproccio 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
DettagliVisual 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
DettagliDefinizione 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
DettagliIntroduzione 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
DettagliScuola 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
DettagliICARO 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
DettagliArchitetture Applicative
Alessandro Martinelli alessandro.martinelli@unipv.it 6 Marzo 2012 Architetture Architetture Applicative Introduzione Alcuni esempi di Architetture Applicative Architetture con più Applicazioni Architetture
DettagliFondamenti 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
DettagliIl 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
DettagliProgettazione 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
DettagliGHPPEditor è 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
DettagliCorso 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)
DettagliI 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
DettagliScenario 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
DettagliImplementazione 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
DettagliDispensa 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.
DettagliUniversità 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
Dettaglicapitolo 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
DettagliConcetti 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
DettagliCREA 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
DettagliNOVITÀ 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à:
DettagliCorso 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
Dettaglilo 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,
DettagliCorso 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
DettagliIl 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
DettagliPROTOTIPAZIONE 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
DettagliGuida 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
DettagliManuale 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
DettagliCorso 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
DettagliGenerazione 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:
DettagliLaboratorio 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
DettagliArchitetture 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
DettagliMac 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
DettagliSoftware 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
DettagliStrumenti 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
DettagliCorso 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
DettagliArchitettura 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
DettagliProgrammazione 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
DettagliLinee 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
DettagliCONTENT 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
DettagliPremessa 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
DettagliEsercizi 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
DettagliArchitetture 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
DettagliSistema 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
DettagliCorso 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
DettagliIntroduzione 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
DettagliTurismo 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
DettagliStrumenti 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
DettagliMODULO 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
DettagliIn 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
DettagliFPf 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
Dettaglibmooble 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
DettagliIl 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
DettagliScheda 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
DettagliElenco 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
DettagliIl 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
DettagliCreare 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
DettagliHardware 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
DettagliGuida 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
DettagliInstallazione 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
DettagliCorso 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
DettagliIntroduzione 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
DettagliRealizzare 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
DettagliNOTE 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
DettagliCorso 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
DettagliL 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
DettagliScuola 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
DettagliEstensioni 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
DettagliISTRUZIONI 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
DettagliBMSO1001. 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
DettagliInfiXor. 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
Dettaglimarketing 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
DettagliIndice 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
DettagliGuida 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-
Dettagliper 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
DettagliPowerPoint 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
DettagliRIFERIMENTI 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
DettagliIl 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
DettagliSistemi 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
DettagliMECCANISMI 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
DettagliWWW.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
DettagliProgetto 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
DettagliAcronis 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...
DettagliCapitolo 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
DettagliIndice 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
DettagliGUIDA 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
DettagliCome 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
DettagliNAVIGAORA 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
DettagliMANUALE 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...
DettagliLa 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
Dettaglifabrizio@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
DettagliInternet: 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
DettagliManuale 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
DettagliSistemi 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
DettagliPanoramica: 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
DettagliGestione 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
DettagliASPETTI 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