SlideShare una empresa de Scribd logo
1 de 25
Descargar para leer sin conexión
La tua prima app per Ubuntu Touch
Credits image: http://mycolorscreen.com/2013/10/20/a-touch-of-ubuntu/
Autore: Flavius Florin Harabor
e-mail: ffinformaticus@gmail.com
Si inizia
Autore: Flavius Florin Harabor
e-mail: ffinformaticus@gmail.com
Che cosa ti serve?
Autore: Flavius Florin Harabor
e-mail: ffinformaticus@gmail.com
Come sempre se vuoi sviluppare qualcosa hai bisogno di tutta una serie di strumenti
A te in questo caso ti basterà avere una distro Ubuntu e Ubuntu SDK e il gioco è fatto.
Che cos'è Ubuntu SDK?
L'ambiente Ubuntu SDK o meglio il nuovo Software Developer Kit di Ubuntu, è un
ambiente di sviluppo completo di IDE e supporto per l'esecuzione di app sia dal lato
client desktop, ma anche dal lato dei device mobile come smartphone e tablet, con
Ubuntu.
Grazie al Ubuntu SDK si ha la possibilità di scrivere app con diversi framework come:
● QML, è un framework basato sul progetto Qt
➔ HTML5
➔ Scoper, è il framework che da la possibilità di creare e presentare il contenuto nella
Dash di Ubuntu
➔ OpenGL.
La guida per installare Ubuntu SDK la trovi qui => http://goo.gl/DViheL
Dopo aver scoperto cosa ci serve e di che cosa si tratta andiamo insieme a vedere che
cosa dobbiamo fare e come sviluppare la nostra prima applicazione per Ubuntu Touch,
che gira anche sulla nostra versione desktop di Ubuntu.
Questo è Ubuntu SDK
Autore: Flavius Florin Harabor
e-mail: ffinformaticus@gmail.com
Si inizia
Autore: Flavius Florin Harabor
e-mail: ffinformaticus@gmail.com
Una volta avviato Ubuntu SDK andare su File => New File or Project
Si continua con il passo due
Autore: Flavius Florin Harabor
e-mail: ffinformaticus@gmail.com
Nella nuova schermata selezionate nella colonna di sinistra la voce Ubuntu e poi
subito nella colonna centrale selezionate la voce Simple UI poi continuate.
Si continua con il passo tre
Autore: Flavius Florin Harabor
e-mail: ffinformaticus@gmail.com
In questa schermata selezionate lo spazio dove salvare le sorgenti della vostra
applicazione e anche il nome. Nel nostro caso si chiamerà HelloWorld.
Si continua con il passo quattro
Autore: Flavius Florin Harabor
e-mail: ffinformaticus@gmail.com
In questa schermata andate su Bazzare, questa funzione vi da la possibilità di creare le versioni della vostra
app in modo automatico, potete anche lasciala come nello screen. Alla fine di tutto cliccate su Finish.
Si continua con il passo quinto
Autore: Flavius Florin Harabor
e-mail: ffinformaticus@gmail.com
Ecco questa è la base della nostra applicazione. Il nostro IDE andrà a generare in automatico il codice base
da cui partire nello sviluppo di una prima applicazione per Ubuntu Touch.
Si continua con il passo quinto bis
Autore: Flavius Florin Harabor
e-mail: ffinformaticus@gmail.com
Se cliccate sul tasto a forma di punta di freccia ( quello verde, in basso a sinistra ) dovreste avere questo
primo risultato.
Si continua con il passo sesto
Autore: Flavius Florin Harabor
e-mail: ffinformaticus@gmail.com
Cliccando sul tasto Design ( quarto tasto dal panello a sinistra ) potete organizzare il design della vostra
applicazione aggiungendo nuove funzioni grafiche, che poi andrete ad implementare, per far si che esse
funzionino e rendano la vostra applicazione attiva e funzionante secondo i vostri gusti e idee.
Adesso che si fa?!?
Autore: Flavius Florin Harabor
e-mail: ffinformaticus@gmail.com
Bene adesso andiamo a vedere che cosa si può fare e come si può modificare questo codice.
Analizziamo e modifichiamo il
codice
Autore: Flavius Florin Harabor
e-mail: ffinformaticus@gmail.com
Questa sarà la nostra prima app Hello World, che abbiamo modificato e resa più nostra. Quindi andiamo ad
analizzare il codice sorgente, che sta dietro alla nostra prima applicazione base per Ubuntu Touch e Ubuntu
Desktop.
Analizziamo e modifichiamo il
codice
Autore: Flavius Florin Harabor
e-mail: ffinformaticus@gmail.com
Nel nostro file principale del progetto, cioè HelloWorld.gml troviamo tutta
la serie di parametri che implementano l'interfaccia della nostra
applicazione.
Ognuno di questi parametri è annidato con le parentesi graffe {}.
Il container (contenitore) principale è il MainView, al suo interno
troviamo poi Page, che al suo interno contiene Column,
HelloComponent e Button.
HelloComponent è definito fuori dalla nostra libreria e si trova nella
cartella components.
Analizziamo e modifichiamo il
codice
Autore: Flavius Florin Harabor
e-mail: ffinformaticus@gmail.com
Va detto e precisato sin da subito, che è necessario usare lo stesso
nome per il file del componente.
Questo metodo di includere così le varie componenti di un'applicazione,
ci consente di condividere il codice tra le varie applicazioni che andrete
ad implementare e sviluppare in futuro, ma anche di riutilizzarlo
all'interno dello stesso progetto. Vedremo più avanti che cosa contiene
questo file.
Visto che questa è una tipica abitudine della programmazione a oggetti,
colgo l'occasione di rimandarvi a un ripasso veloce
in queste pagine(clicca qui).
Analizziamo e modifichiamo il
codice
Autore: Flavius Florin Harabor
e-mail: ffinformaticus@gmail.com
Ritorniamo al nostro file principale del progetto.
Quindi, come dicevo prima, all'interno del nostro componente
HelloComponent abbiamo dichiarato l'id, la sua posizione all'interno
della finestra della nostra applicazione, la sua grandezza, il suo
objectName, il colore e per finire il testo e la sua dimensione.
Analizziamo e modifichiamo il
codice
Autore: Flavius Florin Harabor
e-mail: ffinformaticus@gmail.com
Come anticipato prima, esiste anche il componente Button, altro non è
che un componente tipico da Ubuntu e vi darà la possibilità di
implementare e visualizzare i vari pulsanti. Nella nostra applicazione
Hello World, ha lo scopo di cambiare il testo all'interno del componente
HelloComponent.
All'interno del componente Button abbiamo dichiarato la sua posizione
sull'asse x e asse y, la sua dimensione, il suo objectName, il suo colore,
il testo e la sua dimensione e per finire l'azione che deve svolgere una
volta azionato.
Cioè una volta cliccato, andrà a cambiare il testo all'interno del
HelloComponent.
Analizziamo e modifichiamo il
codice
Autore: Flavius Florin Harabor
e-mail: ffinformaticus@gmail.com
Nota Importante
All'interno del codice, della nostra applicazione, compare
frequentemente la dichiarazione text: i18n.tr() oppure title: i18n.tr().
Questa particolare dichiarazione ha lo scopo di rendere più facile
l'interpretazione e la traduzione da parte della funzione gettext.
Questa è una funzionalità principale e chiave del tool kit di Ubuntu User
Interface, è la capacità di scalare a tutti i form factor possibili definiti
dagli utenti.
Tutto ciò, ha portato il team di sviluppo nell'implementare e definire una
nuova unità di misura, cioè grid unit.
Una volta dichiarate e implementate le grid unit o gu, esse vengono
tradotte in pixel in funzione al tipo di schermo e del device sul quale
l'applicazione gira.
Esempio:
1 gu = 8 pixel => sullo schermo di un portatile
1 gu = 16 pixel => sullo schermo di un portatile retina
1 gu = 8 pixel => sullo schermo di uno smartphone
Quindi all'interno della nostra applicazione abbiamo implementato 1 gu
per lo spacing, e 2 gu per il margin.
Analizziamo e modifichiamo il
codice
Autore: Flavius Florin Harabor
e-mail: ffinformaticus@gmail.com
Continuando l'analisi del nostro codice sorgente, della nostra Hello
World e spostandoci nel container principale MainView, possiamo
trovare l'implementazione che decide la dimensione della nostra
applicazione, con altezza e larghezza.
Di default la nostra app viene generata con width: units.gu(100) e
height: units.gu(75) avendo per risultato questo:
Analizziamo e modifichiamo il
codice
Autore: Flavius Florin Harabor
e-mail: ffinformaticus@gmail.com
Invece io per comodità ho utilizzato questa implementazione: width:
500 e height: 400, avendo per risultato questo:
Cioè mi trovo ad avere una schermata della mia applicazione più
piccola e non direttamente proporzionale al mio schermo. La chiave
della dimensione dell'applicazione sta nell'unità di misura GU, come
detto precedentemente.
Va detto che è importante lavorare sulle dimensioni in base
all'implementazione imposta dal tool kit di Ubuntu.
Analizziamo e modifichiamo il
codice
Autore: Flavius Florin Harabor
e-mail: ffinformaticus@gmail.com
Visto che prima abbiamo parlato del HelloComponent.qml, andiamo a
prendere in considerazione anche questo file del nostro progetto e
vediamo che cosa fa di preciso.
Al suo interno troviamo il compomente UbuntuShape, che è quello che
genera il rettangolo arrotondato, poi all'interno del componente
UbuntuShape troviamo anche Lable.
Analizziamo e modifichiamo il
codice
Autore: Flavius Florin Harabor
e-mail: ffinformaticus@gmail.com
Label ha al suo interno l'id myText e il parametro che indica il testo
centrato.
Label ha una priorità text che può essere utilizzata per impostare il testo
della lable, in più questa funzione può essere utile ad impostare il suo
valore anche al di fuori del HelloComponent e negli altri file sorgenti
della nostra applicazione.
Per questo motivo viene definita prima la funzione property alias text :
myText.text. Questa riga di codice non fa altro che creare un alias per la
priorità di myText.text e lo rende disponibile a tutti i componenti con
alias text.
Altre app per Ubuntu Touch
Questo è uno dei due o tre appuntamenti dedicati a questo argomento, nel mentre vi
lascio un link che vi mostra come installare e testare sulla vostra distro Ubuntu, dalla
12.04 LTS fino alla 14.04 LTS, tutte le varie app per Ubuntu Touch che in questo
periodo sono state sviluppate da altre persone:
http://goo.gl/6QCaCl
Autore: Flavius Florin Harabor
e-mail: ffinformaticus@gmail.com
Nota:
Voi che avete installato già Ubuntu SDK, l'ultimo comando che dovete
dare, è il seguente =>> $ sudo apt-get install touch-coreapps
Si inizia
Autore: Flavius Florin Harabor
e-mail: ffinformaticus@gmail.com
Fonte img: http://www.unapsicologaroma.it/2013/03/20/quando-si-dice-unilluminazione/
Link >>> Fonti >>> Note
Note:
➔ Questo è solo una parte riassuntiva di quello che è il mondo
Android e il suo cuore pulsante, non è una vera guida per
iniziare a sviluppare le tue applicazioni.
➔ Tutte le foto/immagini, presenti all'interno di queste slide sono
reperibili in rete e appartengono ai legittimi proprietari.
➔ Ricordo inoltre, che queste slide e questo lavoro sono coperte
dalla CC v.4.
➔ Grazie a Benedetto Nespoli Bloggh Idee e Massimiliano Vigliotta,
per le correzioni e le mie piccole sviste
Autore: Flavius Florin Harabor
e-mail: ffinformaticus@gmail.com
➔ https://wiki.ubuntu.com/Touch/Install
➔
➔ http://developer.ubuntu.com/
➔
➔ http://developer.ubuntu.com/web/tutorial/
➔
➔ https://plus.google.com/u/0/communities/111350780270925540549
➔
➔ http://askubuntu.com/questions/tagged/application-development
➔
➔ http://developer.ubuntu.com/api/qml/sdk-1.0/
➔
➔ https://wiki.ubuntu.com/Touch/Devices/
➔
➔ http://askubuntu.com/questions/235763/why-ubuntu-components-0-1-missing-from
-qtcreator
CODICE SORGENTE Clicca Qui
USA LA FANTASIA
Accendi il cervello

