Interview met ontwikkelaar Shane Conder & Lauren Darcey

Android SDK-experts en Mobiletuts + columnisten Shane Conder en Lauren Darcey vertellen over hun ervaringen met mobiele ontwikkeling en bieden advies voor mensen die de branche inbreken. Een must voor aspirant Android-ontwikkelaars!


Vraag ons wat over je achtergrond. Hoe ben je begonnen met programmeren in het algemeen en hoe ben je in eerste instantie geïnteresseerd geraakt in mobiele ontwikkeling??

LED: We zijn allebei geeks in hart en nieren, begonnen met programmeren lang voordat we rijbewijzen kregen en wisten dat we informatica wilden studeren. We ontmoetten elkaar in een technisch schrijven voor computertechniek aan de Universiteit van Californië, waar we beiden bij waren. We zijn net afgestudeerd voordat de tech bubble barstte en banen vond in de Silicon Valley.

SAC: Inderdaad, mijn eerste programmering was al heel vroeg met Logo en later met BASIC. Op de middelbare school, waar ik een paar Pascallessen had, onderwees ik mezelf x86 montage en C thuis. Dit maakte Computer Science een voor de hand liggende keuze op de universiteit. Ik heb altijd van kleine elektronische gadgets gehouden, dus mobiele ontwikkeling was ook een voor de hand liggende keuze voor mij, hoewel dat me niet tegen genoeg server- en bedrijfswerk beschermde.

LED: Onze eerste ervaring met het ontwikkelen van mobiele apps was met BREW. Later zijn we vertakt naar andere platforms. Shane is zeker een gadget, maar ik ben meer geobsedeerd door app-ideeën. Ik heb een dagboek van app-ideeën voor meer dan een decennium bewaard en de lijst wordt alleen maar langer. Er is gewoon niet genoeg tijd om ze allemaal te ontwikkelen!

QWanneer u voor het eerst over Android hoorde, en hoe zit het met het platform, heeft u besloten de SDK onder de knie te krijgen?

LED:Nadat we in het verleden voor grote mobiele platforms hadden ontwikkeld, erkenden we allebei de nieuwe mogelijkheden die Android te bieden had. De synergie tussen Android en Google als beschermheer was te goed om te laten liggen.

SAC: Het feit dat het Java was in plaats van Objective-C en de hulpprogramma's konden draaien op Windows, Mac of Linux deed ook geen pijn. Ik volg al geruime tijd mobiel nieuws. Ik hoorde eigenlijk over Android toen Google het aankondigde. Ons eerste Android-ontwikkelingsboek is geschreven voordat Android-apparaten beschikbaar waren - lang voordat de SDK van Android 1.0 uitkwam.

V Wat voor advies heb je voor iemand die net begint met het leren van mobiele ontwikkeling?

Neem de tijd om vertrouwd te raken met het platform.

LED: Onderschat niet wat er voor nodig is om een ​​geweldige app te schrijven. Zeker, er zijn verhalen over het feit dat de kind een app in een weekend uit hun garage (of box?) Haalt, maar dat is niet de manier waarop 99,99% van de apps wordt ontwikkeld. De rest van ons besteedt veel tijd en moeite aan het ontwerpen, ontwikkelen, testen en publiceren van apps - op deze manier is het iets anders dan het schrijven van apps voor desktops of servers.

SAC: U hebt een goed begrip van de programmeertaal nodig (Java, als u zich ontwikkelt voor Android). Neem de tijd om vertrouwd te raken met het platform. Meer informatie over de levenscyclus van de app. Het jargon. Als je geen ontwikkelaar bent, raad ik aan om wat programmeerbasics te leren. Zoals Laurie zegt, zijn er die verhalen ... Het zijn verhalen omdat ze eenvoudig niet de norm zijn.

LED: Oh ja, en zorg dat je een Android-apparaat krijgt om op te testen. We hebben veel nieuwelingen gezien die Android-apps probeerden te ontwikkelen zonder een enkel Android-apparaat te bezitten. Hoe zit het daarmee?

V Welke obstakels of concepten lijken mensen het eerst moeilijk te hebben bij het leren van de Android-ontwikkeling? Alle tips om ze te overwinnen?

