35 resultados para web-app, html5
em AMS Tesi di Laurea - Alm@DL - Università di Bologna
Resumo:
Al giorno d’oggi il World Wide Web non è più un semplice strumento per la condivisione di informazioni. Le tecnologie nate nel corso dell’ultimo decennio hanno permesso lo sviluppo di vere e proprie applicazioni Web (Web App) complesse, indipendenti e multi-utente in grado di fornire le stesse funzionalità delle normali applicazioni desktop. In questa tesi verranno trattate le caratteristiche di una Web App moderna, analizzandone l’evoluzione e il processo produttivo. Particolare attenzione sarà posta alle Web App distribuite e ai meccanismi di comunicazione client-server che queste nuove tecnologie hanno reso disponibili. I WebSocket, la tecnologia di riferimento di HTML5, saranno riportati come caso di studio e relazionati allo standard precedente ad HTML5, cioè Ajax e Long Polling.
Resumo:
Questa tesi riguarda un progetto svolto con l’azienda SMS.it di Bologna la quale, già specializzata nella pianificazione, nello sviluppo e nelle forniture di servizi di telefonia, ha commissionato l’implementazione di un’applicazione cross-platform che sia compatibile con la maggior parte possibile dei sistemi operativi per dispositivi mobili.
Resumo:
Il lavoro di questa tesi si basa sul definire quale metodo di programmazione di un'applicazione mobile risulti più idoneo per uno specifico ambiente di sviluppo web, che verrà introdotto nel terzo capitolo. In primis, questa dissertazione presenterà il mondo del mobile, analizzando il suo sviluppo tecnologico nel tempo e come, a causa di ciò, siano cambiati gli usi e i costumi delle attuali generazioni, riportando alcuni grafici che ci mostreranno questa rivoluzione e comparando la diffusione e l’uso odierno dei nuovi cellulari con quella dei PC. A tal proposito, verrà introdotto il concetto di smartphone, inteso come moderno cellulare dalle tantissime ed ampliabili funzionalità che rendono ormai indispensabile il suo utilizzo.
Resumo:
In questa tesi viene analizzato il concetto di mobilità elettrica e viene proposta un’applicazione per la gestione della propria auto elettrica. L'applicazione in questione si pone come scopo l’agevolazione delle interazioni dell’utente con l’auto a distanza. Analizzando le caratteristiche principali dell’auto elettrica, ne vengono delineati i benefici e le limitazioni dell’autonomia, per la quale si suggerisce soluzione tramite regole da adottare alla guida. Attraverso la comparazione con le tipologie di applicazioni esistenti per la mobilità si decide che genere di approccio adottare nella realizzazione della nostra applicazione. Seguono la descrizione delle tecnologie di sviluppo del progetto sotto forma di applicazione ibrida, tra le quali ci si sofferma sull'utilizzo di linguaggi di markup, fogli di stile e JavaScript lato client. Di quest’ultimo ne vengono elencate le API utilizzate, in particolare Google Maps e Google Charts. Successivamente si introduce il concetto di simulazione server ed i metodi e le tecniche adottate per renderlo effettivo. Infine vengono spiegate le scelte implementative nonché i metodi e le decisioni presi in ambito di sviluppo per realizzare al meglio l’applicazione, fornendo una presentazione dettagliata delle sue funzionalità.
Resumo:
Negli ultimi anni le Web application stanno assumendo un ruolo sempre più importante nella vita di ognuno di noi. Se fino a qualche anno fa eravamo abituati ad utilizzare quasi solamente delle applicazioni “native”, che venivano eseguite completamente all’interno del nostro Personal Computer, oggi invece molti utenti utilizzano i loro vari dispositivi quasi esclusivamente per accedere a delle Web application. Grazie alle applicazioni Web si sono potuti creare i cosiddetti social network come Facebook, che sta avendo un enorme successo in tutto il mondo ed ha rivoluzionato il modo di comunicare di molte persone. Inoltre molte applicazioni più tradizionali come le suite per ufficio, sono state trasformate in applicazioni Web come Google Docs, che aggiungono per esempio la possibilità di far lavorare più persone contemporanemente sullo stesso documento. Le Web applications stanno assumendo quindi un ruolo sempre più importante, e di conseguenza sta diventando fondamentale poter creare delle applicazioni Web in grado di poter competere con le applicazioni native, che siano quindi in grado di svolgere tutti i compiti che sono stati sempre tradizionalmente svolti dai computer. In questa Tesi ci proporremo quindi di analizzare le varie possibilità con le quali poter migliorare le applicazioni Web, sia dal punto di vista delle funzioni che esse possono svolgere, sia dal punto di vista della scalabilità. Dato che le applicazioni Web moderne hanno sempre di più la necessità di poter svolgere calcoli in modo concorrente e distribuito, analizzeremo un modello computazionale che si presta particolarmente per progettare questo tipo di software: il modello ad Attori. Vedremo poi, come caso di studio di framework per la realizzazione di applicazioni Web avanzate, il Play framework: esso si basa sulla piattaforma Akka di programmazione ad Attori, e permette di realizzare in modo semplice applicazioni Web estremamente potenti e scalabili. Dato che le Web application moderne devono avere già dalla nascita certi requisiti di scalabilità e fault tolerance, affronteremo il problema di come realizzare applicazioni Web predisposte per essere eseguite su piattaforme di Cloud Computing. In particolare vedremo come pubblicare una applicazione Web basata sul Play framework sulla piattaforma Heroku, un servizio di Cloud Computing PaaS.
Resumo:
Lo scopo della tesi è la progettazione e lo sviluppo di una web app che consenta a degli utenti (ristoratori) di registrare le prenotazioni del proprio locale, per potervi accedere successivamente. Il risultato ottenuto rispetta i vincoli di progetto e fornisce una soluzione efficiente al problema.
Resumo:
Il mondo di Internet ha vissuto un radicale e inarrestabile processo di rinnovamento nel corso dell'ultimo decennio. Nel giro di pochi anni, i siti che popolano il World Wide Web si sono evoluti divenendo vere e proprie applicazioni in grado di fornire un livello di interattività e di coinvolgimento fino ad allora impensabile. Il mondo del Web è mutato, e con esso quello dei browser, i quali assumono sempre più le conformazioni di "sistemi operativi nei sistemi operativi": si sono tramutati in complesse piattaforme di sviluppo in grado di fornire a programmatori e web designer potenti librerie e API relative a qualsiasi ambito, nonché avanzati strumenti di debugging. Numerosi standard che governano l'ecosistema di Internet hanno raggiunto la maturità in questo contesto: fra tutti HTML5, il quale ha arricchito enormemente le potenzialità di un browser introducendo nuovi strumenti orientati alla multimedialità e alla classificazione semantica delle risorse. Altri standard altrettanto importanti hanno visto la luce in questi anni, affermandosi e conquistando, nel giro di pochissimi anni, l'interesse di un'ampia platea di sviluppatori. E' il caso di WebGL, una potente e flessibile libreria grafica derivata dal mondo di OpenGL che ha aperto le porte al rendering di scene tridimensionali all'interno di un qualsiasi browser moderno. WebGL ha rappresentato un punto di svolta abbattendo un'ulteriore barriera tra il mondo del web che vive all'interno di un browser e la dimensione delle applicazioni native che popolano un sistema operativo, consolidando il già affermato concetto di web app che lentamente sta seppellendo l'idea di "sito" così come era stato concepito all'inizio del nuovo millennio. Scopo di questo elaborato è quello di fornire una panoramica delle principali funzionalità offerte dalla libreria WebGL (con una particolare attenzione per il supporto cross browser) e di analizzare le possibilità che essa offre, studiando e implementando i principali modelli di illuminazione e le tecniche di applicazione texture per definire un ambiente tridimensionale esplorabile e il più possibile realistico all'interno della dimensione del web.
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:
Attualmente il panorama informatico è dominato dai dispositivi mobile: smartphone e tablet pc dominano incontrastati la scena del mercato elettronico. Questo comporta un radicale ripensamento e cambiamento del software, le web app e le mobile application richiedono infatti una sempre maggiore reattività dell’interfaccia utente, la persistente connessione a Internet e l’interazione con una moltitudine di dispositivi esterni. Il progettista di software deve oggi far fronte a tutta una serie di problematiche, l’aumentata complessità dei sistemi e i sempre più ristretti tempi di sviluppo e consegna richiedono compromessi tra la semplicità delle tecniche di progettazione e l’efficienza del prodotto ottenuto. Le architetture ad eventi in primis, unitamente al paradigma di programmazione asincrona, si pongono come soluzione ottimale a queste esigenze. L’obbiettivo principale di questa tesi è quello di offrire una panoramica generale sullo stato dell’arte delle architetture ad eventi focalizzandosi sul ruolo che esse assumono nel contesto delle applicazioni moderne, intendendo principalmente con questo termine le web application e le mobile application. Partendo dal concetto di programmazione sincrona e parallela si giunge a descrivere un terzo modello, il modello asincrono, di fondamentale importanza per i sistemi event-driven. Utilizzando come principale linguaggio di riferimento JavaScript si affrontano le problematiche legate alla stesura del codice per la gestione degli eventi, l’asincronicità intrinseca degli eventi e l’utilizzo di funzioni di callback portano a produrre codice di difficile lettura e manutenzione. Si analizzano quindi in dettaglio i pattern fondamentali e le tecniche attualmente utilizzate per l’ottimizzazione della gestione del codice e delle problematiche esposte fornendo numerosi esempi esplicativi.
Resumo:
L’obiettivo della tesi è esplorare gli aspetti fondamentali che riguardano la programmazione asincrona, in particolare in JavaScript, analizzando le librerie e i metodi piu` diffusi per risolvere problemi tipici di asincronicità. Il motivo dello studio di JavaScript è il grande utilizzo di tale linguaggio per la costruzione delle moderne web-app. Per la realizzazione di questo elaborato si è partiti dallo studio dell’evoluzione del web, dal Web 1.0 al web 2.0 e dall’evoluzione delle web app in questo contesto, successivamente si è raffinata la ricerca allo studio più specifico di JavaScript e, di conseguenza, ai suoi costrutti ed ai suoi stili di programmazione, come la programmazione asincrona e la programmazione ad eventi.
Resumo:
La tesi descrive la progettazione e lo sviluppo di un network informativo accessibile come Web App e come app sullo store Android, sviluppato con architettura Client / Server grazie ad un sistema di API sviluppato parzialmente ad-hoc.
Resumo:
EPUB rappresenta attualmente uno dei formati più usati per distribuire pubblicazioni digitali (ebook): è uno standard aperto e libero, i cui scenari d'uso variano dall'utilizzo interno, da parte di editori e aziende di conversione, alle distribuzione e vendita. EPUB è basato sui principali standard web, come HTML5 e CSS ed è progettato per strutturare e renderizzare contenuto reflowable, ottimizzando così la presentazione per il sistema di lettura usato. L'uso di specifiche conosciute e ancora in fase di definizione assicura un alto livello di attenzione e una comunità vivace, ma introduce anche un certo livello di incertezza sui futuri sviluppi. Uno degli aspetti centrali di EPUB è l'apertura totale verso pratiche che rendano il contenuto accessibile a persone con disabilità. Questa apertura è dovuta in parte all'uso degli standard web sopracitati, ma anche dalla consapevolezza che il contenuto accessibile rappresenta un valore aggiunto di notevole entità sia per i fruitori (anche non disabili) sia per gli editori e gli autori (in termini di mercato), creando un circolo virtuoso. Un altro aspetto interessante di EPUB è il suo possibile uso nell'ambito e-learning. È stata creata una specifica (più precisamente un profilo) deputata esclusivamente a questo scopo: EDUPUB. Tale specifica è tuttora in una fase iniziale, poichè ancora in draft, ma può comunque risultare di sicuro interesse per tutti i soggetti già coinvolti nello sviluppo e nell'uso di EPUB e di tecnologie relative all'apprendimento elettronico.
Resumo:
Analisi, progettazione e implementazione di un' applicazione web per il matching tra domanda e offerta.
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.