Más contenido relacionado

La actualidad más candente

Italian C++ MeetUp - 24/10/2015
Italian C++ MeetUp - 24/10/2015Italian C++ MeetUp - 24/10/2015
Italian C++ MeetUp - 24/10/2015Gaetano Paternò
 
Il tuo primo sito web (senza ansie) con WordPress
Il tuo primo sito web (senza ansie) con WordPressIl tuo primo sito web (senza ansie) con WordPress
Il tuo primo sito web (senza ansie) con WordPressLaura Lonighi
 
Realizzare un sito con Wordpress come installazione pulità
Realizzare un sito con Wordpress come installazione pulitàRealizzare un sito con Wordpress come installazione pulità
Realizzare un sito con Wordpress come installazione pulitàMarco Consiglio
 
Tech Webinar: Firefox Developer Tool
Tech Webinar: Firefox Developer ToolTech Webinar: Firefox Developer Tool
Tech Webinar: Firefox Developer ToolCodemotion
 
EtnaDev 2015 - Windows Bridge
EtnaDev 2015 - Windows BridgeEtnaDev 2015 - Windows Bridge
EtnaDev 2015 - Windows BridgeGaetano Paternò
 
Sicurezza WordPress: rendere il tuo sito sicuro in 10 passi
Sicurezza WordPress: rendere il tuo sito sicuro in 10 passiSicurezza WordPress: rendere il tuo sito sicuro in 10 passi
Sicurezza WordPress: rendere il tuo sito sicuro in 10 passiLaura Lonighi
 