LED: Vaak hebben ontwikkelaars al een app geschreven voor een ander platform zoals iOS en leren ze nu Android om de app naar een nieuw platform te porteren. Mijn advies hier is: respecteer platformverschillen. Als u een Android-app schrijft, schrijft u een Android-app. Als u een iPhone-app schrijft, schrijft u een iOS-app. Als u beide platforms target, moet u begrijpen dat de onderliggende platformarchitectuur, de paradigma's van de gebruikersinterface en de gebruikers zelf op subtiele wijze van elkaar verschillen en verschillende gebruikerservaringen verwachten.

SAC: Elk mobiel platform heeft zijn eigen jargon. Het is verleidelijk om gewoon bij de voorbeelden te komen en het idee van uw app bruut te forceren. Maar dit komt meestal terug om je later te achtervolgen. Neem de tijd om het platform-jargon te leren. Begrijp wat een activiteit is, wat een intentie is. We praten over deze concepten in onze boeken, evenals onze online handleidingen en artikelen.

V Welke Android open-sourceprojecten vind je het nuttigst??

Benieuwd hoe Google wat Live Wallpapers heeft gemaakt? De bron is allemaal open beschikbaar om te zien, van te leren en zelfs te gebruiken.

SAC: Welnu, het voor de hand liggende meest bruikbare open-sourceproject is het Android Open Source Project (meestal AOSP genoemd). Het kan handig zijn om te zien hoe verschillende onderdelen van Android zijn samengesteld om uw eigen apps te ontwikkelen. Benieuwd hoe Google wat Live Wallpapers heeft gemaakt? De bron is allemaal open beschikbaar om te zien, van te leren en zelfs te gebruiken.

Als u HTML5-apps voor mobiel maakt, is het PhoneGap-project van onschatbare waarde, zowel om te gebruiken als om van te leren. Ik vind het ook leuk om gewoon te zoeken op open source hostingplatforms, zoals Google Code, voor Android-gerelateerde projecten.

LED: Ik ben het met Shane eens. Vergeet naast de open-sourceprojecten niet de Android online community. Er is een bloeiende groep ontwikkelaars online die je graag helpen wanneer je problemen tegenkomt of een vraag hebt.

V Zijn er commerciële softwarelicenties of -hulpmiddelen die u speciaal voor uw projecten hebt gevonden??

LED: We geven absoluut de voorkeur aan de uitstekende gratis tools die beschikbaar zijn voor Android-ontwikkeling, zoals Eclipse en de Android SDK-tools. Dat gezegd hebbende, sommige dingen kunnen de moeite waard zijn om voor te betalen, zoals een goed bugvolgsysteem, een goed broncontrolesysteem, enz. Wat andere vergoedingen betreft die u als een Android-ontwikkelaar kunt maken, moet u rekening houden met de Amazon App-ontwikkelaar programma, dat een jaarlijkse vergoeding heeft.

