Applicazione Birthdays

Applicazione Birthdays

image

 

 

Da poche ore, sull’app store è appena stata rilasciata la mia terza app sviluppata per iOS. Con questa app potrete fare una sola cosa, tanto. Con questa app potrete gestire il compleanno di ogni vostra cara persona come amico, parente ecc. Una volta aggiunto il compleanno, potrete mandarli dei messaggi di auguri e anche un biglietto d’auguri con su un’immagine come ad esempio, un biglietto d’auguri con su un cane o dei cuccioli, dei fiori e molto molto altro.

 

Vi lascio 6 promo  code per tutti quelli interessati:

 

FTJFFX6H947W
WRPWKJ6X9AL4
AHNE99T977TX
WYL3MX3LN3RL
73AA46TJLYE9
X3APXYKMPKW4

 

 

 

https://developer.apple.com/tvos/images/tvos-hero.jpg

 

 

Apple ha mandato un’email a tutti gli sviluppatori, per inviare le applicazioni per la nuova Apple TV. Questo ci fa pensare che i prezzi per la nuova Apple TV in Italia si aggireranno sui 179€ e per il modello da 32 GB invece per il modello da 64 GB si aggirerà sui 229€. L’Apple TV Remote costerà 89€ e il laccio costerà 15€. Si potrà preordinarla dal 26 Ottobre sul sito ufficiale.

 

Ciao, benvenuto in questo primo tutorial di programmazione iOS 9, con questa pagina Programmazione iOS 9, imparerai a programmare applicazioni per iPhone, iPad, Apple Watch e per la nuova Apple TV (tvOS). Prima di addentrarci nel dettaglio della programmazione su iPhone, dovete sapere con quale linguaggio svilupperete (per chi potrebbe non saperlo). Sui sistemi Apple, il linguaggio per sviluppare le app è Swift. Il link arancione, vi indirizzerà alla pagina ufficiale del sito Apple dedicato al linguaggio. Se vi interessa Apple offre anche due manuali di programmazione Swift. Uno è proprio dedicato al linguaggio, l’altro invece è dedicato alle differenze tra Swift e Objective-C (il vecchio linguaggio per sviluppare app sui sistemi Apple). Direi che Objective-C pian piano nel tempo deprecherà, quindi in poche parole, prima o poi Objective-C non ci sarà più, e svilupperemo interamente in Swift :). Se siete interessati a prendere il libro di Apple, il link è sempre quello arancione che segue. Il libro si chiama The Swift Programming Language. Se dobbiamo sviluppare un’app iOS dobbiamo conoscere le basi del linguaggio, no? Infatti se non siete totalmente pronti allo sviluppo di app in questa sezione, potete andare alla pagina Programmazione Swift, e vedere tutti i dettagli sul linguaggio, ci sono tutti i vari articoli (dalle variabili e costanti, tipi di collezioni, controllo del flusso, funzioni e molto altro).

La prima cosa da fare, è scaricare l’IDE.

Cos’è l’IDE?

L’Integrate Development Enviroment, è l’ambiente di sviluppo, che ci permette di creare le applicazioni. Se non abbiamo l’IDE non possiamo sviluppare niente :). Quindi per prima cosa, se siete già iscritti all’Apple Developer Program (che vi permette di sviluppare app per iPhone, iPad, Apple Watch, Mac e per la Apple TV). Se siete iscritti e non avete scaricato l’IDE, per scaricarlo basta andare in due strade, qui sotto (Apple Develper Portal o Mac App Store e scrivere Xcode).

Iscrizione all’Apple Developer Portal 

Se siete già sviluppatori, ma non avete Xcode, dovete andare all’Apple Developer Portal, e scaricare l’ultima versione presente per ora (Xcode 7.2). Invece l’altra strada per chi non è sviluppatore, ha due scelte, o avere una beta (la beta per chi non è iscritto sull’Apple Developer Program), è semplicemente una versione prima di quella che viene rilasciata agli sviluppatori con iscrizione. Potente anche (per chi non è sviluppatore iscritto, ma vale per chiunque), andate sul Mac App Store, e scaricate la versione standard, cioè quella non beta, per intenderci. Se allora siete nuovi, per iscriversi dovete andare a questo link, e effettuare pagare la quota associativa che è di 99€ all’anno, invece se volete aspettare (consiglio che vi do’ infatti, è aspettare a pagare, se no pagate 99€ ma poi non sapete bene da dove partire) e quindi diventerebbe uno spreco.

Aprire Xcode

Appena installato Xcode, lo apriamo e vediamo cosa ci chiederà Xcode.

1 Avvio di Xcode.png

Schermata di avvio

Ci si presentano tre cose, ma cosa sono?

 

Get started with a playground:

