845 resultados para javascript desktop mobile extjs
Resumo:
Questa tesi descrive la progettazione e lo sviluppo di un prototipo di web desktop con la tecnologia Google Web Toolkit, presso Wincor Nixdorf Retail Consulting srl.
Sviluppo di applicazioni Mobile Platform-Independent mediante tecnologie Web - Il Framework PhoneGap
Resumo:
Nell’ultimo decenno si è assisitito ad una frenetica evoluzione delle tecnologie di connessione e trasferimento dati, dagli impianti di fibra ottica sempre più diffusi e performanti, alle varie tecnologie mobile UMTS e LTE. Tutto ciò ha permesso a sempre più persone di poter spendere una maggiore fetta del proprio tempo sulla rete sia per svago che per lavoro. Questo ha portato col tempo l’utente interattivo alla ricerca di servizi remoti che prima usufruiva in locale, sia per motivi di portabilità e di interconnessione, sia per una semplice questione di sincronizzazione fra i vari dispositivi posseduti. Il presente progetto di tesi si pone come obiettivo di indagare con occhio ingegneristico all’evoluzione della struttura del web fino ad identificare e analizzare l’attuale necessità di poter avere in rete tutti quei servizi anche completi e strutturalmente complessi che prima si aveva sul proprio desktop; tutto ciò attraverso l’esempio di un nuovo linguaggio di sviluppo per applicazioni web strutturate proposto da Google: DART. In questa analisi non si potrà prescindere dallo studio attento della tecnologia che sin dagli inizi della rete ha fatto da struttura al web ovvero l’Html e il suo ultimo standard Hmtl5. Nella prima parte verrà mostrata, attraverso un breve percorso, la nascita e lo sviluppo del web, sino ai giorni nostri. Si effettuerà quindi una panoramica, rivisitando tutti più importanti passi che hanno portato la rete internet ad essere ciò che oggi utilizziamo, ponendo una particolare attenzione alle attuali esigenze di progettazione della struttura dei servizi web. Nel secondo capitolo viene introdotta la tecnologia a base del web, l’Html; attraverso una breve analisi dell’evoluzione di quest’ultima si arriverà sino all’attuale HTML5 e alle funzionalità offerte nell’ottica della programmazione web strutturata. Nel terzo capitolo si analizzerà in maniera più approfondita la necessità di un web strutturato e le potenzialità del progetto Dart attraverso alcuni esempi esplicativi. Infine si trarranno alcune conclusioni sull’attuale situazione del web, sulla necessità di un web strutturato e sulla possibilità di riuscita del progetto Dart.
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:
Negli ultimi anni il mondo del mobile computing ha avuto una vera e propria crescita esponenziale grazie soprattutto all'entrata in scena dello smartphone. In realtà, per essere più precisi, è bene bene sottolineare che gli smartphone esistevano già da tempo ma il loro utilizzo era in particolar modo indirizzato ai professionisti per il quale era, ma continua ad essere tutt'oggi, un valido supporto in campo lavorativo, basti pensare all'importanza della comunicazione via e-mail e non solo. Seppur comunque fossero già presenti da tempo, i primi smartphone non godevano di certo di un touch-screen sofisticato come quello odierno nè in essi erano presenti funzionalità tipiche dei dispositivi che troviamo ad oggi sul mercato. Una svolta decisiva è stata segnata dall'introduzione dell'iPhone e successivamente dell'AppStore, grazie a questi la programmazione per i dispositivi mobile ha preso sempre più piede diventando un vero e proprio business. In un secondo momento alla programmazione nativa si affiancarono le tecnologie web. Questo mio lavoro di tesi si pone l'obiettivo di studiare in primis la struttura, caratteristiche e peculiarità del sistema operativo iOS e analizzare il framework PhoneGap al fine di riuscire a confrontarne i vari aspetti fondamentali anche attraverso lo sviluppo di piccole applicazioni. Così facendo, quindi scendendo nei dettagli di quelle che possono essere le differenze rilevanti, mi pongo l'obiettivo di valutarne relativi pro e contro al fine di fare una scelta del tutto personale tra iOS e PhoneGap.
Resumo:
L'obiettivo di questo lavoro è chiarire ed approfondire il concetto di applicazione ibrida e porre in evidenza le differenze e i vantaggi che esse hanno, sia rispetto ad applicazioni native che ad applicazioni web. Si analizzeranno gli aspetti architetturali che definiscono un'applicazione ibrida e se ne approfondiranno le tecnologie di base con le quali è possibile svilupparle. Verranno, infine, trattati alcuni framework di riferimento come PhoneGap, che permettono di semplificare la creazione di questa tipologia di applicazioni.
Resumo:
Panoramica sullo stato dell’arte degli approcci di sviluppo di mobile app alternativi agli approcci nativi, e approfondimento ulteriore dell’analisi. Valutazione concreta del framework Titanium, il più interessante per architettura e offerta di componenti di UI nativi, realizzata mediante lo sviluppo di un'app e facendo quindi il confronto con lo sviluppo nativo.
Resumo:
Realizzazione di un'app mobile interpiattaforma tramite phonegap che permette la geolocalizzazione di utenti di un gruppo. Connessione Client-Server attraverso Websocket. Librerie di Socket.IO e mappe di Google Maps.
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:
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:
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:
Negli ultimi decenni abbiamo assistito ad una graduale evoluzione delle interfacce utente e della tecnologia. Sono stati introdotti nuovi dispositivi mobile e wearable che negli ultimi anni hanno subito un incremento tecnologico esponenziale arrivando a fondersi con la vita di tutti i giorni. Le classiche interfacce grafiche WIMP, la metafora del desktop e le linee guida di progettazione fino ad ora sviluppate non risultano ideali per la nuova tecnologia di wearable computing. Il proposito che la tesi vuole andare ad affrontare è proprio quello di indagare lo sviluppo di nuove user inteface basate sulla tecnologia wearable ed in particolare per smart glasses.
Resumo:
Il mondo degli smartphone, in particolare grazie all’avvento delle app, costituisce un settore che ha avuto negli ultimi anni una crescita tale, da richiedere l’introduzione di un nuovo termine in ambito finanziario: app economy. La crescente richiesta da parte del mercato di nuove opportunitá derivanti dal mondo delle applicazioni, ha aumentato sensibilmente il carico di lavoro richiesto alle software house specializzate,che hanno pertanto avuto la necessitá di adeguarsi a tale cambiamento. Per ovviare alle suddette problematiche, sono iniziati ad emergere due tool che consentono lo sviluppo di applicazioni multipiattaforma utilizzando un linguaggio ed un ambiente di sviluppo comuni. Tali sistemi consentono un risparmio in termini di tempi e costi, ma non sono in grado di competere con i tool nativi in termini di qualità del prodotto realizzato, in particolare per quanto concerne l'interfaccia grafica. Si propone pertanto un approccio che tenta di combinare i vantaggi di entrambe le soluzioni, al fine di ottimizzare la fluidità della UI, consentendo allo stesso tempo il riuso della logica applicativa.
Resumo:
Web surveys are becoming increasingly popular in survey research. Compared with face-to-face, telephone and mail surveys, web surveys may contain a different and new source of measurement error and bias: the type of device that respondents use to answer the survey questions. To the best of our knowledge, this is the first study that tests whether the use of mobile devices affects survey characteristics and stated preferences in a web-based choice experiment. The web survey was carried out in Germany with 3,400 respondents, of which 12 per cent used a mobile device (i.e. tablet or smartphone), and comprised a stated choice experiment on externalities of renewable energy production using wind, solar and biomass. Our main finding is that survey characteristics such as interview length and acquiescence tendency are affected by the device used. In contrast to what might be expected, we find that, compared with respondents using desktop computers and laptops, mobile device users spent more time to answer the survey and are less likely to be prone to acquiescence bias. In the choice experiment, mobile device users tended to be more consistent in their stated choices, and there are differences in willingness to pay between both subsamples.
Resumo:
Web surveys are becoming increasingly popular in survey research including stated preference surveys. Compared with face-to-face, telephone and mail surveys, web surveys may contain a different and new source of measurement error and bias: the type of device that respondents use to answer the survey questions. This is the first study that tests whether the use of mobile devices, tablets or smartphones, affects survey characteristics and stated preferences in a web-based choice experiment. The web survey on expanding renewable energy production in Germany was carried out with 3182 respondents, of which 12% used a mobile device. Propensity score matching is used to account for selection bias in the use of mobile devices for survey completion. We find that mobile device users spent more time than desktop/laptop users to answer the survey. Yet, desktop/laptop users and mobile device users do not differ in acquiescence tendency as an indicator of extreme response patterns. For mobile device users only, we find a negative correlation between screen size and interview length and a positive correlation between screen size and acquiescence tendency. In the choice experiment data, we do not find significant differences in the tendency to choose the status quo option and scale between both subsamples. However, some of the estimates of implicit prices differ, albeit not in a unidirectional fashion. Model results for mobile device users indicate a U-shaped relationship between error variance and screen size. Together, the results suggest that using mobile devices is not detrimental to survey quality.