SAC: Het grootste deel van uw Android-ontwikkelingsbudget gaat waarschijnlijk naar apparaten en services die aan hen zijn gekoppeld. Als uw apps speciale functies of stockcode / services bevatten die u zelf niet wilt schrijven, kunt u de code van een repository zoals Code Canyon gebruiken (https://codecanyon.net/category/mobile/android ). We hebben zelfs een code om daar te verkopen! :)

V Elk nieuw jaar brengt opwindende nieuwe hardware met zich mee. Zijn er opkomende apparaten of accessoires waar u specifiek op anticipeert in 2012?

Ik hoop meer functionaliteit voor meerdere apparaten te zien. Tabletten verbinden met telefoons. Telefoons die onderling verbonden zijn met tv's.

LED: De nieuwe hardware eindigt nooit met Android. Er is altijd wel een nieuw apparaat. We hebben genoten van het werken met de Kindle Fire van Amazon en de Galaxy Nexus is best wel lief. Ik ben benieuwd wat er dit jaar met Google TV zal gebeuren.

SAC: Ik ben benieuwd wat mensen gaan doen met de Android ADK (Accessory Development Kit). Het is beschikbaar sinds Google IO 2010 en sindsdien is er nog maar weinig van gehoord of gezien.

Ik verwacht quad-core apparaten met betere grafische weergave en (hopelijk) een langere levensduur van de batterij. De Asus Transformer Prime voelt zich misschien niet oud en onhandig aan het eind van het jaar, maar het zou op geen enkele manier het topapparaat moeten zijn. Ik hoop meer functionaliteit voor meerdere apparaten te zien. Tabletten verbinden met telefoons. Telefoons die onderling verbonden zijn met tv's. Meer crossover-apparaten, zoals de Motorola Atrix- en Asus Transformer-tablets die netbooks worden. Met snellere processors zal dit soort apparaten de low-end laptops naar de achtergrond duwen.

V Hoewel u experts bent in Android-ontwikkeling, hebt u ook met een groot aantal andere SDK's en mobiele platforms gewerkt. Hoe is de ontwikkeling van Android-platforms naar jouw mening te vergelijken met bijvoorbeeld iOS of BlackBerry??

U hoeft niet te zorgen voor of te worden goedgekeurd door iemand anders dan uw gebruikers.

LED: We hebben allebei veel ervaring met het ontwikkelen van commerciële applicaties, van antivirusoplossingen voor enterprise servers tot MMS-clients en tientallen mobiele apps. We hebben apps geschreven voor iOS, BlackBerry, Palm, BREW, J2ME, Windows Mobile en meer, om nog te zwijgen van mobiele web-apps. Ontwikkelen voor Android is vergelijkbaar met andere platforms en uniek op zijn eigen manier. Het ontwikkelen van een app voor Android vereist nog steeds hetzelfde soort softwareproces en -organisatie als elk ander platform, mobiel of anderszins. En aan het einde van de dag zijn de belangrijkste functies beschikbaar op alle concurrerende mobiele platforms ... er is geen "beste". Tegenwoordig moet u ze allemaal ondersteunen om uw gebruikers te bereiken.

Natuurlijk wordt Android aangeprezen als open en gratis, maar mijn favoriete ding over Android is dat het toegankelijk is. Je schrijft code in een gevestigde programmeertaal (dat wil zeggen Java) en gebruikt vertrouwde tools zoals Eclipse. De hulpprogramma's en SDK zijn gratis en eenvoudig te verkrijgen. De informatie die er is (bijvoorbeeld boeken, tutorials, forums, enz.) Is overal verkrijgbaar en verbetert voortdurend. En misschien wordt het verschil tussen Android en concurrerende platforms pas duidelijk tijdens de publicatie: geen ommuurde tuinen, u kunt elke Android-app ontwikkelen en publiceren die u maar wilt. U hoeft niet te zorgen voor of te worden goedgekeurd door iemand anders dan uw gebruikers. U kunt rechtstreeks met hen communiceren.

V De applicaties in de winkels van vandaag vallen over het algemeen in drie hoofdbedrijfsmodellen: advertentie-gebaseerd (bijvoorbeeld gratis app-content ondersteund door advertenties), freemium (bijvoorbeeld wat gratis inhoud met betaalde premium-functies) en pay-to-download. Van deze, welke heeft het meeste succes gehad met de applicaties die u heeft ontwikkeld? Geef je er de voorkeur aan boven de anderen?

LED: We doen veel mobiel consultingwerk. Onze klanten hebben verschillende doelen en definities van succes als het gaat om hun mobiele apps. Het komt er eigenlijk op neer waarom je een app ontwikkelt.

Koppel gebruikers vast door ze wat tijd te laten investeren in het spel en ze zullen dan graag een beetje extra betalen voor premium-functies.

Sommigen willen mobiele extensies van hun bestaande merken aanbieden - deze klanten willen niet veel geld verdienen, maar ze willen veel gebruikers. Voor dit type client zijn gratis apps (of apps voor bestaande gebruikers die betalen voor andere services die zij aanbieden) de juiste keuze. Hetzelfde geldt voor apps voor openbare diensten.

Wat de traditionele app-ontwikkeling betreft, hebben we gezien dat freemium heel goed werkt, nu het goed is ingeburgerd bij gebruikers en marktplaatsen, vooral voor games die API's voor in-app-facturering van Android Market gebruiken. Koppel gebruikers vast door ze wat tijd te laten investeren in het spel en ze zullen dan graag een beetje extra betalen voor premium-functies. Het succes van apps zoals FarmVille heeft ervoor gezorgd dat meer klanten deze weg de afgelopen dagen hebben genomen.

SAC: Freemium is absoluut een geweldig model. Het heeft bewezen zeer goed te werken met alle soorten games. Sommige apps lenen zich echter niet goed voor veel nieuwe aankopen of bevatten inhoud die traditioneel gratis is. Deze apps verdienen het beste inkomsten met advertenties. Het werkt echter alleen echt goed als de advertenties goed zijn gericht op het publiek en onopvallend zijn.

Vraag. U bent allebei voorzitter van de Stemmen die belangrijk zijn: Android Developer Conference in februari. Welke gesprekken op het schema kijk je er naar uit om het meest aanwezig te zijn?

Alle sprekers zijn fantastisch

LED: Het samenstellen van deze conferentie was een spannende ervaring. Alle sprekers zijn fantastisch en ik ben blij dat we met een enkele track gaan, dus ik hoef niet te kiezen welke gesprekken bijwonen - ik kan ze allemaal bijwonen! Ik kan zeggen dat de gesprekken van Dan Galpin altijd zeer vermakelijk zijn - hij is een natuurlijke thespian (en een pleitbezorger voor ontwikkelaars bij Google).

SAC: Ik ben het met Lauren eens. De single-track ervaring betekent dat ik niets hoef te missen. Ik ben altijd geïnteresseerd om te zien wat anderen te zeggen hebben over onderwerpen waarin ik ben geïnteresseerd, zoals Android Game Programming met Rick Rogers, Android Graphics in actie met Chet Haase en Romain Guy en Augmented Reality met Chris Haseman.

V Je presenteert op 8 februari een Android Bootcamp voor de hele dag, correct? Wat kunnen de aanwezigen verwachten?

LED: Dat is juist! De VTM-conferentie is gericht op meer ervaren en ervaren mobiele ontwikkelaars, maar we wilden ook geïnteresseerden in het begin van het platform kunnen betrekken. Daarom hebben we besloten om net voor de conferentie een bootcamp toe te voegen. We beginnen vanaf de basis - de nieuwste hulpprogramma's installeren, enkele eenvoudige apps schrijven en mensen vertrouwd maken met het platform-jargon.

SAC: Er zijn handige handouts voor spiekbriefjes, boek weggeefacties en geen huiswerk! Ons doel is om tegen het einde van de sessie de ontwikkellaptops van iedereen geconfigureerd te hebben en te werken aan Android-ontwikkeling. We zullen ook iedereen begeleiden bij het schrijven van hun eerste app en deze op een apparaat laden. Dus, ja, kom met een laptop, een apparaat en een kabel om ze te verbinden. Oh, en dat "geen huiswerk" beetje ... je huiswerk, als je ervoor kiest om het te accepteren, zal het zijn om een ​​geweldige app te schrijven, het te publiceren en ons erover te vertellen. Je hebt zo lang als je nodig hebt. :)