Questa sezione, ci permette di testare il nostro codice, prima di passare dalla versione del progetto su iOS o Mac. Si chiama Playground, ed’è una novità di Xcode. Possiamo testare il nostro codice in tempo reale (senza aver bisogno di fare il Build & Run). In questo caso non ci serve il Playground, ma ci serve solo la sezione Create a new Xcode Project.

Create a new Xcode project

In questa sezione possiamo creare il progetto vero e proprio. Possiamo creare app per iPhone/iPad, Apple Watch, Mac e AppleTV. Nel nostro caso vedremo solo la prima app (per iPhone), la classica app, che ci permetterà di mostrare del testo su una label via bottone, o usare un campo di testo (UITextField è il campo dove inseriremo il testo), per mettere il nostro nome e stamparlo nella label (UILabel è l’etichetta) e via dicendo, semplici giochetti.

Check out an existing project

Questo invece, non lo useremo quasi mai, serve per creare una git, una repository (deposito), per i nostri progetti. Un esempio di repository è github.

Iniziamo e scegliamo crea un nuovo progetto Xcode. Una volta fatto, ci apparirà questa nuova interfaccia.

 

SingleViewApplication

Scegliamo il template

 

Ora abbiamo d’avanti la scelta, per scegliere che tipo di app fare. Il progetto ha dei cosiddetti Template, ma cosa sono i template?

Possiamo pensare ad un esempio su una persona che costruisce dei progetti in elettronica. Una persona può avere un progetto blank (cio’è vuoto, senza nulla) o può averlo con già dei pezzi prefabbricati, come? Una PCB vuota senza nulla e noi dobbiamo creare i vari fori e le piste ecc, ma possiamo averlo anche già fatto, così possiamo già metterci sopra i vari componenti. Continuiamo e vediamo nel dettaglio tutti questi template.

 

Master-Detail Application

Questo template, ci fornisce due file che pilotano due interfacce che sono contenute in uno SplitViewController, che divide lo schermo a metà (questo per iPhone 6 Plus/6S Plus e iPad).

Page-Based Application

Questo template è formato da 2 file che pilotano 2 interfacce, il primo ingloba il secondo. Il secondo è stile iBook, quando leggiamo i libri, nel loro formato ePub, quindi avremo un esempio di calendario sfogliabile, quando e se scegliereete questo template.

Single-View Application

Questo è il template come vi dicevo prima, quindi noi potremo avere un’interfaccia singola, con un singolo file che la pilota. Questo è il file che utilizzeremo più spesso, ma anche per i primi tutorial, ma forse quasi sempre lo utilizzeremo.

Tabbed Application

Questo template è formato da due file che pilotano due interfaccie. Pensiamo a quando siamo nell’app AppStore, ItunesStore e altre. Sotto nella parte inferiore abbiamo i cosiddetti tab. I tab sono come dei bottoni che ci permetto di “cambiare” da una view all’altra semplicemente con i bottoni.

Game

Questo non è template qualunque :), possiamo sviluppare giochi con le tecnologie quali:

 

SpriteKit

SpriteKit

 

Questa tecnologia ci permette di sviluppare giochi bidimensionali (2D). In futuri tutorial inizieremo questo approccio nello sviluppo di giochi.

 

SceneKit

SceneKit

 

 

Questa tecnologia ci permette di sviluppare giochi tridimensionali (3D). Anche per questo, in futuri tutorial arriveremo a creare dei giochini.

Metal

Metal

Invece questa tecnologia ci permette di sviluppare giochi sempre 3D ma, sfruttando al massimo le performance del dispositivo.

 

Una volta scelto il template Single-View Application, possiamo procede ad assegnarli il nome del progetto, lo chiamiamo HelloWorld come Product name, nel campo Organization Name, gli diamo o il nostro nome o della vostra azienda. Come Organization Identifier, gli diamo il Bundle creato via Apple Developer Center. (La guida è a questo link).Come linguaggio scegliamo Swift e in fine scegliamo come devices universal (quindi la facciamo sia per iPhone che iPad) e non spuntiamo CoreData (in questo momento non dobbiamo creare un database) e lasciamo tutto come è spuntato dopo.

 

Assegno un nome

Ultime configurazioni

 

Dopo aver fatto tutto cio’, clicchiamo su Next e scegliamo dove salvarlo (io ho una mia posizione propria), ma un mio consiglio è di crearti una cartella con nome (es: Progetto iOS, App iOS e altri), salvatela o in iCloud Drive, o nei documenti semplicemente o in qualsiasi vostro percorso :).

Gli assegno una posizione

Gli assegno una posizione

 

Una volta creato il percorso, ci si presenterà questa finestra, dove noi andremo ora a vedere nel dettaglio a cosa serve ognuna di quelle aree.

 

Schermata principale