Guide per WordPress: come scrivere, editare e pubblicare articoli
Guide per WordPress: come scrivere, editare e pubblicare articoliGuide per WordPress: come scrivere, editare e pubblicare articoli
Guide per WordPress: come scrivere, editare e pubblicare articoliSalvatore Capolupo
 
Corso Pratico di WordPress
Corso Pratico di WordPressCorso Pratico di WordPress
Corso Pratico di WordPressNicola Strumia
 
WPext a better and more extended WordPress
WPext a better and more extended WordPressWPext a better and more extended WordPress
WPext a better and more extended WordPressWeb che Funziona
 
Attivitá per il corso di autoformazione del 12 aprile
Attivitá per il corso di autoformazione del 12 aprileAttivitá per il corso di autoformazione del 12 aprile
Attivitá per il corso di autoformazione del 12 aprilelorenzoaresi
 
WordPress 101 – Freelance Day - 24 ottobre 2015
WordPress 101 – Freelance Day - 24 ottobre 2015WordPress 101 – Freelance Day - 24 ottobre 2015
WordPress 101 – Freelance Day - 24 ottobre 2015Toolbox Coworking
 
Elementor: esploriamo le possibilità del page builder più scaricato al mondo
Elementor: esploriamo le possibilità del page builder più scaricato al mondoElementor: esploriamo le possibilità del page builder più scaricato al mondo
Elementor: esploriamo le possibilità del page builder più scaricato al mondoSiteGround.com
 
Corso Web 2.0: Diario di viaggio
Corso Web 2.0: Diario di viaggioCorso Web 2.0: Diario di viaggio
Corso Web 2.0: Diario di viaggioRoberto Polillo
 
Estensioni di google chrome per sviluppatori
Estensioni di google chrome per sviluppatoriEstensioni di google chrome per sviluppatori
Estensioni di google chrome per sviluppatoriMartina Perin
 
Bene, usiamo WordPress.
Bene, usiamo WordPress.Bene, usiamo WordPress.
Bene, usiamo WordPress.Paolo Valenti
 

La actualidad más candente (19)

WordPress Facilissimo: guida base
WordPress Facilissimo: guida base WordPress Facilissimo: guida base
WordPress Facilissimo: guida base
 
Corso Android
Corso AndroidCorso Android
Corso Android
 
Google chrome
Google chromeGoogle chrome
Google chrome
 
Italian C++ MeetUp - 24/10/2015
Italian C++ MeetUp - 24/10/2015Italian C++ MeetUp - 24/10/2015
Italian C++ MeetUp - 24/10/2015
 
Il tuo primo sito web (senza ansie) con WordPress
Il tuo primo sito web (senza ansie) con WordPressIl tuo primo sito web (senza ansie) con WordPress
Il tuo primo sito web (senza ansie) con WordPress
 
Realizzare un sito con Wordpress come installazione pulità
Realizzare un sito con Wordpress come installazione pulitàRealizzare un sito con Wordpress come installazione pulità
Realizzare un sito con Wordpress come installazione pulità
 
Tech Webinar: Firefox Developer Tool
Tech Webinar: Firefox Developer ToolTech Webinar: Firefox Developer Tool
Tech Webinar: Firefox Developer Tool
 
EtnaDev 2015 - Windows Bridge
EtnaDev 2015 - Windows BridgeEtnaDev 2015 - Windows Bridge
EtnaDev 2015 - Windows Bridge
 
Sicurezza WordPress: rendere il tuo sito sicuro in 10 passi
Sicurezza WordPress: rendere il tuo sito sicuro in 10 passiSicurezza WordPress: rendere il tuo sito sicuro in 10 passi
Sicurezza WordPress: rendere il tuo sito sicuro in 10 passi
 
Guide per WordPress: come scrivere, editare e pubblicare articoli
Guide per WordPress: come scrivere, editare e pubblicare articoliGuide per WordPress: come scrivere, editare e pubblicare articoli
Guide per WordPress: come scrivere, editare e pubblicare articoli
 
Corso Pratico di WordPress
Corso Pratico di WordPressCorso Pratico di WordPress
Corso Pratico di WordPress
 
WPext a better and more extended WordPress
WPext a better and more extended WordPressWPext a better and more extended WordPress
WPext a better and more extended WordPress
 
Attivitá per il corso di autoformazione del 12 aprile
Attivitá per il corso di autoformazione del 12 aprileAttivitá per il corso di autoformazione del 12 aprile
Attivitá per il corso di autoformazione del 12 aprile
 
WordPress 101 – Freelance Day - 24 ottobre 2015
WordPress 101 – Freelance Day - 24 ottobre 2015WordPress 101 – Freelance Day - 24 ottobre 2015
WordPress 101 – Freelance Day - 24 ottobre 2015
 
