900 resultados para App Android Mobile Web Design Sviluppo
Resumo:
Questa tesi tratta dello sviluppo di un progetto chiamato Faxa e di una sua concreta applicazione nell’ambito della domotica (CasaDomotica). Faxa è un framework per la comunicazione via wireless tra dispositivi che supportano il sistema operativo Android e dispositivi Arduino Ethernet, comunicazione che avviene localmente attraverso il wi-fi. Il progetto si inserisce nel panorama più ampio chiamato “Internet of Things”, ovvero internet delle cose, dove ogni oggetto di uso domestico è collegato ad Internet e può essere quindi manipolato attraverso la rete in modo da realizzare una vera e propria “smart house”; perchè ciò si attui occorre sviluppare applicazioni semplici e alla portata di tutti. Il mio contributo comincia con la realizzazione del framework Faxa, così da fornire un supporto semplice e veloce per comporre programmi per Arduino e Android, sfruttando metodi ad alto livello. Il framework è sviluppato su due fronti: sul lato Android è composto sia da funzioni di alto livello, necessarie ad inviare ordini e messaggi all'Arduino, sia da un demone per Android; sul lato Arduino è composto dalla libreria, per inviare e ricevere messaggi. Per Arduino: sfruttando le librerie Faxa ho redatto un programma chiamato “BroadcastPin”. Questo programma invia costantemente sulla rete i dati dei sensori e controlla se ci sono ordini in ricezione. Il demone chiamato “GetItNow” è una applicazione che lavora costantemente in background. Il suo compito è memorizzare tutti i dati contenuti nei file xml inviati da Arduino. Tali dati corrispondono ai valori dei sensori connessi al dispositivo. I dati sono salvati in un database pubblico, potenzialmente accessibili a tutte le applicazioni presenti sul dispositivo mobile. Sul framework Faxa e grazie al demone “GetItNow” ho implementato “CasaDomotica”, un programma dimostrativo pensato per Android in grado di interoperare con apparecchi elettrici collegati ad un Arduino Ethernet, impiegando un’interfaccia video semplice e veloce. L’utente gestisce l’interfaccia per mezzo di parole chiave, a scelta comandi vocali o digitali, e con essa può accendere e spegnere luci, regolare ventilatori, attuare la rilevazione di temperatura e luminosità degli ambienti o quanto altro sia necessario. Il tutto semplicemente connettendo gli apparecchi all’Arduino e adattando il dispositivo mobile con pochi passi a comunicare con gli elettrodomestici.
Resumo:
L’obbiettivo di questa tesi consiste in un analisi dello sviluppo di applicazioni mobile, rivolgendo particolare attenzione riguardo a quelle soluzioni che consentono di astrarre dall’ambiente su cui effettivamente queste verranno eseguite, per poi prendere in esame la piattaforma e il linguaggio Mobl. Sarà quindi necessario effettuare una panoramica sullo stato attuale del mercato, introducendo i diversi sistemi presenti e le metodologie proposte per la costruzione del software. Da questo studio sarà possibile ricavare i pregi e i difetti di una programmazione nativa. Volendo, in seguito, ricercare un processo di produzione software che favorisca un’indipendenza dai sistemi precedentemente descritti, verranno illustrati alcuni tra i più importanti Mobile Frameworks e tra questi si prenderà in esame Mobl, che si contraddistingue grazie a caratteristiche peculiari.
Resumo:
Web is constantly evolving, thanks to the 2.0 transition, HTML5 new features and the coming of cloud-computing, the gap between Web and traditional desktop applications is tailing off. Web-apps are more and more widespread and bring several benefits compared to traditional ones. On the other hand reference technologies, JavaScript primarly, are not keeping pace, so a paradim shift is taking place in Web programming, and so many new languages and technologies are coming out. First objective of this thesis is to survey the reference and state-of-art technologies for client-side Web programming focusing in particular on what concerns concurrency and asynchronous programming. Taking into account the problems that affect existing technologies, we finally design simpAL-web, an innovative approach to tackle Web-apps development, based on the Agent-oriented programming abstraction and the simpAL language. == Versione in italiano: Il Web è in continua evoluzione, grazie alla transizione verso il 2.0, alle nuove funzionalità introdotte con HTML5 ed all’avvento del cloud-computing, il divario tra le applicazioni Web e quelle desktop tradizionali va assottigliandosi. Le Web-apps sono sempre più diffuse e presentano diversi vantaggi rispetto a quelle tradizionali. D’altra parte le tecnologie di riferimento, JavaScript in primis, non stanno tenendo il passo, motivo per cui la programmazione Web sta andando incontro ad un cambio di paradigma e nuovi linguaggi e tecnologie stanno spuntando sempre più numerosi. Primo obiettivo di questa tesi è di passare al vaglio le tecnologie di riferimento ed allo stato dell’arte per quel che riguarda la programmmazione Web client-side, porgendo particolare attenzione agli aspetti inerenti la concorrenza e la programmazione asincrona. Considerando i principali problemi di cui soffrono le attuali tecnologie passeremo infine alla progettazione di simpAL-web, un approccio innovativo con cui affrontare lo sviluppo di Web-apps basato sulla programmazione orientata agli Agenti e sul linguaggio simpAL.
Resumo:
L'aumento inesorabile delle morti per cause legate a patologie cardiache, dovuto soprattutto al progressivo invecchiamento della popolazione occidentale, ha portato negli ultimi anni, alla necessità di sviluppare tecniche e sistemi di “Remote Monitoring”. L'obiettivo della tesi è la progettazione e lo sviluppo di un sistema di monitoraggio remoto dell'attività elettrica cardiaca basato sull’utilizzo delle piattaforme Android e Arduino. Il valore aggiunto della soluzione proposta e sviluppata è, quindi, soprattutto da ricercarsi nella tipologia di tecnologie utilizzate per la realizzazione del sistema (Android/Arduino): oltre, alla loro continua espansione, in termini di diffusione e avanzamento tecnologico, facilmente riscontrabile, hanno tutte l’importante caratteristica di essere totalmente Open Source, rendendo, quindi, ogni elemento del sistema eventualmente espandibile da chiunque lo desideri.
Resumo:
Il Web nel corso della sua esistenza ha subito un mutamento dovuto in parte dalle richieste del mercato, ma soprattutto dall’evoluzione e la nascita costante delle numerose tecnologie coinvolte in esso. Si è passati da un’iniziale semplice diffusione di contenuti statici, ad una successiva collezione di siti web, dapprima con limitate presenze di dinamicità e interattività (a causa dei limiti tecnologici), ma successivamente poi evoluti alle attuali applicazioni web moderne che hanno colmato il gap con le applicazioni desktop, sia a livello tecnologico, che a livello di diffusione effettiva sul mercato. Tali applicazioni web moderne possono presentare un grado di complessità paragonabile in tutto e per tutto ai sistemi software desktop tradizionali; le tecnologie web hanno subito nel tempo un evoluzione legata ai cambiamenti del web stesso e tra le tecnologie più diffuse troviamo JavaScript, un linguaggio di scripting nato per dare dinamicità ai siti web che si ritrova tutt’ora ad essere utilizzato come linguaggio di programmazione di applicazioni altamente strutturate. Nel corso degli anni la comunità di sviluppo che ruota intorno a JavaScript ha prodotto numerose librerie al supporto del linguaggio dotando così gli sviluppatori di un linguaggio completo in grado di far realizzare applicazioni web avanzate. Le recenti evoluzioni dei motori javascript presenti nei browser hanno inoltre incrementato le prestazioni del linguaggio consacrandone la sua leadership nei confronti dei linguaggi concorrenti. Negli ultimi anni a causa della crescita della complessità delle applicazioni web, javascript è stato messo molto in discussione in quanto come linguaggio non offre le classiche astrazioni consolidate nel tempo per la programmazione altamente strutturata; per questo motivo sono nati linguaggi orientati alla programmazione ad oggetti per il web che si pongono come obiettivo la risoluzione di questo problema: tra questi si trovano linguaggi che hanno l’ambizione di soppiantare JavaScript come ad esempio Dart creato da Google, oppure altri che invece sfruttano JavaScript come linguaggio base al quale aggiungono le caratteristiche mancanti e, mediante il processo di compilazione, producono codice JavaScript puro compatibile con i motori JavaScript presenti nei browser. JavaScript storicamente fu introdotto come linguaggio sia per la programmazione client-side, che per la controparte server-side, ma per vari motivi (la forte concorrenza, basse performance, etc.) ebbe successo solo come linguaggio per la programmazione client; le recenti evoluzioni del linguaggio lo hanno però riportato in auge anche per la programmazione server-side, soprattutto per i miglioramenti delle performance, ma anche per la sua naturale predisposizione per la programmazione event-driven, paradigma alternativo al multi-threading per la programmazione concorrente. Un’applicazione web di elevata complessità al giorno d’oggi può quindi essere interamente sviluppata utilizzando il linguaggio JavaScript, acquisendone sia i suoi vantaggi che gli svantaggi; le nuove tecnologie introdotte ambiscono quindi a diventare la soluzione per i problemi presenti in JavaScript e di conseguenza si propongono come potenziali nuovi linguaggi completi per la programmazione web del futuro, anticipando anche le prossime evoluzioni delle tecnologie già esistenti preannunciate dagli enti standard della programmazione web, il W3C ed ECMAScript. In questa tesi saranno affrontate le tematiche appena introdotte confrontando tra loro le tecnologie in gioco con lo scopo di ottenere un’ampia panoramica delle soluzioni che uno sviluppatore web dovrà prendere in considerazione per realizzare un sistema di importanti dimensioni; in particolare sarà approfondito il linguaggio TypeScript proposto da Microsoft, il quale è nato in successione a Dart apparentemente con lo stesso scopo, ma grazie alla compatibilità con JavaScript e soprattutto con il vasto mondo di librerie legate ad esso nate in questi ultimi anni, si presenta nel mercato come tecnologia facile da apprendere per tutti gli sviluppatori che già da tempo hanno sviluppato abilità nella programmazione JavaScript.
Resumo:
Con questa tesi ho descritto come le tecnologie web odierne possano permettere di sviluppare degli applicativi alternativi ai software da installare nei singoli pc. La gestione dei dati tramite database, la loro ricerca ed esposizione tramite il linguaggio SQL, la gestione semplificata dell'interfaccia grazie al CSS e le molteplici applicazioni rese disponibili da terze parti (come grafici o servizi meteorologici utilizzati nell'elaborato) permettono di soddisfare qualsiasi specifica richiesta. Nella tesi in oggetto tratto, a questo scopo, la creazione di un'interfaccia che consenta di gestire e monitorare un impianto fotovoltaico di medie dimensioni.
Resumo:
L’obiettivo di questa tesi è quello di estendere l’interfaccia grafica di tuProlog nella versione per Android, il più diffuso sistema operativo per tablet e smartphone. TuProlog è un’ interprete Prolog interamente scritto in java, leggero e open–source. L’applicazione è disponibile sotto forma di archivio JAR eseguibile e può essere utilizzato tramite un’interfaccia a riga di comando, nella versione Java, o per mezzo di interfacce grafiche negli ambienti Java, .NET e Android. La versione per Android supporta pienamente Java e la maggior parte delle librerie dell’applicativo per JVM. Lo sviluppo di applicazioni per dispositivi mobile, però, limita lo sviluppatore in termini di complessità delle elaborazioni effettuabili dal programma e comprensibilità dell’interfaccia grafica; per questi e altri motivi, la struttura dell’applicativo in versione Android, fatta eccezione per il core Prolog, è diversa dalle versioni per altri ambienti. L’applicazione, giunta ora alla versione 2.7.2, manca della possibilità di input da console in tutte le versioni ad interfaccia grafica. Scopo di questa tesi è quindi integrare tale funzionalità, inserendola all’interno del contesto applicativo senza modificare il normale flusso delle operazioni, intervenendo in modo mirato, il meno invasivo possibile e garantendo l’espandibilità della modifica ad estensioni future.
Resumo:
L’obiettivo del lavoro consiste nell’implementare una metodologia operativa volta alla progettazione di reti di monitoraggio e di campagne di misura della qualità dell’aria con l’utilizzo del laboratorio mobile, ottimizzando le posizioni dei dispositivi di campionamento rispetto a differenti obiettivi e criteri di scelta. La revisione e l’analisi degli approcci e delle indicazioni fornite dalla normativa di riferimento e dai diversi autori di lavori scientifici ha permesso di proporre un approccio metodologico costituito da due fasi operative principali, che è stato applicato ad un caso studio rappresentato dal territorio della provincia di Ravenna. La metodologia implementata prevede l’integrazione di numerosi strumenti di supporto alla valutazione dello stato di qualità dell’aria e degli effetti che gli inquinanti atmosferici possono generare su specifici recettori sensibili (popolazione residente, vegetazione, beni materiali). In particolare, la metodologia integra approcci di disaggregazione degli inventari delle emissioni attraverso l’utilizzo di variabili proxy, strumenti modellistici per la simulazione della dispersione degli inquinanti in atmosfera ed algoritmi di allocazione degli strumenti di monitoraggio attraverso la massimizzazione (o minimizzazione) di specifiche funzioni obiettivo. La procedura di allocazione sviluppata è stata automatizzata attraverso lo sviluppo di un software che, mediante un’interfaccia grafica di interrogazione, consente di identificare delle aree ottimali per realizzare le diverse campagne di monitoraggio
Resumo:
Analisi, progettazione e sviluppo di un’applicazione che fornisca agli utenti la possibilità di consultare le informazioni riguardanti i punti d’interesse della città fornendo un’esperienza di tour guidato.