Schermata principale

 

Area di navigazione:

Quest’area è l’area dove avremo i nostri vari file. Avremo il file (classe) AppDelegate, la classe ViewController, il file Storyboard, l’Assets, il LaunchScreen e l’Info.plist. Adesso vedremo nel dettaglio cosa questi file ci permetteranno di fare.

Area di debug:

In quest’area, possiamo vedere gli errori che vengono commessi quando sbagliamo a scrivere del codice o possiamo anche controllare gli errori commessi per poi poterli correggere.

Barra degli strumenti:

In questa barra abbiamo il bottone per il build & run (per eseguire la nostra app), ma anche per scegliere il device su cui testare le nostre app, e altri vari bottoni per mostrare e nascondere l’assistant editor e altro.

Area utility:

Quest’area, ci permette semplicemente di scegliere gli snippet code (sono i codici già scritti, o da noi o da altri o sviluppatori Apple, snippet già inclusi), che ci permette di accedere al  codice direttamente usando o la scorciatoia (shortcut), semplicemente scrivendo una corta parola e ci mostrerà il nostro snippet, o semplicemente facendo Drag and Drop). Ma possiamo anche accedere alla libreria con tutti gli oggetti (UILabel, UIDatePicker, UISegmentControl e molti altri).

 

Una volta visto come è formato Xcode, passiamo alla creazione del progetto.

 

NB: Quando creiamo un progetto, dobbiamo sapere subito, lo scopo dell’app che stiamo facendo, no?

Si, e allora vediamo lo scopo dell’app.

Creo un’app che mi permetta di prendere un testo da input dal campo TextField e di mostrarlo sulla label (l’etichetta di testo) e rendiamo l’app adatta, quindi universale, avvalendoci anche dell’AutoLayout, così quando ruotiamo l’iDevice, non ci mostrerà gli oggetti (la label, il bottone e il textField) disordinati, ma ordinati.

 

Iniziamo…

screen4.png

Finestra principale (dobbiamo andare su ViewController.swift)

Benvenuto dentro a Xcode :). Avrai un meraviglioso mondo pieno di possibilità per creare di tutto e di più. Prima di entrare nella classe ViewController.swift, vediamo cosa servono tutte le altre cose.

Il file AppDelegate.swift è il file che governa l’app. Con questo file possiamo gestire determinate situazioni come: sono uscito dall’app e (per esempio) riproduco della musica in background, sono rientrato nell’app e il gioco nel frattempo si è automaticamente messo in pausa (vuol dire che noi abbiamo scritto il codice necessario per far questo) e molto altro.

Il file Main.storyboard, è quel file o meglio chiamarlo proprio storyboard cio’è dove noi andiamo a disegnare la nostra app graficamente quindi facciamo uso di un’interfaccia centrica e non codice centrico (a differenza che altri IDE, fanno ancora uso più del codice che della parte grafica, per creare l’interfaccia).

L’Assets.assets, è quel file dove teniamo le nostre immagini o anche file 3D con estensioni .dae, .obj e altri.

Il file LaunchScreen.storyboard, è sempre un’interfaccia, ma è quel file che quando noi avvieremo la nostra app, avremo un piccolo tempo dove si presenterà questa interfaccia di inizio e dopo passa al ViewController.

Il file Info.plist, è il file dove possiamo configurare le caratteritiche dell’app (come l’orientamento, la localizzazione del progetto e altro). Apriamo il file ViewController.swift per dargli un’occhiata.

screen5.png

Abbiamo tante cose da dirci :), allora per prima cosa vediamo che abbiamo una serie di testo scritto in verde con varie informazioni. Le // servono a dire che stamo commentando (dopo vediamo le varie differenze e consigli da fare con questi commenti) cio’è, che in questo caso appena noi creiamo un nuovo progetto ci commenta ogni file con Nome della classe d’appartenenza, nome del progetto, creato da chi e quando e in fine i copyright.

 

Passiamo alla riga 9, qui alla riga 9 dove c’è scritto: import UIKit qui stiamo importando il framework principale che contiene tutte le classi che ci permettono di creare istanze di oggetti che colleghiamo dall’interfaccia al codice (senza questo non potremmo collegare una UILabel o altro, percheè ci darebbe un errore), ma non potremmo neanche dichiarare la classe stessa, perché la classe è un clone della classe UIViewController. Quindi il framework UIKit ci fornisce tutte le classi che ci serviranno (non tutte, ma solo quelle che andremo ad usare). Perché ho detto che abbiamo creato una classe clone? Clone perché non creiamo mai delle vere e proprie classi, ma creiamo cloni di altre classi. Il passo successivo è la dichiarazione della classe con la parola chiave (keyword) class seguita dal nome ViewController che segue con la sintassi : per indicare il tipo, il tipo in questione è UIViewController in fine aprimao la parentesi graffa { e così stiamo creando un blocco di codice e in fine viene chiuso, con la parentesi graffa di chiusura }.