Elementor: esploriamo le possibilità del page builder più scaricato al mondo
Elementor: esploriamo le possibilità del page builder più scaricato al mondoElementor: esploriamo le possibilità del page builder più scaricato al mondo
Elementor: esploriamo le possibilità del page builder più scaricato al mondo
 
Corso Web 2.0: Diario di viaggio
Corso Web 2.0: Diario di viaggioCorso Web 2.0: Diario di viaggio
Corso Web 2.0: Diario di viaggio
 
Weebly
WeeblyWeebly
Weebly
 
Estensioni di google chrome per sviluppatori
Estensioni di google chrome per sviluppatoriEstensioni di google chrome per sviluppatori
Estensioni di google chrome per sviluppatori
 
Bene, usiamo WordPress.
Bene, usiamo WordPress.Bene, usiamo WordPress.
Bene, usiamo WordPress.
 

Destacado

Telegram for Business Smau Milano 2016
Telegram for Business Smau Milano 2016Telegram for Business Smau Milano 2016
Telegram for Business Smau Milano 2016Flavius-Florin Harabor
 
Presentazione App CITTA' IN TASCA per IOS e Android
Presentazione App CITTA' IN TASCA per IOS e AndroidPresentazione App CITTA' IN TASCA per IOS e Android
Presentazione App CITTA' IN TASCA per IOS e AndroidCristina Gioca
 
Pycon india-2016-success-story
Pycon india-2016-success-storyPycon india-2016-success-story
Pycon india-2016-success-storyChetan Khatri
 
Sistemi Operativi: Introduzione - Lezione 01
Sistemi Operativi: Introduzione - Lezione 01Sistemi Operativi: Introduzione - Lezione 01
Sistemi Operativi: Introduzione - Lezione 01Majong DevJfu
 
SolarWinds Federal Cybersecurity Survey 2016
SolarWinds Federal Cybersecurity Survey 2016SolarWinds Federal Cybersecurity Survey 2016
SolarWinds Federal Cybersecurity Survey 2016SolarWinds
 
SQL Tutorial for Marketers
SQL Tutorial for MarketersSQL Tutorial for Marketers
SQL Tutorial for MarketersJustin Mares
 
Volatile Memory: Behavioral Game Theory in Defensive Security
Volatile Memory: Behavioral Game Theory in Defensive SecurityVolatile Memory: Behavioral Game Theory in Defensive Security
Volatile Memory: Behavioral Game Theory in Defensive SecurityKelly Shortridge
 
Secure Your REST API (The Right Way)
Secure Your REST API (The Right Way)Secure Your REST API (The Right Way)
Secure Your REST API (The Right Way)Stormpath
 

Destacado (11)

Telegram for Business Smau Milano 2016
Telegram for Business Smau Milano 2016Telegram for Business Smau Milano 2016
Telegram for Business Smau Milano 2016
 
Le app di Hootsuite
Le app di HootsuiteLe app di Hootsuite
Le app di Hootsuite
 
Presentazione App CITTA' IN TASCA per IOS e Android
Presentazione App CITTA' IN TASCA per IOS e AndroidPresentazione App CITTA' IN TASCA per IOS e Android
Presentazione App CITTA' IN TASCA per IOS e Android
 
Social Chat App
Social Chat AppSocial Chat App
Social Chat App
 
Pycon india-2016-success-story
Pycon india-2016-success-storyPycon india-2016-success-story
Pycon india-2016-success-story
 
Sistemi Operativi: Introduzione - Lezione 01
Sistemi Operativi: Introduzione - Lezione 01Sistemi Operativi: Introduzione - Lezione 01
Sistemi Operativi: Introduzione - Lezione 01
 
SolarWinds Federal Cybersecurity Survey 2016
SolarWinds Federal Cybersecurity Survey 2016SolarWinds Federal Cybersecurity Survey 2016
SolarWinds Federal Cybersecurity Survey 2016
 
SQL Tutorial for Marketers
SQL Tutorial for MarketersSQL Tutorial for Marketers
SQL Tutorial for Marketers
 
7APP corporate brochure
7APP corporate brochure 7APP corporate brochure
7APP corporate brochure
 
Volatile Memory: Behavioral Game Theory in Defensive Security
Volatile Memory: Behavioral Game Theory in Defensive SecurityVolatile Memory: Behavioral Game Theory in Defensive Security
Volatile Memory: Behavioral Game Theory in Defensive Security
 
Secure Your REST API (The Right Way)
Secure Your REST API (The Right Way)Secure Your REST API (The Right Way)
Secure Your REST API (The Right Way)
 

Similar a La tua prima app per Ubuntu Touch

Designing Flex and AIR applications
Designing Flex and AIR applicationsDesigning Flex and AIR applications
Designing Flex and AIR applicationsmarcocasario
 
Corso di Basi e Fondamenti di Programmazione in C++ Lezione 1
Corso di Basi e Fondamenti di Programmazione in C++ Lezione 1Corso di Basi e Fondamenti di Programmazione in C++ Lezione 1
Corso di Basi e Fondamenti di Programmazione in C++ Lezione 1Daniele Falamesca
 
Xamarin: Shared Library and Portable Class Library - Aristide Di Francesco - ...
Xamarin: Shared Library and Portable Class Library - Aristide Di Francesco - ...Xamarin: Shared Library and Portable Class Library - Aristide Di Francesco - ...
Xamarin: Shared Library and Portable Class Library - Aristide Di Francesco - ...Codemotion
 
GUI in Gtk+ con Glade & Anjuta
GUI in Gtk+ con Glade & AnjutaGUI in Gtk+ con Glade & Anjuta
GUI in Gtk+ con Glade & Anjutadelfinostefano
 
Google Chrome Extensions & Plugin vs Firefox
Google Chrome Extensions & Plugin vs FirefoxGoogle Chrome Extensions & Plugin vs Firefox
Google Chrome Extensions & Plugin vs FirefoxWikiCorsoWeb
 
Processing -guida_introduttiva_alla_pro
Processing  -guida_introduttiva_alla_proProcessing  -guida_introduttiva_alla_pro
Processing -guida_introduttiva_alla_proAlberto Cecchi
 
Preparazione materiale web
Preparazione materiale webPreparazione materiale web
Preparazione materiale webalyalethebest
 
Presentazione Andreacannella
Presentazione AndreacannellaPresentazione Andreacannella
Presentazione AndreacannellaAndrea Cannella
 
