Escola Universitària D'enginyeria Tècnica De
Total Page:16
File Type:pdf, Size:1020Kb
ESCOLA UNIVERSITÀRIA D’ENGINYERIA TÈCNICA DE TELECOMUNICACIÓ LA SALLE TREBALL FINAL DE GRAU GRAU EN ENGINYERIA MULTIMÈDIA iOS App: Hi ha vida més enllà de Xcode ALUMNE PROFESSOR PONENT Albert Alvarez Castell Guillem Villa Fernandez ACTA DE L'EXAMEN DEL TREBALL FINAL DE GRAU Reunit el Tribunal qualificador en el dia de la data, l'alumne D. Albert Alvarez Castell va exposar el seu Treball de Final de Grau, el qual va tractar sobre el tema següent: iOS App: Hi ha vida més enllà de Xcode Acabada l'exposició i contestades per part de l'alumne les objeccions formulades pels Srs. membres del tribunal, aquest valorà l'esmentat Treball amb la qualificació de Barcelona, VOCAL DEL TRIBUNAL VOCAL DEL TRIBUNAL PRESIDENT DEL TRIBUNAL IOS APP : HI HA VIDA MÉS ENLLÀ DE XCODE Albert Alvarez Castell ABSTRACT El projecte està dirigit a comparar dues tecnologies diferents amb les que crearem una mateixa aplicació. Així podrem extreure, analitzant diferents aspectes del desenvolupament, quina tecnologia és més adient i eficient per a realitzar un projecte segons les seves necessitats. Com el projecte que buscàvem era una aplicació per iOS , lògicament una de les tecnologies és la nativa, per lo que hem utilitzat Objective-C amb Xcode i com a framework, Cocos2D . Per altre banda, hem escollit el llenguatge AS3 amb Flash i Starling com a framework com a tecnologia amb la que comparar a la nativa per a dispositius amb iOS . I IOS APP : HI HA VIDA MÉS ENLLÀ DE XCODE Albert Alvarez Castell El proyecto está dirigido a comparar dos tecnologías diferentes con las que crearemos una misma aplicación. De ese modo podremos extraer, analizando diferentes aspectos del desarrollo, que tecnología es más adecuada y eficiente para realizar un proyecto según sus necesidades. Como el proyecto que buscábamos era una aplicación para iOS , lógicamente una de las tecnologías es la nativa, por lo que hemos utilizado Objective-C con Xcode y como framework, Cocos2D . Por otro lado, hemos escogido el lenguaje AS3 con Flash y Starling como framework, como tecnología con la que comparar a la nativa para dispositivos con iOS . II IOS APP : HI HA VIDA MÉS ENLLÀ DE XCODE Albert Alvarez Castell This project is focused on comparing two different technologies to create one application. Analyzing distinct aspects of the development process, we will be able to conclude which technology is more suitable and efficient in order to create a project according to its needs. As the project developed is an iOS application, obviously, one of the technologies is native; therefore, we have used Objective-C with Xcode and, as framework, Cocos2D . In addition, we have chosen language AS3, with Flash and Starling as framework, to be the technology compared to the native one, commonly used in iOS devices. III IOS APP : HI HA VIDA MÉS ENLLÀ DE XCODE Albert Alvarez Castell RESUM Ja fa un parell d’anys que tinc un iPhone 3G . Abans de l’ iPhone no havia tingut mai un smartphone, per lo que el canvi va ser més que significant. Va ser un canvi d’estil de vida. M’explicaré, ja que afirmar una cosa així potser sona molt exagerat. Els conceptes bàsics que jo volia en un mòbil, com trucar o enviar sms, més o menys eren el mateix, només se’m presentava una manera diferent de fer aquestes coses, més a nivell visual que res. Però hi havia més. La manera en la que consumia continguts. Vaig passar d’utilitzar el mòbil un parell de vegades a la setmana, majoritàriament els caps de setmana per trucar als amics, a utilitzar-lo cada dia. Amb l’ iPhone , mirava els e-mails des de el mòbil, consultava les webs principals que mirava normalment amb el mòbil; en comptes de enviar sms, enviava missatges instantanis a través de Internet; escoltava música amb l’ iPhone , mirava series a l’autobús amb el mòbil i així moltes coses més que he anat descobrint a poc a poc. M’agrada el meu iPhone i per això m’interessa molt tot el que el rodeja. Així que, quan a la meva feina em van comentar el que em semblaria aprendre a desenvolupar aplicacions per iOS , enseguida vaig dir que sí. I gracies al Guillem, un dels meus gurus informàtics que sempre em descobreix coses noves, que em va parlar sobre l’existència del framework Starling , vaig veure clar el camí que tenia que seguir per a fer el meu projecte. Des de fa molts anys que treballo amb Flash , per lo que el llenguatge AS3 em resulta molt més que familiar. Hem resultaria fàcil fer un aplicació amb aquesta tecnologia, però el que tenia que aprendre era a poder exportar l’aplicació en un arxiu IPA. També tindria que descobrir Objective-C, l’entorn Xcode i familiaritzar-me amb Starling . Suposava un repte molt interessant i que podria disfrutar molt amb els resultats. IV IOS APP : HI HA VIDA MÉS ENLLÀ DE XCODE Albert Alvarez Castell Parlant de Flash , el meu dia a dia és treballar amb ell, és la meva feina a on treballo ara i a on treballava abans, al departament de la universitat. Encara recordo la primera vegada que vaig fer alguna cosa amb Flash. Va ser en una classe de Produccions Multimèdia i des de llavors aquesta tecnologia a canviat molt. En aquells moments el llenguatge era ActionScipt 2 i enseguida em va agradar. Al acabar el curs, vaig entrar al departament i vaig seguir amb Flash . Al cap de poc temps, va aparèixer l’evolució amb ActionScript 3 , un llenguatge molt més orientat a objectes que el seu predecessor, i em van encantar les seves possibilitats. Al departament de Multimèdia i a la universitat vaig aprendre molt i no només a nivell professional. Per això, m’agradaria donar les gracies a aquelles persones que van formar part de la meva vida allà, en especial al Guillem, una gran persona, amic, professor i jefe. Gracies a persones com ell, com el Jordi, Serto, Marc, Noel, Albert, Isaac, Pep, Gerard i molts més, no podria tindre un millor record dels meus anys a la universitat. Sempre recordaré aquella època amb nostàlgia. També agrair a les persones que m’ajuden a millorar personal i professionalment cada dia, com el Lluís, el millor amic que sempre m’ha fet costat des de petit; la Marta, que sempre ha estat quan l’he necessitat; el Jordi, un gran amic des de fa anys; la Jana, que té una paciència infinita amb mi i és la gran amiga amb la que vaig connectar des el primer dia com si ens coneguéssim de tota la vida; el Isma i el Carlos, que sempre estan per donar-me un cop de mà i escoltar-me. Per últim, els agraïments més sentits. A la meva família. Al meu pare, que m’ha ensenyat que amb educació i esforç pots aconseguir qualsevol cosa per gran que sigui; a la meva mare, que sempre m’ha cuidat i ha posat les meves necessitats per sobre de les seves per a que sigui feliç; al meu avi, que sempre va vetllar per a que no sortís del camí correcte; al meu germà, el millor que podria tindre i que cada dia fa que em senti V IOS APP : HI HA VIDA MÉS ENLLÀ DE XCODE Albert Alvarez Castell orgullós de ser el seu germà gran; i, finalment, a la meva millor amiga, la meva companya, el meu suport i el meu cor, la Idoia. Moltes gracies a tots. Si avui soc la persona que soc, és gracies a vosaltres. VI IOS APP : HI HA VIDA MÉS ENLLÀ DE XCODE Albert Alvarez Castell ÍNDEX 1 INTRODUCCIÓ 1 1.1 MARC 1 1.2 ESTAT DE L’ART 3 1.3 DESCRIPCIÓ DEL PROBLEMA 12 1.4 SOLUCIÓ PROPOSADA 13 1.5 PERSPECTIVA GENERAL DEL PROJECTE 14 1.5.1 Fonaments teòrics 14 1.5.2 Fonaments pràctics 15 1.5.3 Resultats 15 1.5.4 Conclusions i línies de futur 16 2 FONAMENTS TEÒRICS 17 2.1 EL SISTEMA OPERATIU iOS I ELS DISPOSITIUS QUE EL PORTEN 17 2.1.1 El sistema operatiu iOS 17 2.1.2 Dispositius amb iOS 20 2.2 XCODE, OBJECTIVE-C I COCOS2D 22 2.2.1 Xcode 22 2.2.2 Objective-C 22 2.2.3 Què és Cocos2D? 27 2.3 FLASH, ACTIONSCRIPT 3 I STARLING 28 2.3.1 Flash 28 2.3.2 ActionScript 3 28 2.3.3 Què és Starling? 31 VII IOS APP : HI HA VIDA MÉS ENLLÀ DE XCODE Albert Alvarez Castell 2.4 MOTORS DE FÍSIQUES: BOX2D I NAPE 32 2.4.1 Box2D 32 2.4.2 Nape 33 3 FONAMENTS PRÀCTICS 34 3.1 XCODE 4.3.3 34 3.2 FLASHDEVELOP 36 3.3 APLICACIÓ DEMO AMB FÍSIQUES 38 3.3.1 Versió Objective-C, amb Cocos2D i Box2D 38 3.3.2 Versió ActionScript 3, amb Starling i Nape 40 3.4 APLICACIÓ JOC AMB ALTA CARREGA D’ELEMENTS GRÀFICS 42 3.4.1 Versió Objective-C amb Cocos2D 43 3.4.2 Versió ActionScript 3 amb Starling 45 4 RESULTATS 47 5 CONCLUSIONS I LÍNIES DE FUTUR 56 5.1 CONCLUSIONS 56 5.2 LÍNIES DE FUTUR 57 BIBLIOGRAFIA I FONTS DOCUMENTALS 58 ÍNDEX DE FIGURES 61 VIII IOS APP : HI HA VIDA MÉS ENLLÀ DE XCODE Albert Alvarez Castell 1 INTRODUCCIÓ 1.1 MARC Les aplicacions per a dispositius mòbils és un mercat ja pràcticament consolidat, que no para d’evolucionar. Cada dia hi ha més smartphones i més gent que els utilitza, i cada dia hi ha més consum d’aplicacions per a aquests dispositius.