Dentro alla classe ViewController ci sono due metodi, uno è il viewDidLoad() e l’altro è il didReceiveMemoryWarning().

Il metodo viewDidLoad è il metodo che ci permette di mostrare i contenuti nella View quindi nell’interfaccia, prima che venga caricata. Questo metodo è preceduto da due parole chiave,  override e func. Perché uno e perché l’altro? l’override del metodo (func) serve per ‘passare sopra’ al metodo, visto che la classe classe padre è UIViewController, dobbiamo fare l’override del metodo, per passarci sopra e usare il codice che ci serve.

Ora iniziamo e creiamo l’interfaccia. Apriamo i file Main.storyboard, e ci aggiungiamo un UITextField, una UILabel e un UIButton, dalla barra laterale in basso (avendo selezionato l’AttributeInspector in alto, come segue:

 

Interfaccia1.png

Ora componiamo l’interfaccia grafica:

Interfaccia 2.png

Ora dobbiamo aggiungere i Constraints, ma cosa sono? I Constraints o anche chiamati tiranti, servono per fissare uno o più oggetti alla View e/o anche ad altri oggetti. Nella seguente immagine, vedremo come far tutto ciò.

Per prima cosa andiamo sul bottone (Pin) se ci lasciat un attimo su l’indicatore del mouse, vedrete la scritta Pin, comunue sotto lo storyboard, alla destra della scritta (w Any, h Any) ci sono tre bottoni, il terzo dobbiamo selezionare, dopo aver selezionato la label (se no non ci darà nulla da modificare).

Interfaccia 3.png

Constraints alla Label

 

Interfaccia 4.png

Constraints al TextField

 

Interfaccia 5.png

Constraints al Bottone

Successivamente andiamo sul bottone (Show Assistant Editor) quello con i due anelli uniti, e colleghiamo gli oggetti dall’interfaccia al codice, come segue:

ConnLabel.png

Connetto la label al codice

 

ConnTextField.png

Connetto il textField al codice

 

ConnAct1.png

Connetto il button come Action

 

ConnAct2.png

In fine gli do un nome e premo su connect o invio con il tasto

 

Prima cosa scriviamo il delegate UITextFieldDelegate (così possiamo togliere la tastiera quando premiamo sul return o done).

Codice 1.png

Nel viewDidLoad, assegno il delegato del TextField alla classe (self)

Codice 2.png

 

 

Scriviamo ora il metodo del delegato textFieldShouldReturn

Codice 4.png

 

Scrivo codice necessario per mostrare la scritta sulla label:

Codice 3.png

 

Il risulato quando manderemo in esecuzione l’app (cmd + r o premendo sull’icona in alto a sinistra (simile al play di iTunes), sarà questo

Risultato.png

Esecuzione dell’app sul simulatore

 

Spero che vi sia stato di gradimento questo tutorial, ci vediamo al prossimo tutorial iniziando ad usare altri elementi dell’UI (User Interface, interfaccia utente) per fare qualcosa in più.

 

Applicazione Birthdays

Applicazione Birthdays

Birthdays, l’applicazione che vi permette di memorizzare i compleanni. L’applicazione verrà rilasciata non appena Apple me la approverà, potrete scaricarla gratis, con 15 codici redeem, non appena sarà disponibile. Quando sarà disponibile, ci saranno più informazioni sul”app.

Tim Cook

Tim Cook

Tim Cook sarà l’ospite per l’inaugurazione del nuovo anno accademico presso l’università Bocconi di Milano il giorno 10 novembre per l’apertura del nuovo anno accademico 2015/2016. Questo annuncio è stato annunciato via Twitter dall’università.

Post dell'Università Bocconi

Post via Twitter dell’Università Bocconi

Apple ha iniziato la costruzione del nuovo campus nel nord della California. Questo nuovo campus, ospiterà fino a 3000 dipendenti ed è formato da tre uffici, tutti uniti tramite un corridoio. Questo nuovo campus sarà situato 7 Km distante dal primo Apple Campus che è ancora in fase di costruzione, ma dovrebbe essere finito penso intorno alla metà del 2016. Questo nuovo campus occuperà 72,000 metri quadrati, e prenderà lo stile del precedente.

Foto: http://www.centralandwolfe.com/#1

Foto: http://www.centralandwolfe.com/

Foto: http://www.centralandwolfe.com/#1

Foto: http://www.centralandwolfe.com/

Foto: http://www.centralandwolfe.com/

Foto: http://www.centralandwolfe.com/

 

Cosa ne pensate di questo secondo Apple Campus?