Mobile Apps con Apache Cordova - Lo Stretto Digitalelostrettodigitale
The document discusses developing mobile apps using Apache Cordova and web technologies. It provides an overview of Cordova capabilities and plugins, instructions for setting up a Cordova project in Android, building and running the project locally and on devices, and debugging techniques. Tips are also given for UI design with Cordova and adding features like contacts management to a sample address book app.
Mobile Apps con Apache Cordova - Lo Stretto Digitalelostrettodigitale
The document discusses developing mobile apps using Apache Cordova and web technologies. It provides an overview of Cordova capabilities and plugins, instructions for setting up a Cordova project in Android, building and running the project locally and on devices, and debugging techniques. Tips are also given for UI design with Cordova and adding features like contacts management to a sample address book app.
Introduzione alla programmazione Android - Android@tulugIvan Gualandri
Prima lezione del corso android tenuto presso il TuLug (Tuscia Lug) A Viterbo. Le slides sono completamente in italiano (Slides are in italian! Sorry!)
Introduzione alla programmazione android - Android@tulug lezione 2Ivan Gualandri
Seconda lezione del corso android tenuto presso il TuLug (Tuscia Lug) A Viterbo. Le slides sono completamente in italiano (Slides are in italian! Sorry!)
SPRING - MAVEN - REST API (ITA - Luglio 2017)Valerio Radice
Introduzione al framework Java Spring e Maven per realizzare API REST.
Breve introduzione all'uso di Maven per configurare un progetto SpringBoot e realizzare un server REST.
Disponibile il codice dimostrativo su github (link nelle slide, attenzione alle branch).
Valerio Radice (valix85)
Luglio 2017
Wearable Lab: Progettazione per Apple WatchPaolo Musolino
Le applicazioni mobile hanno trovato diffusione su larga scala attraverso gli smartphone. Oggi queste app hanno un nuovo modo di essere portate in mobilità grazie ad Apple Watch, un dispositivo wearable capace di sfoggiare una interfaccia familiare come quella di iOS. Ma progettare app per l’Apple Watch pone gli sviluppatori e i designer di fronte ad una nuova sfida ancora più audace: con un piccolo schermo c’è molto meno spazio per l’interazione dell’utente. In questo lab tenuto a Todi Appy Days 2015, assieme all'amico Erik Peruzzi ho spiegato quali sono le possibilità offerta da Apple Watch, come farlo comunicare con iPhone, e cosa possiamo aspettarci nel breve periodo grazie all’introduzione di Watch OS 2.
Repository Pattern: Un buon design al servizio della testabilità.
Le slides si riferiscono al talk tenuto in Mikamai Milano durante i TDD Meetup di Milano, il 02/05/2017
Introduzione alla programmazione Android - Android@tulugIvan Gualandri
Prima lezione del corso android tenuto presso il TuLug (Tuscia Lug) A Viterbo. Le slides sono completamente in italiano (Slides are in italian! Sorry!)
Introduzione alla programmazione android - Android@tulug lezione 2Ivan Gualandri
Seconda lezione del corso android tenuto presso il TuLug (Tuscia Lug) A Viterbo. Le slides sono completamente in italiano (Slides are in italian! Sorry!)
SPRING - MAVEN - REST API (ITA - Luglio 2017)Valerio Radice
Introduzione al framework Java Spring e Maven per realizzare API REST.
Breve introduzione all'uso di Maven per configurare un progetto SpringBoot e realizzare un server REST.
Disponibile il codice dimostrativo su github (link nelle slide, attenzione alle branch).
Valerio Radice (valix85)
Luglio 2017
Wearable Lab: Progettazione per Apple WatchPaolo Musolino
Le applicazioni mobile hanno trovato diffusione su larga scala attraverso gli smartphone. Oggi queste app hanno un nuovo modo di essere portate in mobilità grazie ad Apple Watch, un dispositivo wearable capace di sfoggiare una interfaccia familiare come quella di iOS. Ma progettare app per l’Apple Watch pone gli sviluppatori e i designer di fronte ad una nuova sfida ancora più audace: con un piccolo schermo c’è molto meno spazio per l’interazione dell’utente. In questo lab tenuto a Todi Appy Days 2015, assieme all'amico Erik Peruzzi ho spiegato quali sono le possibilità offerta da Apple Watch, come farlo comunicare con iPhone, e cosa possiamo aspettarci nel breve periodo grazie all’introduzione di Watch OS 2.
Repository Pattern: Un buon design al servizio della testabilità.
Le slides si riferiscono al talk tenuto in Mikamai Milano durante i TDD Meetup di Milano, il 02/05/2017
The document provides a collection of links to resources about using HTML5 to build mobile apps, CSS media queries, flexible boxes, responsive design techniques, transitions and animations, icon fonts, Scalable Vector Graphics (SVG), and JavaScript libraries like D3.js and Snap.svg for interactive graphics. The links cover topics like targeting different screen sizes, environmental lighting responses, pointer media queries, flexbox layouts, relative units like rem, sidebar and modal transitions, tooltip menus, circular navigation, list effects, and Windows 8 style animations.
"Big Data e vissuto quotidiano" - Andrea Nucita per lo Stretto Digitalelostrettodigitale
The document discusses how big data in healthcare is being used. It provides examples of mobile applications that track patient data through their smartphones to monitor health metrics and provide behavioral therapy. One application tracks location, movement, calling and texting data from sensors in smartphones. Another supports medication adherence for chronic conditions through an interactive educational system. The document also mentions how the Apple M7 motion co-processor can contribute to health data collection.
"Big Data e vissuto quotidiano" - Massimo Villari per lo Stretto Digitalelostrettodigitale
This document contains summaries of multiple research projects related to cloud computing:
- The RESERVOIR project aimed to deliver better services for businesses and governments using cloud computing with increased efficiency and elasticity.
- The CloudWave project focused on agile service engineering for cloud computing through execution analysis, coordinated adaptation, and feedback-driven development.
- The VISION Cloud project sought to develop an infrastructure for reliable storage services in cloud computing through advanced capabilities like computational storage and content-centric access.
- Additional sections discuss challenges of data lock-in in cloud computing and the need for migration strategies and open standards.
Sviluppare apps native per iOS - Lo Stretto Digitale
1. Sviluppare app native perSviluppare app native per
iOSiOS
Gaspar e Novar aGaspar e Novar a
MESSINAMESSINA - 12- 12/07/2014/07/2014
2. PrerequisitiPrerequisiti
Che serve per iniziare?Che serve per iniziare?
Sistema Operativo:Sistema Operativo: OS X MavericksOS X Mavericks
Software: Xcode 5.1.1 (con iOS SDK 7 incluso)Software: Xcode 5.1.1 (con iOS SDK 7 incluso)
Know-how: Objective C (base)Know-how: Objective C (base)
Un database SQlite chiamato contatti.sqlite con questaUn database SQlite chiamato contatti.sqlite con questa
tabella: CREATE TABLE contact (nome TEXT, cognome TEXT,tabella: CREATE TABLE contact (nome TEXT, cognome TEXT,
cellulare TEXT)cellulare TEXT)
5. Primi passi in XcodePrimi passi in Xcode
I TemplateI Template
Master-Detail Application:Master-Detail Application: genera un’applicazione composta da unagenera un’applicazione composta da una
tabella, una barra di navigazione e una vista di dettaglio.tabella, una barra di navigazione e una vista di dettaglio.
Page-Based ApplicationPage-Based Application, fornisce una struttura “a pagine”, come una, fornisce una struttura “a pagine”, come una
sorta di libro, sfogliabile scorrendo il dito da destra verso sinistra.sorta di libro, sfogliabile scorrendo il dito da destra verso sinistra.
Single View ApplicationSingle View Application, fornisce un’applicazione vuota, senza, fornisce un’applicazione vuota, senza
nessuna implemen- tazione particolare.nessuna implemen- tazione particolare.
Tabbed ApplicationTabbed Application, fornisce un’applicazione con la “tab bar”, ovvero, fornisce un’applicazione con la “tab bar”, ovvero
la barra nera composta da più sezioni (ad esempio quella chela barra nera composta da più sezioni (ad esempio quella che
trovate nell’applicazione nativa “Musica”).trovate nell’applicazione nativa “Musica”).
Empty ApplicationEmpty Application, fornisce solo un delegato per la nostra, fornisce solo un delegato per la nostra
applicazione, senza nessun elemento grafico. È destinato agli utentiapplicazione, senza nessun elemento grafico. È destinato agli utenti
più esperti, che vogliono creare la loro struttura personalizzata.più esperti, che vogliono creare la loro struttura personalizzata.
8. Struttura App di baseStruttura App di base
Model: Contact di tipo NSObjectModel: Contact di tipo NSObject
DAO: classDatabase di tipo NSObjectDAO: classDatabase di tipo NSObject
Controller:Controller:
* ListaViewController di tipo UiViewController* ListaViewController di tipo UiViewController
* DetailViewController di tipo UiViewController* DetailViewController di tipo UiViewController
* AddViewController di tipo UiViewController* AddViewController di tipo UiViewController
Framework di supporto: libsqlite3.0.dylibFramework di supporto: libsqlite3.0.dylib
10. Parentesi: PropertyParentesi: Property
Le property sono metodi accessori, permettono di definire metodi per accedere indirettamente alle variabili di istanza che
essendo private non possono essere viste dall’esterno della classe in cui sono implementate. Questo meccanismo permette di
rispettare l’incapsulamento della programmazione orientata agli oggetti.
Per il metodo getter si usa getNomeIstanza;
Per il metodo setter si usa setNomeIstanza;
Attributi
Scrittura/lettura:
readwrite: indica che è richiesto sia il metodo get che il metodo set dell'attributo.
Readonly: indica che è richiesto solo il metodo get del'attributo
Assegnazione:
strong: l’oggetto che utilizza la property ne detiene la proprietà.
weak: l’oggetto che utilizza la property non ne detiene la proprietà.
copy: assegna una copia dell’oggetto alla property.
assign: indica che il metodo set userà semplicemente un assegnamento. Si usa principalmente per attributi scalari
come per esempio int e float
retain: l’oggetto viene trattenuto in memoria al momento dell’assegnazione.
Atomicità:
nonatomic: la property viene trattata in modo non atomico quando vengono utilizzate tecniche di
sincronizzazione.
14. La Classe DAOLa Classe DAO classDatabase.m
void = "a reference to some random chunk of memory with untyped/unknown contents" (es: definizione di metodi
che non ritornano alcun valore)
id = "a reference to some random Objective-C object of unknown class" (es: init,sender,initWithNibName)
15. La Classe DAOLa Classe DAO classDatabase.m
getContacts
* L’asterisco (*) viene chiamato operatore di indirezione o deferenziazione e restituisce il
contenuto dell’oggetto puntato dal puntatore;
* L’operatore “e commerciale” (&) restituisce l’indirizzo della variabile