959 resultados para ArcGIS API for JavaScript
Resumo:
Negli ultimi anni si è imposto il concetto di Ubiquitous Computing, ovvero la possibilità di accedere al web e di usare applicazioni per divertimento o lavoro in qualsiasi momento e in qualsiasi luogo. Questo fenomeno sta cambiando notevolmente le abitudini delle persone e ciò è testimoniato anche dal fatto che il mercato mobile è in forte ascesa: da fine 2014 sono 45 milioni gli smartphone e 12 milioni i tablet in circolazione in Italia. Sembra quasi impossibile, dunque, rinunciare al mobile, soprattutto per le aziende: il nuovo modo di comunicare ha reso necessaria l’introduzione del Mobile Marketing e per raggiungere i propri clienti ora uno degli strumenti più efficaci e diretti sono le applicazioni. Esse si definiscono native se si pongono come traguardo un determinato smartphone e possono funzionare solo per quel sistema operativo. Infatti un’app costruita, per esempio, per Android non può funzionare su dispositivi Apple o Windows Phone a meno che non si ricorra al processo di porting. Ultimamente però è richiesto un numero sempre maggiore di app per piattaforma e i dispositivi presenti attualmente sul mercato presentano differenze tra le CPU, le interfacce (Application Programming Interface), i sistemi operativi, l’hardware, etc. Nasce quindi la necessità di creare applicazioni che possano funzionare su più sistemi operativi, ovvero le applicazioni platform-independent. Per facilitare e supportare questo genere di lavoro sono stati definiti nuovi ambienti di sviluppo tra i quali Sencha Touch e Apache Cordova. Il risultato finale dello sviluppo di un’app attraverso questi framework è proprio quello di ottenere un oggetto che possa essere eseguito su qualsiasi dispositivo. Naturalmente la resa non sarà la stessa di un’app nativa, la quale ha libero accesso a tutte le funzionalità del dispositivo (rubrica, messaggi, notifiche, geolocalizzazione, fotocamera, accelerometro, etc.), però con questa nuova app vi è la garanzia di un costo di sviluppo minore e di una richiesta considerevole sul mercato. L’obiettivo della tesi è quello di analizzare questo scenario attraverso un caso di studio proveniente da una realtà aziendale che presenta proprio la necessità di sviluppare un’applicazione per più piattaforme. Nella prima parte della tesi viene affrontata la tematica del mobile computing e quella del dualismo tra la programmazione nativa e le web app: verranno analizzate le caratteristiche delle due diverse tipologie cercando di capire quale delle due risulti essere la migliore. Nella seconda parte sarà data luce a uno dei più importanti framework per la costruzione di app multi-piattaforma: Sencha Touch. Ne verranno analizzate le caratteristiche, soffermandosi in particolare sul pattern MVC e si potrà vedere un confronto con altri framework. Nella terza parte si tratterà il caso di studio, un app mobile per Retail basata su Sencha Touch e Apache Cordova. Nella parte finale si troveranno alcune riflessioni e conclusioni sul mobile platform-independent e sui vantaggi e gli svantaggi dell’utilizzo di JavaScript per sviluppare app.
Resumo:
Cloud services are becoming ever more important for everyone's life. Cloud storage? Web mails? Yes, we don't need to be working in big IT companies to be surrounded by cloud services. Another thing that's growing in importance, or at least that should be considered ever more important, is the concept of privacy. The more we rely on services of which we know close to nothing about, the more we should be worried about our privacy. In this work, I will analyze a prototype software based on a peer to peer architecture for the offering of cloud services, to see if it's possible to make it completely anonymous, meaning that not only the users using it will be anonymous, but also the Peers composing it will not know the real identity of each others. To make it possible, I will make use of anonymizing networks like Tor. I will start by studying the state of art of Cloud Computing, by looking at some real example, followed by analyzing the architecture of the prototype, trying to expose the differences between its distributed nature and the somehow centralized solutions offered by the famous vendors. After that, I will get as deep as possible into the working principle of the anonymizing networks, because they are not something that can just be 'applied' mindlessly. Some de-anonymizing techniques are very subtle so things must be studied carefully. I will then implement the required changes, and test the new anonymized prototype to see how its performances differ from those of the standard one. The prototype will be run on many machines, orchestrated by a tester script that will automatically start, stop and do all the required API calls. As to where to find all these machines, I will make use of Amazon EC2 cloud services and their on-demand instances.
Resumo:
Nella tesi vengono analizzati i diversi aspetti della domotica. Uno sguardo sulla storia, sulle caratteristiche sia funzionali che strutturali. Viene analizzato l'impatto che questa ha sull'uomo e sul suo stile di vita. Vengono messe a confronto Google ed Apple, nello specifico per quel che riguarda la loro risposta alla smart home: Nest ed HomeKit, sia a livello funzionale che di codice. In seguito all'analisi di API e documentazioni è emerso che entrambe le aziende offrono pressoché le medesime funzionalità, ma con piccole particolarità che fanno la differenza, dando inizio così ad una battaglia per il primato.
Resumo:
Ubuntu Touch è un nuovo sistema operativo per Desktop e Cellulari che nasce dalla necessità di unire sistemi eterogenei sotto un'unica piattaforma. L'infrastruttura di Touch, che garantisce convergenza fra dispositivi diversi, è basata sull'innovativo server grafico Mir e sull'interfaccia grafica Unity. L'Application Model è notevolmente migliorato, le applicazioni sono confinate attraverso AppArmor, e scambiano fra loro contenuti tramite il servizio Content-Hub. I tool di sviluppo supportati sono le tecnologie web (HTML5 e JavaScript) e C++ su Framework Qt (possibilità di utilizzare QML). Gli aggiornamenti di sistema, del core, sono sia parziali, attraverso archivi "delta" che introducono solo i cambiamenti necessari, sia full, sovrascrivono l'intero dispositivo. Lo sviluppo in Ubuntu SDK è veloce e agile. Notevole la gestione degli emulatori, ma pecca di alcune feature tutt'ora mancanti. Gli Scope sono application content indipendent, vera innovazione in Ubuntu. Per sperimentare questa tecnologia si sviluppa uno scope per la ricerca di libri nella Biblioteca Gian Paolo Dore della Facoltà di Ingegneria di Bologna.
Resumo:
Studio ed analisi delle principali tecniche in ambito di Social Data Analysis. Progettazione e Realizzazione di una soluzione software implementata con linguaggio Java in ambiente Eclipse. Il software realizzato permette di integrare differenti servizi di API REST, per l'estrazione di dati sociali da Twitter, la loro memorizzazione in un database non-relazionale (realizzato con MongoDB), e la loro gestione. Inoltre permette di effettuare operazioni di classificazione di topic, e di analizzare dati complessivi sulle collection di dati estratti. Infine permette di visualizzare un albero delle "ricondivisioni", partendo da singoli tweet selezionati, ed una mappa geo-localizzata, contenente gli utenti coinvolti nella catena di ricondivisioni, e i relativi archi di "retweet".
Resumo:
Dall'inizio del nuovo millennio lo sviluppo di tecnologie nel campo del mobile computing, della rete internet, lo sviluppo dell'Internet of things e pure il cloud computing hanno reso possibile l'innovazione dei metodi di lavoro e collaborazione. L'evoluzione del mobile computing e della realtà aumentata che sta avvenendo in tempi più recenti apre potenzialmente nuovi orizzonti nello sviluppo di sistemi distribuiti collaborativi. Esistono oggi diversi framework a supporto della realtà aumentata, Wikitude, Metaio, Layar, ma l'interesse primario di queste librerie è quello di fornire una serie di API fondamentali per il rendering di immagini 3D attraverso i dispositivi, per lo studio dello spazio in cui inserire queste immagini e per il riconoscimento di marker. Questo tipo di funzionalità sono state un grande passo per quanto riguarda la Computer Graphics e la realtà aumentata chiaramente, però aprono la strada ad una Augmented Reality(AR) ancora più aumentata. Questa tesi si propone proprio di presentare l'ideazione, l'analisi, la progettazione e la prototipazione di un sistema distribuito situato a supporto della collaborazione basato su realtà aumentata. Lo studio di questa applicazione vuole mettere in luce molti aspetti innovativi e che ancora oggi non sono stati approfonditi né tanto meno sviluppati come API o forniti da librerie riguardo alla realtà aumentata e alle sue possibili applicazioni.
Il processo di semplificazione di Meteor nello sviluppo di applicazioni web. L'esempio di Pachirajs.
Resumo:
L'obbiettivo di questa tesi è mostrare come attualmente sia possibile creare applicazioni web in maniera semplice e veloce, tramite l'utilizzo del framework Meteor.
Resumo:
Uno strumento per l'erogazione di test universitari via browser.
Resumo:
Lo scopo dell'elaborato di tesi è l'analisi, progettazione e sviluppo di un prototipo di una infrastruttura cloud in grado di gestire un grande flusso di eventi generati da dispositivi mobili. Questi utilizzano informazioni come la posizione assunta e il valore dei sensori locali di cui possono essere equipaggiati al fine di realizzare il proprio funzionamento. Le informazioni così ottenute vengono trasmesse in modo da ottenere una rete di device in grado di acquisire autonomamente informazioni sull'ambiente ed auto-organizzarsi. La costruzione di tale struttura si colloca in un più ampio ambito di ricerca che punta a integrare metodi per la comunicazione ravvicinata con il cloud al fine di permettere la comunicazione tra dispositivi vicini in qualsiasi situazione che si potrebbe presentare in una situazione reale. A definire le specifiche della infrastruttura e quindi a impersonare il ruolo di committente è stato il relatore, Prof. Mirko Viroli, mentre lo sviluppo è stato portato avanti da me e dal correlatore, Ing. Pietro Brunetti. Visti gli studi precedenti riguardanti il cloud computing nell'area dei sistemi complessi distribuiti, Brunetti ha dato il maggiore contributo nella fase di analisi del problema e di progettazione mentre la parte riguardante la effettiva gestione degli eventi, le computazioni in cloud e lo storage dei dati è stata maggiormente affrontata da me. In particolare mi sono occupato dello studio e della implementazione del backend computazionale, basato sulla tecnologia Apache Storm, della componente di storage dei dati, basata su Neo4j, e della costruzione di un pannello di visualizzazione basato su AJAX e Linkurious. A questo va aggiunto lo studio su Apache Kafka, utilizzato come tecnologia per realizzare la comunicazione asincrona ad alte performance tra le componenti. Si è reso necessario costruire un simulatore al fine di condurre i test per verificare il funzionamento della infrastruttura prototipale e per saggiarne l'effettiva scalabilità, considerato il potenziale numero di dispositivi da sostenere che può andare dalle decine alle migliaia. La sfida più importante riguarda la gestione della vicinanza tra dispositivi e la possibilità di scalare la computazione su più macchine. Per questo motivo è stato necessario far uso di tecnologie per l'esecuzione delle operazioni di memorizzazione, calcolo e trasmissione dei dati in grado di essere eseguite su un cluster e garantire una accettabile fault-tolerancy. Da questo punto di vista i lavori che hanno portato alla costruzione della infrastruttura sono risultati essere un'ottima occasione per prendere familiarità con tecnologie prima sconosciute. Quasi tutte le tecnologie utilizzate fanno parte dell'ecosistema Apache e, come esposto all'interno della tesi, stanno ricevendo una grande attenzione da importanti realtà proprio in questo periodo, specialmente Apache Storm e Kafka. Il software prodotto per la costruzione della infrastruttura è completamente sviluppato in Java a cui si aggiunge la componente web di visualizzazione sviluppata in Javascript.
Resumo:
L'obiettivo di questo lavoro è stato lo studio e lo sviluppo di un'applicazione mobile, che favorisca l'apprendimento scolastico tramite l'uso di tecniche di Gamification. L'app è stata creata con l'intenzione di focalizzarsi in particolare sulla matematica, ma è stata progettata in maniera modulare con diverse funzioni e costrutti parametrizzati, più facilmente gestibile e in futuro ampliabili. Il lavoro è iniziato con l'analisi delle esigenze degli studenti relative allo studio della matematica, ed in particolare si è approfondito la necessità di aiutare gli alunni nell'apprendimento di questa disciplina, attraverso esercizi mirati e con elementi di gioco gamificati.
Resumo:
L’argomento centrale della tesi sono i centri sportivi, l’applicazione permette quindi all’utente di cercare un centro sportivo per nome, per città o per provincia. Consente inoltre di visualizzare la disponibilità per ogni campo offerto dalle strutture ed eventualmente di effettuare una prenotazione. Il centro sportivo renderà disponibili informazioni altrimenti difficilmente reperibili come gli orari, il numero telefonico, l’indirizzo, ecc.. Il progetto si compone di una parte front end e una parte back end. Il front consiste in un’applicazione android nativo (sviluppata in java). Il back-end invece vede un applicativo basato su ASP.NET Web API 2, con db Entity Framework Code First. Per la gestione degli user è stato scelto il framework ASP.NET Identity 2.1.
Resumo:
Obiettivo di questa tesi è l'analisi e l'approfondimento di una tecnologia di nuova generazione che prende il nome di iBeacon. Basata sulla localizzazione di prossimità (wireless) a bassi consumi energetici e sviluppata da Apple, l'iBeacon sfrutta il protocollo Bluetooth Low Energy con il quale riesce ad utilizzare al meglio l'energia, permettendo alle batterie dei dispositivi che lo implementano di durare molto più a lungo. In questa argomentazione, vengono elencate e descritte alcune tecniche di comunicazione wireless a medio-corto raggio (Wi-Fi, Infrarosso, RFID, NFC, Bluetooth, BLE), che utilizzano lo scambio di informazioni senza fili, descrivendone una breve storia, dalla loro evoluzione nel tempo e nei modi, ad alcune caratteristiche di utilizzo. L'argomentazione poi focalizzerà l'attenzione sui metodi di localizzazione utilizzati dall'iBeacon, fornendone le funzionalità e le caratteristiche principali di questa nuova tecnologia e discutendone i vantaggi, i limiti tecnologici e di sviluppo del protocollo, fino a delineare alcune soluzioni per quanto riguarda le soglie di sicurezza e di privacy. L'analisi poi confronterà l'iBeacon con i maggiori antagonisti che utilizzano questa tecnica di microgeolocalizzazione (NFC, EddyStone). Si cercherà inoltre di delineare in maniera più dettagliata le specifiche tecniche che costituiscono questa nuova tecnologia di prossimità, dal protocollo di comunicazione alla componentistica hardware. Successivamente verrà descritto come un dispositivo iOS si interfaccia con un iBeacon, delineandone le API e il setup e mostrando i diversi passaggi per la creazione di un prototipo di applicazione. Si cercherà infine di pianificare, progettare e costruire una rete con iBeacon. Come ultima analisi, si prenderà in esame la relazione tra l'iBeacon e l'Internet of Things (IoT), e gli sviluppi che potrà portare all'evoluzione del Marketing di Prossimità, mostrando un esempio concreto di utilizzo efficace di questa innovativa tecnologia (EXPO 2015).
Resumo:
L’utilizzo del Multibeam Echo sounder (MBES) in ambienti di transizione poco profondi, con condizioni ambientali complesse come la laguna di Venezia, è ancora in fase di studio e i dati biologici e sedimentologici inerenti ai canali della laguna di Venezia sono attualmente scarsi e datati in letteratura. Questo studio ha lo scopo di mappare gli habitat e gli oggetti antropici di un canale della laguna di Venezia in un intervallo di profondità tra 0.3 e 20 m (Canale San Felice) analizzando i dati batimetrici e di riflettività (backscatter) acquisiti da ISMAR-Venezia nell’ambito del progetto RITMARE. A tale scopo il fondale del canale San Felice (Venezia) è stato caratterizzato dal punto di vista geomorfologico, sedimentologico e biologico; descrivendo anche l’eventuale presenza di oggetti antropici. L’ecoscandaglio utilizzato è il Kongsberg EM2040 Dual-Compact Multibeam in grado di emettere 800 beam (400 per trasduttore) ad una frequenza massima di 400kHZ e ci ha consentito di ricavare ottimi risultati, nonostante le particolari caratteristiche degli ambienti lagunari. I dati acquisiti sono stati processati tramite il software CARIS Hydrographic information processing system (Hips) & Sips, attraverso cui è possibile applicare le correzioni di marea e velocità del suono e migliorare la qualità dei dati grezzi ricavati da MBES. I dati sono stati quindi convertiti in ESRI Grid, formato compatibile con il software ArcGIS 10.2.1 (2013) che abbiamo impiegato per le interpretazioni e per la produzione delle mappe. Tecniche di ground-truthing, basate su riprese video e prelievi di sedimento (benna Van Veen 7l), sono state utilizzate per validare il backscatter, dimostrandosi molto efficaci e soddisfacenti per poter descrivere i fondali dal punto di vista biologico e del substrato e quindi degli habitat del canale lagunare. Tutte le informazioni raccolte durante questo studio sono state organizzate all’interno di un geodatabase, realizzato per i dati relativi alla laguna di Venezia.
Resumo:
In questa tesi inizialmente ci si è occupati di definire ed approfondire le caratteristiche della tecnologia Wi-Fi Direct, illustrandone il funzionamento, l’architettura e gli scenari di utilizzo. Successivamente è stata sviluppata un’applicazione basata su tale tecnologia, con lo scopo di fornire un servizio di disseminazione di messaggi d’aiuto in situazioni di emergenza o di catastrofi naturali, nelle quali la rete cellulare viene inevitabilmente meno. In queste occasioni c’è il bisogno di avere uno strumento che permetta di comunicare in maniera facile, veloce e che sia alla portata di tutti. Caratteristiche e qualità proprie di uno smartphone, dispositivo che oggigiorno è presente nelle tasche di ognuno di noi. L’obiettivo finale infatti, sarebbe quello di creare un applicativo che possa idealmente essere preinstallato in ogni nostro dispositivo, un servizio che sia diffuso, compreso ed utilizzabile istantaneamente da tutti, in modo tale da essere una sicurezza e un aiuto di vitale importanza in situazioni di pericolo. Per lo sviluppo di una tale applicazione ci si è basati sul sistema operativo Android, che è il più diffuso tra gli utenti di tutto il mondo. Nel primo capitolo ci si è occupati di di presentare ed approfondire la tecnologia Wi-Fi Direct, definendone gli ambiti generali di utilizzo e le problematiche che vengono affrontate. Nel secondo capitolo si prosegue con la presentazione della tecnologia in ambiente Android, descrivendo le API fornite da Google per l’utilizzo del servizio in questione. Nel terzo capitolo, dopo un’analisi dei progetti che coinvolgono tale tecnologia, viene illustrata l’applicazione creata, le sue funzionalità e caratteristiche ed eventuali casi d’uso. Nel quarto capitolo è stata inserita la parte più tecnica, dove illustro i problemi incontrati e le modalità di risoluzione degli stessi, insieme alle strutture ed agli oggetti messi a disposizione da Java che sono stati utilizzati. Infine nel capitolo conclusivo è stato fatto un riepilogo del lavoro svolto, indicando le difficoltà incontrate ed eventuali possibili miglioramenti e sviluppi futuri del mio progetto.
Resumo:
Homeorhetic Assemblies indaga le potenzialità tettoniche ed architettoniche derivanti dallo studio dei sistemi biologici decentralizzati, dei loro comportamenti e delle relazioni dinamiche con la colonia in termini di processi adattativi e costruttivi continui nel tempo. La ragione di questo interesse è radicata nei principi dell’ecologia applicata al design ed alle tecnologie di fabbricazione contemporanee, che vanno al di là della mera imitazione formale: ci si è quindi chiesto come raggiungere una spazialità complessa ed articolata, omogeneità di prestazioni ed una struttura continua caratterizzata da molti elementi aventi le stesse caratteristiche di forma e materiale. L’ecologia è lo studio di un insieme di economie, ovvero rapporti di scambio, tra un organismo ed il suo ambiente e l’efficenza dei pattern distributivi che derivano da queste relazioni sono fondamentali al fine del successo evolutivo del sistema stesso. I sistemi su cui ci si è concentrati sono caratterizzati dalla capacità di creare strutture a buon mercato (con l’uso di istruzioni semplici ed un unico materiale) e ad elevato grado di complessità ed efficienza, armonizzando l’aspetto formale con l’organizzazione materica e fisiologica. Il modello di comportamento considerato riguarda le dinamiche alla base della creazione degli alveari naturali creati dalle api millifere. Queste caratteristiche sono state codificate nella programmazione di un sistema multi agente composto da agenti autonomi in grado di interagire in un ambiente eterogeneo e capaci di depositare selettivamente elementi in una struttura composta da springs e particles, periodicamente stabilizzata ed ottimizzata. In un tale sistema, a priori sono note solo le relazioni locali per i singoli agenti ed il comportamento strutturale generale, mentre gli oggetti e gli eventi emergono in maniera non predeterminata come risultato di queste interazioni nello spazio e nel tempo. I risultati appaiono estremamente complessi ed eterogenei nella loro organizzazione spaziale, pur emergendo un set di elementi identificabili nella loro specifica singolarità (come ad esempio superfici, colonne, capriate etc...) ma che generano strutture continue, e creano grande differenziazione di densità e di disposizione dei singoli elementi all’interno della struttura. La ridondanza strutturale ottenuta è una scelta deliberata e permessa dall’automatizzazione della fase di costruzione attraverso la programmazione di robot, tramite i quali si intende realizzare un prototipo fisico delle strutture ottenute.