{"id":281,"date":"2009-10-17T08:00:22","date_gmt":"2009-10-17T06:00:22","guid":{"rendered":"http:\/\/www.devapp.it\/wordpress\/?p=281"},"modified":"2009-12-14T16:09:41","modified_gmt":"2009-12-14T15:09:41","slug":"strumenti-per-sviluppo-di-applicazioni-iphone","status":"publish","type":"post","link":"https:\/\/www.devapp.it\/wordpress\/strumenti-per-sviluppo-di-applicazioni-iphone\/","title":{"rendered":"SDK: Strumenti di sviluppo"},"content":{"rendered":"<p>Per sviluppare applicazioni per iPhone Os, occorre avere un Mac su cui \u00e8 installato Mac OS X e l&#8217;SDK (Software Development Kit) pi\u00f9 aggiornato, ad oggi la versione 3.1.2.<\/p>\n<p>La suite degli strumenti di sviluppo messi a disposizione da Apple offre un completo ambiente per la gestione dei vostri progetti, per la stesura del codice, la creazione degli eseguibili, il debugging, il controllo delle performance, e molto altro ancora.<br \/>\nAl centro della suite c&#8217;\u00e8 Xcode, il quale rappresenta l&#8217;ambiende di sviluppo vero e proprio, tramite cui scriverete il vostro codice di programmazione. Ma Xcode non \u00e8 il solo strumento che userete, di seguito vi illustreremo gli strumenti principali per creare applicazioni per iPhone.<\/p>\n<p><!--more--><\/p>\n<h4>Xcode<\/h4>\n<p>Il cuore di questa suite di sviluppo \u00e8 proprio Xcode. Questo \u00e8 un ambiente di sviluppo integrato (IDE)<br \/>\nche fornisce tutti gli strumenti di cui abbiamo bisogno per creare e gestire i nostri progetti e i file contenenti il codice sorgente, per compilare il tutto e creare quindi un eseguibile e per avviare e testare le nostre applicazioni tramite iPhone Simulator o direttamente sul nostro dispositivo.<\/p>\n<p>Per creare una nuova applicazione iPhone, occorre creare innanzitutto un nuovo progetto in Xcode. Il progetto gestisce tutte le informazioni associate alla vostra applicazione, inclusi i file con i sorgenti, le impostazioni per la compilazione e le regole necessarie per mettere insieme tutti i pezzi. Il centro di lavoro di ogni progetto Xcode \u00e8 la finestra mostrata in in Figura 1. Questa schermata offre un rapido accesso a tutti gli elementi principali dell&#8217;applicazione. Il &#8220;Group and Files list&#8221; \u00e8 dove potrete gestire i files del vostro progetto, inclusi i files contenenti il codice sorgente e l&#8217;eseguibile creato a partire da questi files. La toolbar offre un accesso agli strumenti e ai comandi usati pi\u00f9 frequentemente mentre la detail view offre uno spazio personalizzabile per lavorare al vostro progetto. Altre parti di questa finestra offrono informazioni contestuali al progetto aperto.<\/p>\n<p><center><\/p>\n<div style=\"width: 610px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2009\/10\/project_window.png\" alt=\"Figura 1\" width=\"600\" height=\"362\" \/><\/p>\n<p class=\"wp-caption-text\">Figura 1 &#8211; Finestra di un progetto in Xcode<\/p>\n<\/div>\n<p><\/center><\/p>\n<p>Xcode \u00e8 dotato di un avanzato editor di testo, con funzioni come completamento automatico del codice, colorazione automatica in base alla sintassi del linguaggio, gestione dei blocchi di codice (per nascondere temporaneamente o riattivare porzioni di codice), annotazioni di errori sulle linee, avvisi ecc. Il sistema dedicato alla compilazione in Xcode offre sia le impostazioni predefinite che la possibilit\u00e0 di configurare l&#8217;ambiente a vostro piacimento. E se aveste bisogno di documentazione, il &#8220;Research Assistant&#8221; fornisce la documentazione sensibile al contesto, mentre la finestra appostita consente di navigare e cercare eventuali informazioni.<\/p>\n<p>Quando compilate ed eseguite un&#8217;applicazione in Xcode, potete scegliere se lanciare il tutto nell&#8217;iPhone Simulator o nel vostro telefono. Il simulatore offre un ambiente locale per il testing delle vostre applicazioni, per assicurarsi che queste si comportano nel modo desiderato.<\/p>\n<p>Quando si \u00e8 soddisfatti del comportamento di base dell&#8217;applicazione, si pu\u00f2 dire a Xcode di eseguirla su un iPhone o iPod touch collegato al vostro computer. L&#8217;esecuzione su un dispositivo serve per effettuare il test finale e Xcode permette il debugging per il codice in esecuzione sul dispositivo.<\/p>\n<p><center><\/p>\n<div style=\"width: 583px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2009\/10\/simulator.jpg\" alt=\"iPhone Simulator\" width=\"573\" height=\"494\" \/><\/p>\n<p class=\"wp-caption-text\">Figura 2 &#8211; Esecuzione dell&#39;applicazione<\/p>\n<\/div>\n<p><\/center><\/p>\n<h4>Interface Builder<\/h4>\n<p>Interface Builder \u00e8 lo strumento per creare visivamente le interfacce grafiche dei programmi tramite Drag &#038; Drop dei componenti preconfezionati inclusi nella suite. I componenti inclusi comprendono i tradizionali sistemi di controllo come gli switch, i pulsanti, i campi testo, ma anche viste personalizzate.<br \/>\nDopo aver posizionato i componenti nella finestra, potrete muoverli e posizionarli dove desiderate semplicemente trascinandoli, potrete configuare i loro attributi utilizzando l&#8217;inspector e stabilire le relazioni tra loro e il vostro codice. Quando l&#8217;interfaccia avr\u00e0 l&#8217;aspetto che volevate ottenere, salvate il lavoro svolto e verr\u00e0 quindi creato un file nib.<\/p>\n<p><center><\/p>\n<div style=\"width: 610px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2009\/10\/interface_builder.jpg\" alt=\"Interface Builder\" width=\"600\" height=\"463\" \/><\/p>\n<p class=\"wp-caption-text\">Figura 3 &#8211; Interface Builder<\/p>\n<\/div>\n<p><\/center><\/p>\n<p>Il file nib creato con Interface Builder contiene tutte le informazioni che l&#8217;UI Kit necessita per ricreare, in fase di esecuzione del programma, gli stessi oggetti disegnati nella vostra applicazione. Caricare un file nib genera versioni runtime di tutti gli oggetti inseriti nel file, configurandoli esattamente come sono stati configurati in Interface Builder. Esso usa inoltre le informazioni inerenti le relazioni che sono state specificate per stabilire le connessioni tra i nuovi oggetti creati e quelli esistenti nell&#8217;applicazione.<\/p>\n<p>Nel complesso, l&#8217;uso di Interface Builder permette di risparmiare l&#8217;enorme quantit\u00e0 di tempo che occorrerebbe per creare l&#8217;interfaccia utente dell&#8217;applicazione via codice. Interface Builder scrive quindi per voi il codice necessario per creare, configurare e posizionare gli oggetti che compongono l&#8217;interfaccia utente.<br \/>\nEssendo un editor visivo il vantaggio \u00e8 poter vedere esattamente che come sar\u00e0 la nostra interfaccia durante l&#8217;esecuzione.<\/p>\n<h4>Instruments<\/h4>\n<p>Al fine di garantire la migliore esperienza all&#8217;utente durante l&#8217;uso del vostro software, l&#8217;ambiente Instruments consente di analizzare le prestazioni delle vostre applicazioni iPhone durante l&#8217;esecuzione sia sul simulatore che su un dispositivo. Instruments raccoglie i dati dalla vostra applicazione durante l&#8217;esecuzione e li presenta in modalit\u00e0 grafica: la timeline. \u00c8 possibile analizzare dati inerenti l&#8217;utilizzo della memoria, circa l&#8217;attivit\u00e0 del disco rigido, le attivit\u00e0 di rete o le le prestazioni grafiche. La timeline \u00e8 in grado di visualizzare tutti questi diversi tipi di informazioni fianco a fianco, e permette di monitorare il comportamento generale della vostra applicazione e non solo riferito ad una specifica area.<\/p>\n<p><center><\/p>\n<div style=\"width: 578px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2009\/10\/Instruments.jpg\" alt=\"Instruments\" width=\"568\" height=\"478\" \/><\/p>\n<p class=\"wp-caption-text\">Figura 4 &#8211; Funzionamento di Instruments<\/p>\n<\/div>\n<p><\/center><\/p>\n<p>Oltre a fornire la timeline, instruments fornisce strumenti che consentono di analizzare il comportamento della vostra applicazione nel tempo. Ad esempio, la finestra Instruments consente di memorizzare dati provenienti da molteplici sessioni in modo da poter verificare se il comportamento della vostra applicazione \u00e8 in miglioramento o se necessita ancora di accorgimenti. \u00c8 possibile inoltre salvare i dati di queste varie esecuzioni in file ed \u00e8 possibile aprirli e analizzarli in qualsiasi altro momento.<\/p>\n<p>Tradotto da <a href=\"http:\/\/developer.apple.com\/iphone\/library\/referencelibrary\/GettingStarted\/URL_Tools_for_iPhone_OS_Development\/index.html#\/\/apple_ref\/doc\/uid\/TP40007593\" target=\"blank\">fonte<\/a> ufficiale Apple.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Per sviluppare applicazioni per iPhone Os, occorre avere un Mac su cui \u00e8 installato Mac OS X&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[7],"tags":[25,24,14,7,23],"class_list":["post-281","post","type-post","status-publish","format-standard","hentry","category-strumenti-di-sviluppo","tag-instruments","tag-interface-builder","tag-sdk","tag-strumenti-di-sviluppo","tag-xcode"],"acf":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/posts\/281","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/comments?post=281"}],"version-history":[{"count":41,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/posts\/281\/revisions"}],"predecessor-version":[{"id":1297,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/posts\/281\/revisions\/1297"}],"wp:attachment":[{"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/media?parent=281"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/categories?post=281"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/tags?post=281"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}