Presentazione Andrea Cannella Linux Day Scicli 2009
Presentazione Andrea Cannella Linux Day Scicli 2009Presentazione Andrea Cannella Linux Day Scicli 2009
Presentazione Andrea Cannella Linux Day Scicli 2009guest97f362
 
Profilazione di applicazioni PHP con XHProf.
Profilazione di applicazioni PHP con XHProf.Profilazione di applicazioni PHP con XHProf.
Profilazione di applicazioni PHP con XHProf.Filippo Matteo Riggio
 
Google Chrome & Mozilla Firefox - Plugins & Extensions
Google Chrome & Mozilla Firefox - Plugins & ExtensionsGoogle Chrome & Mozilla Firefox - Plugins & Extensions
Google Chrome & Mozilla Firefox - Plugins & ExtensionsValeria Gennari
 
Installazione Qt/Qt Quick per target Android
Installazione Qt/Qt Quick  per target AndroidInstallazione Qt/Qt Quick  per target Android
Installazione Qt/Qt Quick per target AndroidPaolo Sereno
 
Open source un'opportunità di business
Open source un'opportunità di businessOpen source un'opportunità di business
Open source un'opportunità di businessRoberto Falla
 
Hosting: installare app su Hosting Linux con gli installer automatici #TipOf...
Hosting: installare app su Hosting Linux con gli installer automatici  #TipOf...Hosting: installare app su Hosting Linux con gli installer automatici  #TipOf...
Hosting: installare app su Hosting Linux con gli installer automatici #TipOf...Aruba S.p.A.
 
Il software applicativo
Il software applicativoIl software applicativo
Il software applicativoalyssandrea
 

Similar a La tua prima app per Ubuntu Touch (20)

Designing Flex and AIR applications
Designing Flex and AIR applicationsDesigning Flex and AIR applications
Designing Flex and AIR applications
 
Corso di Basi e Fondamenti di Programmazione in C++ Lezione 1
Corso di Basi e Fondamenti di Programmazione in C++ Lezione 1Corso di Basi e Fondamenti di Programmazione in C++ Lezione 1
Corso di Basi e Fondamenti di Programmazione in C++ Lezione 1
 
Xamarin: Shared Library and Portable Class Library - Aristide Di Francesco - ...
Xamarin: Shared Library and Portable Class Library - Aristide Di Francesco - ...Xamarin: Shared Library and Portable Class Library - Aristide Di Francesco - ...
Xamarin: Shared Library and Portable Class Library - Aristide Di Francesco - ...
 
GUI in Gtk+ con Glade & Anjuta
GUI in Gtk+ con Glade & AnjutaGUI in Gtk+ con Glade & Anjuta
GUI in Gtk+ con Glade & Anjuta
 
Google Chrome Extensions & Plugin vs Firefox
Google Chrome Extensions & Plugin vs FirefoxGoogle Chrome Extensions & Plugin vs Firefox
Google Chrome Extensions & Plugin vs Firefox
 
Processing -guida_introduttiva_alla_pro
Processing  -guida_introduttiva_alla_proProcessing  -guida_introduttiva_alla_pro
Processing -guida_introduttiva_alla_pro
 
Preparazione materiale web
Preparazione materiale webPreparazione materiale web
Preparazione materiale web
 
Software
SoftwareSoftware
Software
 
Presentazione Andreacannella
Presentazione AndreacannellaPresentazione Andreacannella
Presentazione Andreacannella
 
Presentazione Andrea Cannella Linux Day Scicli 2009
Presentazione Andrea Cannella Linux Day Scicli 2009Presentazione Andrea Cannella Linux Day Scicli 2009
Presentazione Andrea Cannella Linux Day Scicli 2009
 
Profilazione di applicazioni PHP con XHProf.
Profilazione di applicazioni PHP con XHProf.Profilazione di applicazioni PHP con XHProf.
Profilazione di applicazioni PHP con XHProf.
 
Google Chrome & Mozilla Firefox - Plugins & Extensions
Google Chrome & Mozilla Firefox - Plugins & ExtensionsGoogle Chrome & Mozilla Firefox - Plugins & Extensions
Google Chrome & Mozilla Firefox - Plugins & Extensions
 
Installazione Qt/Qt Quick per target Android
Installazione Qt/Qt Quick  per target AndroidInstallazione Qt/Qt Quick  per target Android
Installazione Qt/Qt Quick per target Android
 
Open source un'opportunità di business
Open source un'opportunità di businessOpen source un'opportunità di business
Open source un'opportunità di business
 
Hosting: installare app su Hosting Linux con gli installer automatici #TipOf...
Hosting: installare app su Hosting Linux con gli installer automatici  #TipOf...Hosting: installare app su Hosting Linux con gli installer automatici  #TipOf...
Hosting: installare app su Hosting Linux con gli installer automatici #TipOf...
 
Guida Inno
Guida InnoGuida Inno
Guida Inno
 
Flash vs jQuery
Flash vs jQueryFlash vs jQuery
Flash vs jQuery
 
Wp app studio_new
Wp app studio_newWp app studio_new
Wp app studio_new
 
Il software applicativo
Il software applicativoIl software applicativo
Il software applicativo
 
Conferenza Pymaemo
Conferenza PymaemoConferenza Pymaemo
Conferenza Pymaemo
 

Más de Flavius-Florin Harabor

Telegram is the Future 2020: alla scoperta di Telegram
Telegram is the Future 2020: alla scoperta di TelegramTelegram is the Future 2020: alla scoperta di Telegram
Telegram is the Future 2020: alla scoperta di TelegramFlavius-Florin Harabor
 
Apericorso DigiWeb: Telegram for business
Apericorso DigiWeb: Telegram for businessApericorso DigiWeb: Telegram for business
Apericorso DigiWeb: Telegram for businessFlavius-Florin Harabor
 
WMF 2020 - Telegram un modo di comunicare diverso dal solito
WMF 2020 - Telegram un modo di comunicare diverso dal solitoWMF 2020 - Telegram un modo di comunicare diverso dal solito
WMF 2020 - Telegram un modo di comunicare diverso dal solitoFlavius-Florin Harabor
 
