Lezioni Teoriche
L#012 – Gestione della memoria durante lo sviluppo di applicazioni iPhone e iPad
14 lug
Oggi parliamo di gestione della memoria nelle applicazioni iPhone (e iPad). Dopo un primo ottimo articolo sull’argomento, creato dal nostro Ignazio Calò, abbiamo pensato fosse meglio, viste le numerose richieste, spendere ancora un paio di parole su questo tema di vitale importanza per lo sviluppo di applicazioni per dispositivi mobili come appunto iPhone, iPod Touch e iPad.
Perchè è così importante la gestione della memoria?
Gestire la memoria significa prima di tutto evitare di sprecare inutilmente risorse (in questo caso di memoria), che, soprattutto nel caso dei dispositivi mobili, ritroviamo in quantità limitata e non espandibile. Ovviamente gestire la memoria non è solo importante per questo tipo di device, ma anche per le applicazioni desktop, le cui funzionalità potrebbero portare ad occupare enormi quantità di memoria (pensate ad esempio ad applicazioni di tipo scientifico). Quanto mostreremo in questo articolo sarà utile quindi non solo per lo sviluppo di applicazioni iPhone e iPad, ma anche per quello di applicazioni MacOS. Continua >
L#011 – Da VB.Net a Objective-C: Prime considerazioni
26 mar
Provengo da oltre venti anni di programmazione su windows, e devo dire che per creare la mia prima applicazione su iPhone, ho dovuto imparare non solo una nuova piattaforma ma un intero nuovo linguaggio di programmazione.
La frase “quando si sa programmare, si può programmare con qualsiasi linguaggio” è vera, ma è anche vero che per passare da VB Net a Objective c è richiesto qualche sforzo.
Ho preso come piccolo esempio la classica “prima” applicazione di ogni programmatore “Hello, World!”. Continua >
L#010 – Introduzione alle Applicazioni Universali per iPhone OS – [iPad]
2 feb
Con l’introduzione dell’iPad, l’iPhone SDK 3.2 supporta ora lo sviluppo di tre tipi di applicazioni: iPhone Apps, iPad Apps e Universal Apps.
iPhone Applications: Le iPhone app sono applicazioni ottimizzate per girare su iPhone e iPod Touch. Queste applicazioni possono essere avviate anche su iPad nella loro risoluzione originale o eventualmente possono essere impostate durante l’esecuzione in visualizzazione “raddoppiata” adatta al display più grande del nuovo dispositivo Apple.
iPad Applications: iPhone SDK 3.2 supporta lo sviluppo di applicazioni per iPad ottimizzate per sfruttare i vantaggi offerti dalle nuove funzionalità del tablet Apple, queste applicazioni saranno però ovviamente compatibili solo con iPad.
Universal Applications: iPhone SDK 3.2 supporta infine lo sviluppo di applicazioni universali, compatibili con tutti i dispositivi su cui è montato iPhone OS.
Questo documento illustra le linee guida che dovremmo seguire per progettare applicazioni universali. Continua >
L#009 – Programmazione Orientata agli Oggetti (OOP)
11 dic
Con l’articolo di oggi non intendo scrivere un trattato sulla teoria della programmazione ad oggetti, non ne sarei capace e gli scaffali delle librerie sono pieni di libri su questo argomento…vorrei invece, con l’aiuto di qualche esempio, far vedere come i pilastri della OOP vengono implementati in objc e come la conoscenza di questi concetti basilari sia indispensabile per interpretare correttamente le guide fornite da Apple.
Ma quali sono questi pilastri della OOP? Sono l’ereditarietà, l’incapsulamento ed il polimorfismo, vediamo brevemente cosa sono e come applicarli creando una nostra classe inventata, la classe “persona“. Continua >
L#008 – Objective-C (Parte III) Gestiamo la memoria
3 dic
In questo articolo analizzeremo un aspetto della programmazione per iphone che spesso è responsabile di lunghe ore di debug e di frustrazione. Stiamo parlando, ovviamente, della gestione della memoria.
È bene precisare che tutto quello che diremo qui si applica solo agli oggetti nativi dell’ Objective-C mentre per le variabili dichiarate con la sintassi C (int, char, float) restano valide le regole di questo linguaggio. Continua >
L#007 – Objective-C (Parte II) Definizione di una classe
13 nov
Gran parte della programmazione object-oriented consiste nella scrittura di codice per nuovi oggetti, definendo quindi nuove classi. In Objective-C le classi vengono definite in due parti:
- Un’interfaccia dove vengono dichiarati i metodi, le variabili di istanza della classe e il nome della sua superclasse
- Un’implementazione che è la reale definizione della classe (contiene il codice vero e proprio per implementare i suoi metodi)
L#006 – Objective-C (Parte I) Oggetti, Messaggi, Classi
5 nov
Il linguaggio Objective-C è un linguaggio di programmazione creato per permettere lo sviluppo di applicazioni tramite il sofisticato paradigma di programmazione object-oriented. Objective-C è definito come un piccolo ma potente set di estensioni allo standard ANSI C. Le estensioni introdotte sono principalmente basate su Smalltalk, uno dei primi linguaggi di programmazione orientati agli oggetti. Objective-C è stato quindi creato per offrire la possibilità ai numerosi programmatori C di lavorare, in modo semplice e diretto, con un linguaggio ad oggetti. Continua >
L#005 – Table Views
22 ott
Le Table Views sono oggetti molto comuni e usati all’interno delle interfacce grafiche delle applicazioni per iPhone. Vista la loro versatilità, possono essere adottati nelle applicazioni per diversi scopi. Questa lezione illustrerà le parti, le caratteristiche e gli stili delle Table View dal punto di vista sia funzionale che di programmazione, illustrando man mano i diversi contesti in cui vengono usati. Continua >
L#004 – MVC – Model View Controller
15 ott
MVC (Model View Controller) è un pattern architetturale molto diffuso nella programmazione orientata agli oggetti, legato tra i tanti linguaggi anche ad Objective-C. Il modello MVC assegna agli oggetti di una applicazione uno di questi tre ruoli: MODEL (modello), VIEW (vista) o CONTROLLER (controllore). Il pattern definisce però non solo i loro ruoli, ma anche il modo con cui questi comunicano tra loro. Ogni oggetto è separato dall’altro da dei “confini astratti” e comunica con gli oggetti di un altro tipo attraverso questi stessi confini.
MVC è indispensabile per il design di applicazioni Cocoa e i benefici dell’adozione di questo schema sono molteplici. Continua >
L#003 – Tecniche di programmazione
13 ott
Come abbiamo accennato con il primo articolo di questo sito, “Da dove cominciare?“, è importante per chiunque voglia avvicinarsi al mondo della programmazione innanzitutto capire quali sono le diverse tecniche di programmazione, o se vogliamo i diversi paradigmi di programmazione. In parole povere i diversi stili di programmazione con cui i programmatori concepiscono e percepiscono un programma. Continua >






















