{"id":5815,"date":"2011-02-10T17:30:29","date_gmt":"2011-02-10T16:30:29","guid":{"rendered":"http:\/\/www.devapp.it\/wordpress\/?p=5815"},"modified":"2011-02-10T18:03:40","modified_gmt":"2011-02-10T17:03:40","slug":"creiamo-un-applicazione-completa-l-idea","status":"publish","type":"post","link":"https:\/\/www.devapp.it\/wordpress\/creiamo-un-applicazione-completa-l-idea\/","title":{"rendered":"Creiamo un&#8217;applicazione completa | L&#8217;idea"},"content":{"rendered":"<p><a href=\"http:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2011\/02\/creare-un-applicazione-iphone-completa-devapp-idea.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2011\/02\/creare-un-applicazione-iphone-completa-devapp-idea.jpg\" alt=\"creare-un-applicazione-iphone-completa-devapp-idea\" title=\"creare-un-applicazione-iphone-completa-devapp-idea\" width=\"250\" height=\"157\" class=\"alignleft size-full wp-image-5838\" \/><\/a> Navigando in rete si trovano molti tutorial (senz&#8217;altro utilissimi) riguardanti semplici operazioni realizzati per\u00f2 come progetti fini a se stessi. Fino ad oggi non mi sono mai imbattuto in un tutorial davvero completo, che riguardi, ad esempio, lo sviluppo di un&#8217;intera applicazione iPhone (o iPad). Intendo un esempio che parta dall&#8217;inizio, ovvero dall&#8217;idea e vada avanti fino alla fine, arrivi cio\u00e8 al marketing dell&#8217;app stessa messa in vendita sullo store Apple.<\/p>\n<p>La voglia di colmare questo vuoto \u00e8 sempre stata molta ed ora che il tempo mi \u00e8 favorevole, ho deciso di creare questo tutorial iniziando proprio dall&#8217;inizio: l&#8217;idea!<!--more--><\/p>\n<h4>Serve proprio l&#8217;idea di successo?<\/h4>\n<p>Sicuramente un&#8217;idea interessante aiuta parecchio alla riuscita o meno di un progetto, ma una bella idea da sola, si sa, non basta! Non \u00e8 importante solo COSA si fa, ma piuttosto COME si fa!<\/p>\n<p>Quando si decide di sviluppare un&#8217;applicazione per iPhone, molte volte si \u00e8 a corto di idee, ci sono molte app nello store, che fanno &#8220;di tutto e di pi\u00f9&#8221; e spesso ci si rassegna al fatto che non vale la pena sprecare tempo per un&#8217;applicazione che poi sar\u00e0 scarica solo qualche centinaio di volte, o anche meno. Questa linea di pensiero \u00e8 da considerarsi, di principio, errata.\u00a0Tutte le applicazioni, anche se spesso fanno cose simili ad altre gi\u00e0 presenti, sono utili a noi iPhone developer.\u00a0Immaginate, ad esempio, di creare una applicazione banale, ma comunque ben fatta e di ricevere ottime review da parte degli utenti (non importa che siano tanti, bastano anche poche decine di loro). Prendete questi vostri clienti soddisfatti ed immaginateli in un futuro prossimo, in cui magari rilasciate una nuova app. Ecco che quei pochi utenti (soddisfatti) saranno potenziali acquirenti della vostra nuova creazione e, con molta probabilit\u00e0, saranno contenti di provarla e scaricarla avendo avuto gi\u00e0 una bella esperienza con l&#8217;app precedentemente acquistata. Ecco perch\u00e8 anche una banalissima applicazione, in un modo o in un altro, pu\u00f2 tornare utile alla causa e pu\u00f2 aiutarci nel farci conoscere come sviluppatori nello store, in vista, magari, di una futura app che inaspettatamente finisca nella TOP 25 e faccia successo. Quindi non preoccupatevi solo di cosa andrete a fare, ma concentratevi su come andrete a realizzare la vostra (anche se non originalissima) idea.<\/p>\n<p><center><br \/>\n<a href=\"http:\/\/clk.tradedoubler.com\/click?p=24373&#038;a=1735897&#038;g=0&#038;url=http:\/\/itunes.apple.com\/gb\/app\/wallpaper-case-studies\/id408888024?mt=8&#038;partnerId=2003\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2011\/02\/banner-wallpaper-cs.png\" alt=\"banner-wallpaper-cs\" title=\"banner-wallpaper-cs\" width=\"468\" height=\"54\" class=\"aligncenter size-full wp-image-5843\" \/><\/a><br \/>\n<\/center><\/p>\n<h4>Il nostro progetto: le funzionalit\u00e0<\/h4>\n<p>Quando si vuole iniziare lo sviluppo di un&#8217;applicazione, bisognerebbe avere le idee chiare fin da subito, dovrete porvi degli gli obiettivi ben precisi e\u00a0sarebbe buona pratica scriverli da qualche parte, in modo tale da fare in modo di cambiarli il meno possibile.\u00a0Dovete avere un bel progetto e dovreste tenere presente che ogni modifica dovrebbe essere presa in considerazione solo se strettamente necessaria, altrimenti i tempi di sviluppo si allungheranno a dismisura e rischierete di non arrivare mai al dunque. Quindi, pensate per bene cosa dovr\u00e0 fare la vostra applicazione fin da subito!<\/p>\n<p>Per questioni di tempo ed anche perch\u00e8 ho analizzato molti tipi di applicazioni, ho deciso, per questo nostro progetto, di creare un convertitore di valute. Con questo tipo di applicazione sar\u00e0 possibile toccare molti aspetti della programmazione su iPhone (sebbene l&#8217;idea non sia delle pi\u00f9 originali).<\/p>\n<p>Fatte queste premesse, non ci resta che iniziare a fare un rapido brainstorming della nostra app per vedere cosa possiamo offrire:<\/p>\n<ul>\n<li>Doppia versione della nostra applicazione (Lite e Completa)<\/li>\n<li>Convertitore semplice (A -> B)<\/li>\n<li>Convertitore multiplo (A -> B,C,D,&#8230;) (solo per la versione completa)<\/li>\n<li>Aggiornamento dei rate online (API da ricercare)<\/li>\n<li>Persistenza dei rate per conversione offline (solo versione completa)<\/li>\n<li>Visualizzazione dei rate (solo versione completa)<\/li>\n<\/ul>\n<h4>I componenti principali<\/h4>\n<p>Dopo aver deciso le funzionalit\u00e0 di base per la nostra applicazione, possiamo iniziare ad identificare i componenti base. Per questa applicazione useremo una semplicissima <em>View<\/em>, per la versione Lite, mentre un <em>TabViewController<\/em> per la versione completa.<\/p>\n<p>Molti componenti saranno in comune, quindi ci troveremo davanti ad alcune problematiche relative al mantenimento delle due versioni, ma vedremo in futuro come risolvere questo problema.<\/p>\n<p>Per il momento \u00e8 tutto, vedremo man mano, con i prossimi articoli, come sviluppare questa idea.<br \/>\nNel frattempo vi segnalo che ho creato il\u00a0<a title=\"iXur in GitHub\" href=\"https:\/\/github.com\/bontoJR\/iXur\" target=\"_blank\">repository in GitHub<\/a>, nella quale troverete i files del nostro progetto (raccomando una bella lettura alla licenza del progetto ;)).<\/p>\n<p><center><br \/>\n<a href=\"http:\/\/clk.tradedoubler.com\/click?p=24373&#038;a=1735897&#038;g=0&#038;url=http:\/\/itunes.apple.com\/gb\/app\/wallpaper-case-studies\/id408888024?mt=8&#038;partnerId=2003\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2011\/02\/banner-wallpaper-cs.png\" alt=\"banner-wallpaper-cs\" title=\"banner-wallpaper-cs\" width=\"468\" height=\"54\" class=\"aligncenter size-full wp-image-5843\" \/><\/a><br \/>\n<\/center><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Navigando in rete si trovano molti tutorial (senz&#8217;altro utilissimi) riguardanti semplici operazioni realizzati per\u00f2 come progetti fini&#8230;<\/p>\n","protected":false},"author":540,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[563],"tags":[565,566,564,283,242],"class_list":["post-5815","post","type-post","status-publish","format-standard","hentry","category-progetti-completi","tag-applicazione-iphone","tag-creare-applicazioni-iphone-e-ipad","tag-progetto-completo","tag-tutorial-programmazione-iphone","tag-tutorial-xcode"],"acf":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/posts\/5815","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\/540"}],"replies":[{"embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/comments?post=5815"}],"version-history":[{"count":16,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/posts\/5815\/revisions"}],"predecessor-version":[{"id":5851,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/posts\/5815\/revisions\/5851"}],"wp:attachment":[{"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/media?parent=5815"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/categories?post=5815"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/tags?post=5815"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}