Telegram e WhatsApp Business: metodi alternativi per fare Mobile Marketing
Telegram e WhatsApp Business: metodi alternativi per fare Mobile MarketingTelegram e WhatsApp Business: metodi alternativi per fare Mobile Marketing
Telegram e WhatsApp Business: metodi alternativi per fare Mobile MarketingFlavius-Florin Harabor
 
Telegram vs WhatsApp for Business, quale scegliere?
Telegram vs WhatsApp for Business, quale scegliere?Telegram vs WhatsApp for Business, quale scegliere?
Telegram vs WhatsApp for Business, quale scegliere?Flavius-Florin Harabor
 
Telegram vs WhatsApp for Business, quale scegliere?
Telegram vs WhatsApp for Business, quale scegliere?Telegram vs WhatsApp for Business, quale scegliere?
Telegram vs WhatsApp for Business, quale scegliere?Flavius-Florin Harabor
 
Usare i bot e le chatbot di Telegram, per una miglior integrazione con i tuoi...
Usare i bot e le chatbot di Telegram, per una miglior integrazione con i tuoi...Usare i bot e le chatbot di Telegram, per una miglior integrazione con i tuoi...
Usare i bot e le chatbot di Telegram, per una miglior integrazione con i tuoi...Flavius-Florin Harabor
 
InsideTelegram & #Digitaltoolitalia a Huckletree Londra
InsideTelegram & #Digitaltoolitalia a Huckletree LondraInsideTelegram & #Digitaltoolitalia a Huckletree Londra
InsideTelegram & #Digitaltoolitalia a Huckletree LondraFlavius-Florin Harabor
 
Seo zoo: webinar telegram for business
Seo zoo: webinar telegram for businessSeo zoo: webinar telegram for business
Seo zoo: webinar telegram for businessFlavius-Florin Harabor
 
[SMAU 2017] Telegram for business: Il futuro della comunicazione?
[SMAU 2017] Telegram for business: Il futuro della comunicazione?[SMAU 2017] Telegram for business: Il futuro della comunicazione?
[SMAU 2017] Telegram for business: Il futuro della comunicazione?Flavius-Florin Harabor
 
Telegram for Business: ChatBot, Canali ed altro per le nuove strategie di com...
Telegram for Business: ChatBot, Canali ed altro per le nuove strategie di com...Telegram for Business: ChatBot, Canali ed altro per le nuove strategie di com...
Telegram for Business: ChatBot, Canali ed altro per le nuove strategie di com...Flavius-Florin Harabor
 
Telegram for business: scopri come usarlo
Telegram for business: scopri come usarloTelegram for business: scopri come usarlo
Telegram for business: scopri come usarloFlavius-Florin Harabor
 
Node js: che cos'è e a che cosa serve?
Node js: che cos'è e a che cosa serve?Node js: che cos'è e a che cosa serve?
Node js: che cos'è e a che cosa serve?Flavius-Florin Harabor
 

Más de Flavius-Florin Harabor (16)

Telegram is the Future 2020: alla scoperta di Telegram
Telegram is the Future 2020: alla scoperta di TelegramTelegram is the Future 2020: alla scoperta di Telegram
Telegram is the Future 2020: alla scoperta di Telegram
 
Apericorso DigiWeb: Telegram for business
Apericorso DigiWeb: Telegram for businessApericorso DigiWeb: Telegram for business
Apericorso DigiWeb: Telegram for business
 
WMF 2020 - Telegram un modo di comunicare diverso dal solito
WMF 2020 - Telegram un modo di comunicare diverso dal solitoWMF 2020 - Telegram un modo di comunicare diverso dal solito
WMF 2020 - Telegram un modo di comunicare diverso dal solito
 
Telegram e WhatsApp Business: metodi alternativi per fare Mobile Marketing
Telegram e WhatsApp Business: metodi alternativi per fare Mobile MarketingTelegram e WhatsApp Business: metodi alternativi per fare Mobile Marketing
Telegram e WhatsApp Business: metodi alternativi per fare Mobile Marketing
 
Telegram vs WhatsApp for Business, quale scegliere?
Telegram vs WhatsApp for Business, quale scegliere?Telegram vs WhatsApp for Business, quale scegliere?
Telegram vs WhatsApp for Business, quale scegliere?
 
Telegram vs WhatsApp for Business, quale scegliere?
Telegram vs WhatsApp for Business, quale scegliere?Telegram vs WhatsApp for Business, quale scegliere?
Telegram vs WhatsApp for Business, quale scegliere?
 
Usare i bot e le chatbot di Telegram, per una miglior integrazione con i tuoi...
Usare i bot e le chatbot di Telegram, per una miglior integrazione con i tuoi...Usare i bot e le chatbot di Telegram, per una miglior integrazione con i tuoi...
Usare i bot e le chatbot di Telegram, per una miglior integrazione con i tuoi...
 
InsideTelegram & #Digitaltoolitalia a Huckletree Londra
InsideTelegram & #Digitaltoolitalia a Huckletree LondraInsideTelegram & #Digitaltoolitalia a Huckletree Londra
InsideTelegram & #Digitaltoolitalia a Huckletree Londra
 
Seo zoo: webinar telegram for business
Seo zoo: webinar telegram for businessSeo zoo: webinar telegram for business
Seo zoo: webinar telegram for business
 
[SMAU 2017] Telegram for business: Il futuro della comunicazione?
[SMAU 2017] Telegram for business: Il futuro della comunicazione?[SMAU 2017] Telegram for business: Il futuro della comunicazione?
[SMAU 2017] Telegram for business: Il futuro della comunicazione?
 
Smwirome 15-09-2017
Smwirome 15-09-2017Smwirome 15-09-2017
Smwirome 15-09-2017
 
Telegram for Business: ChatBot, Canali ed altro per le nuove strategie di com...
Telegram for Business: ChatBot, Canali ed altro per le nuove strategie di com...Telegram for Business: ChatBot, Canali ed altro per le nuove strategie di com...
Telegram for Business: ChatBot, Canali ed altro per le nuove strategie di com...
 
Telegram for business: scopri come usarlo
Telegram for business: scopri come usarloTelegram for business: scopri come usarlo
Telegram for business: scopri come usarlo
 
Node js: che cos'è e a che cosa serve?
Node js: che cos'è e a che cosa serve?Node js: che cos'è e a che cosa serve?
Node js: che cos'è e a che cosa serve?
 
