Från Flash till iPhoneutveckling - intervju med Anders Färdigh
Anders Färdigh använde tidigare främst flashplattformen men utvecklar nu mestadels för iPhone.
Apple har gjort det ganska tydligt att iPhone aldrig kommer få stöd för Flash. Eftersom flashutvecklare är utestängda från iPhone-plattformen är alternativet istället att lära sig Cocoa och Objective-C för att skapa appar. Jag har pratat lite med Anders Färdigh som gjort just detta.
Många flashutvecklare har blandade känslor när det kommer till Apples iPhone. Det är en telefon som imponerar när det kommer till användargränssnitt och funktion, men samtidigt är det en stängd plattform där Apple skriver reglerna. Som alla vet har Apple beslutat sig för att inte ge iPhone stöd för Flash vilket gör det svårt för flashutvecklare att kunna utveckla program för plattformen.
Valet är att antingen gå vägen via HTML5, som i sig inte skiljer sig speciellt mycket från Flash, eller att ta steget fullt ut och lära sig Objective-C och Cocoa. Vill man distribuera sina applikationer via App Store har man inget val, då är det Objective-C som gäller. Det finns, och det kommer fler, lösningar som gör att man kan utveckla i andra språk, men att använda Apples verktyg är det säkraste kortet.
Jag fick chansen att ställa några frågor till iPhone-utvecklaren Anders Färdigh. Han utvecklade tidigare främst för flashplattformen men har nu tagit steget till att mestadels utveckla för iPhone.
Kan du berätta lite kort om dig själv och din bakgrund när det gäller både flashplattformen och iPhone utveckling?
Efter att ha frilansat inom webbutveckling och mobil grafik började jag på Illianced med flashutveckling som enda fokus. Därefter började jag frilansa igen, till en början enbart med Flash. Sedan ett år tillbaka har jag använt iPhone SDK:t och senaste halvåret har jag mer eller mindre uteslutande arbetat med iPhone-projekt. Nu senast har jag varit med och startat upp mobilbyrån Appsters.
När du började att utveckla för iPhone, hade du någon nytta av dina tidigare erfarenheter från flashplattformen?
Absolut. Framförallt som en grund för att gå över till ett annat objektorienterat språk.
Hur var inlärningströskeln? Något speciellt som du upplevde som extra svårt?
Det svåraste för min del var att hitta rutiner för minneshantering som fungerar lite annorlunda. Sen är syntaxen till en början rätt främmande. Numera ser jag dock Objective-C som mitt huvudspråk och ser mer fördelar än nackdelar med det.
Vad gäller grafik och animering tycker jag fortfarande att Flash kan vara mer lättöverskådligt och snabbjobbat så fort man lämnar standardkomponenterna i iPhone SDK:t.
Vad har du för tips att ge till flashutvecklare som vill börja utveckla iPhoneapplikationer?
Alla är väl olika, men jag tror att man tjänar på att verkligen lära sig Objective-C och Cocoa-ramverket relativt grundligt. När man väl har koll på det kommer det gå i hög takt framåt.
De som redan utvecklar AS3 tror jag generellt har en ganska hög programmeringsmässig grundförsåelse och många klarar sig nog på material som finns på internet. Apple’s dokumentation i samband med iphoneutvecklingsbloggar kommer man långt på.
Jag skulle rekommendera att börja kolla på sajter som icodeblog.com , cocoadevcentral.com och cocoawithlove.com. Stanfords iPhonekurser (iTunesU) verkar också bra. Såg ett avsnitt men hade kommit lite för långt kunskapsmässigt för att uppskatta det. Tror dock att de är perfekta som introduktion.
Sen kan man hålla lite koll Sweden iPhone Development (iphonedev.se) och CocoaHeads Stockholm om ni söker den lokala iPhone-communityn för att träffa andra utvecklare: http://groups.google.com/group/iphonedev-swe ,
http://groups.google.com/group/cocoaheads-stockholm
Vad gäller det kodmässiga har jag verkligen lärt mig uppskatta Apples standardkomponenter/-lösningar. Läste nyligt en bloggare som skrev “If you can’t do it better than Apple – don’t do it”, vilket jag tycker är något man bör ta till sig. Program som Tweetie, DN På Stan, Flickr m fl tycker jag ändå ger en mycket bra användarupplevelse.
En stor orsak till Apples succé med iPhone är ju naturligtvis App Store och möjligheten för utvecklare att ta betalt för sina applikationer. Dock känns det lite som att guldruschen är över nu. Kan man fortfarande tjäna pengar på att sälja appar eller är konkurrensen för hård?
Det är nog få som tjänar stora pengar på att sälja appar. Om man släpper en app för svenska marknaden kan man ganska snabbt räkna ut att det är svårt att bli rik. Det går inte heller att bara släppa en app och tro att den automatiskt når topplistorna även om den är bra. Marknadsföring av app känns som en minst lika viktig del för att lyckas nu när du ska synas bland 140 000 appar. Det finns ju dock andra sätt att tjäna pengar förutom på just försäljningen via AppStore.
Adobe visade i slutet av förra året upp ”Packager for iPhone”, en lösning som tillåter utvecklare att skapa applikationer för iPhone direkt från Flash med Actionscript 3.0 som programmeringsspråk. Det finns också andra liknande utvecklingsverktyg. Ser du någon framtid för den här typen av lösning?
Jag har inte använt “Packager for iphone” och har inte tillräckligt stor insikt för att bedöma ur stort Flash kan bli som utvecklingsmiljö för iPhone-appar. Jag har dock inte blivit imponerad av något som släppts via Packagern hittills. Då jag provade spel på en iPhone 3G var prestandan dessutom rätt dålig, men det har jag förstått ska vara bättre när lösningen släpps för allmänheten.
Jag är inte heller direkt imponerad av det jag testat hittills. Är det möjligt att lösa
prestandaproblemen? Finns det inte en risk att man ändå måste optimera sin kod för iPhone och att fördelarna då till stor del försvinner?
Prestandan känns som en superviktig del för att Adobe ska lyckas med iPhone-satsningen. Måste dock erkänna att jag hoppas att AppStore inte väller över av "Flash-iPhone-appar" och spel. Dels för att det blir svårare att synas men även för att Apples granskningsprocess kan bli längre.
Skulle du kunna tänka dig att använda sådana här utvecklingsverktyg, eller är nackdelarna för stora?
Jag har börjat gilla objective-c till den grad att jag helst inte lämnar språket förutom för korta utsvävningar. Men ett utvecklingsverktyg som skulle skapa bra och prestandaoptimerade program för flera plattformar skulle absolut kunna vara intressant. Där exempelvis Flex inte bara kompilerar en flex-app utan även en native Android- och iPhone-app. Jag skulle gärna höra om någon läsare vet mer.
Hur ser du på framtiden för iPhone och dess applikationer? Är det verkligen hållbart att fortsätta utveckla för en specifik plattform med tanke på nya enheter och plattformar som börjar dyka upp?
Det känns som att det är svårt att få de stora mobiljättarna att närma sig varandra så i stora drag lär mycket vara likt hur det ser ut nu även om det inte är tidseffektivt för utvecklare. Jag antar att man kommer välja plattformar efter budget och målgrupp. Sen kommer nog Apple, Google, Samsung, Microsoft och Intel/Nokia göra sitt bästa för att locka till sig utvecklare av sina respektive plattformar. Appar känns centralt för att lyckas just nu och de vill självklart åstadkomma samma succé som Apple fått med AppStore, vilket genererar både användare och pengar.
När man pratar om Flash och iPhone är det ofrånkomligt att inte diskutera avsaknaden av Flashspelare. Vad är dina tankar kring att iPhone ännu inte har stöd för Flash?
För iPhone bryr jag mig inte så mycket. Det är ingenting jag saknar. Däremot är det något jag defintivt skulle uppskatta i en iPad.
Precis. Vad tror du är orsaken till att Apple vägrar Flash? Prestanda, strategi?
Strategi. Vet inte hur stor vikt man ska lägga vid Steve Jobs uttalanden om att det är för buggigt.
Apple har ju tydligt visat att det är HTML5 som gäller för webbapplikationer och Objective-C för applikationer till App-store. Har Flash någon framtid? Då tänker jag främst på iPhone, men också i ett större perspektiv.
Flash på iPhone verkar ju vara rätt dött och HTML5 verkar kunna ta stora delar av det som tidigare per automatik kopplats till flash. Jag tror dock att Flash kommer ha en stark roll inom kombinerade webb/desktop-lösningar samt spel.
Tusen tack för att du ställde upp på den här intervjun. Har du några egna appar du vill tipsa om, eller kanske några andra appar du själv tycker är bra?
Tack själv! Det var bara roligt. Jag jobbar fortfarande en del incognito som underleverantör, men under våren kommer Appsters slutföra några intressanta egna kundprojekt. På startskärmen: Tweetie2, Dropbox, Analytics App, Wordpress2, Orbital, DN På Stan, SVT Play.
Postat 2/13/2010, Kommentarer (10)Taggar: iphone intervju cocoa objective-c
Kommentarer:
Kommentera inlägget