Q Laatste vraag. Voor diegenen die net begonnen zijn met Android, maar wat eerdere programmeerervaring hebben, welke boeken, video's en websites raad je aan om te onderzoeken?

LED: Nou ja, goed. Laten we eens kijken.

Eerste stop: download en installeer de Android SDK en hulpprogramma's van http://developer.android.com.

Volgende stap: aan de slag!

Poets je Java op: bekijk onze Learn Java voor Android-serie op MobileTuts http://mobile.tutsplus.com/series/learn-java-android-development/

Klaar voor tutorials? Bekijk de vele Android-tutorials over Mobiletuts + - verdeeld over beginners-, intermediate- en advanced-vaardigheden: http://mobile.tutsplus.com/category/tutorials/android/.

Een meer gestructureerde leerervaring nodig? Bekijk onze boeken Sams Teach Yourself Android in 24 Hours and Android Wireless Application Development

Vastzitten? Bekijk Stack Overflow om te zien of iemand je probleem al heeft opgelost. Zo nee, post een vraag.

SAC:

Het Android Developer-team heeft enkele geweldige video's samengesteld voor visuele studenten.

Je vindt onze volledige publicatielijst van boeken en artikelen over de ontwikkeling van Android-apps hier: http://androidbook.blogspot.com/p/full-publication-list.html.


Wil je geïnterviewd worden voor een Mobiletuts + Developer Post?

Ben je een ontwikkelaar met een interessante mobiele applicatie of bedrijf? Een interview met Mobiletuts + is een geweldige manier om het woord over uw apps te verspreiden en tegelijkertijd waardevolle kennis aan onze gemeenschap te bieden. Als u een ontwikkelaar bent die geïnteresseerd is om geïnterviewd te worden door Mobiletuts +, neem dan online contact met ons op of via twitter (@envatomobile).