Le licenze Creative Commons
Le licenze Creative CommonsLe licenze Creative Commons
Le licenze Creative Commons
 
HCI -> Human Computer Interaction
HCI -> Human Computer InteractionHCI -> Human Computer Interaction
HCI -> Human Computer Interaction
 

La tua prima app per Ubuntu Touch

  • 1. La tua prima app per Ubuntu Touch Credits image: http://mycolorscreen.com/2013/10/20/a-touch-of-ubuntu/ Autore: Flavius Florin Harabor e-mail: ffinformaticus@gmail.com
  • 2. Si inizia Autore: Flavius Florin Harabor e-mail: ffinformaticus@gmail.com
  • 3. Che cosa ti serve? Autore: Flavius Florin Harabor e-mail: ffinformaticus@gmail.com Come sempre se vuoi sviluppare qualcosa hai bisogno di tutta una serie di strumenti A te in questo caso ti basterà avere una distro Ubuntu e Ubuntu SDK e il gioco è fatto. Che cos'è Ubuntu SDK? L'ambiente Ubuntu SDK o meglio il nuovo Software Developer Kit di Ubuntu, è un ambiente di sviluppo completo di IDE e supporto per l'esecuzione di app sia dal lato client desktop, ma anche dal lato dei device mobile come smartphone e tablet, con Ubuntu. Grazie al Ubuntu SDK si ha la possibilità di scrivere app con diversi framework come: ● QML, è un framework basato sul progetto Qt ➔ HTML5 ➔ Scoper, è il framework che da la possibilità di creare e presentare il contenuto nella Dash di Ubuntu ➔ OpenGL. La guida per installare Ubuntu SDK la trovi qui => http://goo.gl/DViheL Dopo aver scoperto cosa ci serve e di che cosa si tratta andiamo insieme a vedere che cosa dobbiamo fare e come sviluppare la nostra prima applicazione per Ubuntu Touch, che gira anche sulla nostra versione desktop di Ubuntu.
  • 4. Questo è Ubuntu SDK Autore: Flavius Florin Harabor e-mail: ffinformaticus@gmail.com
  • 5. Si inizia Autore: Flavius Florin Harabor e-mail: ffinformaticus@gmail.com Una volta avviato Ubuntu SDK andare su File => New File or Project
  • 6. Si continua con il passo due Autore: Flavius Florin Harabor e-mail: ffinformaticus@gmail.com Nella nuova schermata selezionate nella colonna di sinistra la voce Ubuntu e poi subito nella colonna centrale selezionate la voce Simple UI poi continuate.
  • 7. Si continua con il passo tre Autore: Flavius Florin Harabor e-mail: ffinformaticus@gmail.com In questa schermata selezionate lo spazio dove salvare le sorgenti della vostra applicazione e anche il nome. Nel nostro caso si chiamerà HelloWorld.
  • 8. Si continua con il passo quattro Autore: Flavius Florin Harabor e-mail: ffinformaticus@gmail.com In questa schermata andate su Bazzare, questa funzione vi da la possibilità di creare le versioni della vostra app in modo automatico, potete anche lasciala come nello screen. Alla fine di tutto cliccate su Finish.
  • 9. Si continua con il passo quinto Autore: Flavius Florin Harabor e-mail: ffinformaticus@gmail.com Ecco questa è la base della nostra applicazione. Il nostro IDE andrà a generare in automatico il codice base da cui partire nello sviluppo di una prima applicazione per Ubuntu Touch.
  • 10. Si continua con il passo quinto bis Autore: Flavius Florin Harabor e-mail: ffinformaticus@gmail.com Se cliccate sul tasto a forma di punta di freccia ( quello verde, in basso a sinistra ) dovreste avere questo primo risultato.
  • 11. Si continua con il passo sesto Autore: Flavius Florin Harabor e-mail: ffinformaticus@gmail.com Cliccando sul tasto Design ( quarto tasto dal panello a sinistra ) potete organizzare il design della vostra applicazione aggiungendo nuove funzioni grafiche, che poi andrete ad implementare, per far si che esse funzionino e rendano la vostra applicazione attiva e funzionante secondo i vostri gusti e idee.
  • 12. Adesso che si fa?!? Autore: Flavius Florin Harabor e-mail: ffinformaticus@gmail.com Bene adesso andiamo a vedere che cosa si può fare e come si può modificare questo codice.
  • 13. Analizziamo e modifichiamo il codice Autore: Flavius Florin Harabor e-mail: ffinformaticus@gmail.com Questa sarà la nostra prima app Hello World, che abbiamo modificato e resa più nostra. Quindi andiamo ad analizzare il codice sorgente, che sta dietro alla nostra prima applicazione base per Ubuntu Touch e Ubuntu Desktop.
  • 14. Analizziamo e modifichiamo il codice Autore: Flavius Florin Harabor e-mail: ffinformaticus@gmail.com Nel nostro file principale del progetto, cioè HelloWorld.gml troviamo tutta la serie di parametri che implementano l'interfaccia della nostra applicazione. Ognuno di questi parametri è annidato con le parentesi graffe {}. Il container (contenitore) principale è il MainView, al suo interno troviamo poi Page, che al suo interno contiene Column, HelloComponent e Button. HelloComponent è definito fuori dalla nostra libreria e si trova nella cartella components.
  • 15. Analizziamo e modifichiamo il codice Autore: Flavius Florin Harabor e-mail: ffinformaticus@gmail.com Va detto e precisato sin da subito, che è necessario usare lo stesso nome per il file del componente. Questo metodo di includere così le varie componenti di un'applicazione, ci consente di condividere il codice tra le varie applicazioni che andrete ad implementare e sviluppare in futuro, ma anche di riutilizzarlo all'interno dello stesso progetto. Vedremo più avanti che cosa contiene questo file. Visto che questa è una tipica abitudine della programmazione a oggetti, colgo l'occasione di rimandarvi a un ripasso veloce in queste pagine(clicca qui).
  • 16. Analizziamo e modifichiamo il codice Autore: Flavius Florin Harabor e-mail: ffinformaticus@gmail.com Ritorniamo al nostro file principale del progetto. Quindi, come dicevo prima, all'interno del nostro componente HelloComponent abbiamo dichiarato l'id, la sua posizione all'interno della finestra della nostra applicazione, la sua grandezza, il suo objectName, il colore e per finire il testo e la sua dimensione.
  • 17. Analizziamo e modifichiamo il codice Autore: Flavius Florin Harabor e-mail: ffinformaticus@gmail.com Come anticipato prima, esiste anche il componente Button, altro non è che un componente tipico da Ubuntu e vi darà la possibilità di implementare e visualizzare i vari pulsanti. Nella nostra applicazione Hello World, ha lo scopo di cambiare il testo all'interno del componente HelloComponent. All'interno del componente Button abbiamo dichiarato la sua posizione sull'asse x e asse y, la sua dimensione, il suo objectName, il suo colore, il testo e la sua dimensione e per finire l'azione che deve svolgere una volta azionato. Cioè una volta cliccato, andrà a cambiare il testo all'interno del HelloComponent.
  • 18. Analizziamo e modifichiamo il codice Autore: Flavius Florin Harabor e-mail: ffinformaticus@gmail.com Nota Importante All'interno del codice, della nostra applicazione, compare frequentemente la dichiarazione text: i18n.tr() oppure title: i18n.tr(). Questa particolare dichiarazione ha lo scopo di rendere più facile l'interpretazione e la traduzione da parte della funzione gettext. Questa è una funzionalità principale e chiave del tool kit di Ubuntu User Interface, è la capacità di scalare a tutti i form factor possibili definiti dagli utenti. Tutto ciò, ha portato il team di sviluppo nell'implementare e definire una nuova unità di misura, cioè grid unit. Una volta dichiarate e implementate le grid unit o gu, esse vengono tradotte in pixel in funzione al tipo di schermo e del device sul quale l'applicazione gira. Esempio: 1 gu = 8 pixel => sullo schermo di un portatile 1 gu = 16 pixel => sullo schermo di un portatile retina 1 gu = 8 pixel => sullo schermo di uno smartphone Quindi all'interno della nostra applicazione abbiamo implementato 1 gu per lo spacing, e 2 gu per il margin.
  • 19. Analizziamo e modifichiamo il codice Autore: Flavius Florin Harabor e-mail: ffinformaticus@gmail.com Continuando l'analisi del nostro codice sorgente, della nostra Hello World e spostandoci nel container principale MainView, possiamo trovare l'implementazione che decide la dimensione della nostra applicazione, con altezza e larghezza. Di default la nostra app viene generata con width: units.gu(100) e height: units.gu(75) avendo per risultato questo:
  • 20. Analizziamo e modifichiamo il codice Autore: Flavius Florin Harabor e-mail: ffinformaticus@gmail.com Invece io per comodità ho utilizzato questa implementazione: width: 500 e height: 400, avendo per risultato questo: Cioè mi trovo ad avere una schermata della mia applicazione più piccola e non direttamente proporzionale al mio schermo. La chiave della dimensione dell'applicazione sta nell'unità di misura GU, come detto precedentemente. Va detto che è importante lavorare sulle dimensioni in base all'implementazione imposta dal tool kit di Ubuntu.
  • 21. Analizziamo e modifichiamo il codice Autore: Flavius Florin Harabor e-mail: ffinformaticus@gmail.com Visto che prima abbiamo parlato del HelloComponent.qml, andiamo a prendere in considerazione anche questo file del nostro progetto e vediamo che cosa fa di preciso. Al suo interno troviamo il compomente UbuntuShape, che è quello che genera il rettangolo arrotondato, poi all'interno del componente UbuntuShape troviamo anche Lable.
  • 22. Analizziamo e modifichiamo il codice Autore: Flavius Florin Harabor e-mail: ffinformaticus@gmail.com Label ha al suo interno l'id myText e il parametro che indica il testo centrato. Label ha una priorità text che può essere utilizzata per impostare il testo della lable, in più questa funzione può essere utile ad impostare il suo valore anche al di fuori del HelloComponent e negli altri file sorgenti della nostra applicazione. Per questo motivo viene definita prima la funzione property alias text : myText.text. Questa riga di codice non fa altro che creare un alias per la priorità di myText.text e lo rende disponibile a tutti i componenti con alias text.
  • 23. Altre app per Ubuntu Touch Questo è uno dei due o tre appuntamenti dedicati a questo argomento, nel mentre vi lascio un link che vi mostra come installare e testare sulla vostra distro Ubuntu, dalla 12.04 LTS fino alla 14.04 LTS, tutte le varie app per Ubuntu Touch che in questo periodo sono state sviluppate da altre persone: http://goo.gl/6QCaCl Autore: Flavius Florin Harabor e-mail: ffinformaticus@gmail.com Nota: Voi che avete installato già Ubuntu SDK, l'ultimo comando che dovete dare, è il seguente =>> $ sudo apt-get install touch-coreapps
  • 24. Si inizia Autore: Flavius Florin Harabor e-mail: ffinformaticus@gmail.com Fonte img: http://www.unapsicologaroma.it/2013/03/20/quando-si-dice-unilluminazione/
  • 25. Link >>> Fonti >>> Note Note: ➔ Questo è solo una parte riassuntiva di quello che è il mondo Android e il suo cuore pulsante, non è una vera guida per iniziare a sviluppare le tue applicazioni. ➔ Tutte le foto/immagini, presenti all'interno di queste slide sono reperibili in rete e appartengono ai legittimi proprietari. ➔ Ricordo inoltre, che queste slide e questo lavoro sono coperte dalla CC v.4. ➔ Grazie a Benedetto Nespoli Bloggh Idee e Massimiliano Vigliotta, per le correzioni e le mie piccole sviste Autore: Flavius Florin Harabor e-mail: ffinformaticus@gmail.com ➔ https://wiki.ubuntu.com/Touch/Install ➔ ➔ http://developer.ubuntu.com/ ➔ ➔ http://developer.ubuntu.com/web/tutorial/ ➔ ➔ https://plus.google.com/u/0/communities/111350780270925540549 ➔ ➔ http://askubuntu.com/questions/tagged/application-development ➔ ➔ http://developer.ubuntu.com/api/qml/sdk-1.0/ ➔ ➔ https://wiki.ubuntu.com/Touch/Devices/ ➔ ➔ http://askubuntu.com/questions/235763/why-ubuntu-components-0-1-missing-from -qtcreator CODICE SORGENTE Clicca Qui USA LA FANTASIA Accendi il cervello