Entretien avec les développeurs Shane Conder & Lauren Darcey

Les experts du SDK Android et les chroniqueurs de Mobiletuts +, Shane Conder et Lauren Darcey, parlent de leurs expériences en matière de développement mobile et offrent des conseils à ceux qui se lancent dans le secteur. A lire absolument pour les développeurs Android en herbe!


Q Parlez-nous un peu de votre parcours. Comment avez-vous commencé la programmation en général et comment vous êtes-vous intéressé au développement mobile en particulier??

LED: Nous sommes tous les deux des geeks dans l'âme, nous avons commencé à programmer bien avant d'avoir obtenu le permis de conduire et savions que nous voulions étudier l'informatique. Nous nous sommes rencontrés dans un cours de rédaction technique pour un cours d'ingénierie informatique à l'Université de Californie, auquel nous avons tous les deux assisté. Nous avons obtenu notre diplôme juste avant l'éclatement de la bulle technologique et avons trouvé un emploi dans la Silicon Valley..

SAC: En effet, ma première programmation a été très tôt avec Logo, puis plus tard avec BASIC. Au lycée, où j’avais quelques cours de Pascal, j’enseignais moi-même l’assemblage x86 et le C à la maison. Cela a fait de l'informatique un choix évident au collège. J'ai toujours aimé les petits gadgets électroniques. Le développement mobile était donc également un choix évident pour moi, bien que cela ne me protège pas de l'abondance de travaux de serveur et d'entreprise..

LED: Notre première véritable expérience de développement d’applications mobiles a été réalisée avec BREW. Plus tard, nous nous sommes diversifiés sur d'autres plateformes. Shane est un gars gadget à coup sûr, mais je suis plus obsédé par les idées d'applications. J'ai tenu un journal d'idées d'applications pendant plus d'une décennie et la liste ne cesse de s'allonger. Il n'y a pas assez de temps pour tout développer!

QQuand avez-vous entendu parler d'Android pour la première fois et qu'en est-il de la plate-forme qui vous a décidé à maîtriser le SDK??

LED:Développés pour de grandes plates-formes mobiles par le passé, nous avons tous deux reconnu les nouvelles opportunités offertes par Android. La synergie entre Android et Google en tant que patron était trop belle pour la laisser passer.

SAC: Le fait qu’il s’agisse de Java au lieu d’Objective-C et que les outils peuvent fonctionner sous Windows, Mac ou Linux n’a pas fait de mal non plus. J'ai suivi les nouvelles mobiles depuis un certain temps maintenant. J'ai entendu parler d'Android lorsque Google l'a annoncé. Notre premier livre de développement sur Android a été écrit avant la disponibilité des appareils Android, bien avant la sortie du SDK Android 1.0..

Q Quel conseil donneriez-vous à quelqu'un qui commence tout juste à apprendre le développement mobile??

Prenez le temps de vous familiariser avec la plateforme.

LED: Ne sous-estimez pas ce qu'il faut pour écrire une application qui tue. Bien sûr, il y a des histoires sur le gamin qui sortait une application le week-end de son garage (ou de son parc?), Mais ce n'est pas ainsi que 99,99% des applications sont développées. Le reste d'entre nous consacre beaucoup de temps et d'efforts à la conception, au développement, au test et à la publication d'applications. De cette manière, c'est un peu différent d'écrire des applications pour des ordinateurs de bureau ou des serveurs..

SAC: Vous avez besoin d'une solide compréhension du langage de programmation (Java, si vous développez pour Android). Prenez le temps de vous familiariser avec la plateforme. En savoir plus sur le cycle de vie de l'application. Le jargon Si vous n'êtes pas un développeur, je vous recommande au moins d'apprendre quelques bases de la programmation. Comme le dit Laurie, il y a ces histoires… Ce sont des histoires parce qu'elles sont simples, pas la norme.

LED: Ah oui, et procurez-vous un appareil Android sur lequel tester. Nous avons vu beaucoup de débutants essayer de développer des applications Android sans posséder un seul appareil Android. Quoi de neuf avec ça?

Q Lors de la première utilisation du développement Android, quels sont les obstacles ou les concepts avec lesquels les gens semblent avoir le plus de difficultés? Des allusions pour les surmonter?

LED: Souvent, les développeurs ont déjà écrit une application pour une autre plate-forme comme iOS et apprennent maintenant Android afin de porter l'application sur une nouvelle plate-forme. Mon conseil est le suivant: respectez les différences de plate-forme. Si vous écrivez une application Android, écrivez une application Android. Si vous écrivez une application iPhone, écrivez une application iOS. Si vous ciblez les deux plates-formes, sachez que l'architecture de la plate-forme sous-jacente, les paradigmes d'interface utilisateur et les utilisateurs eux-mêmes sont légèrement différents et attendent des expériences d'utilisateur différentes..

SAC: Chaque plate-forme mobile a son propre jargon. Il est tentant de sauter avec les exemples et de forcer l'idée de votre application à exister. Mais cela revient généralement à vous hanter plus tard. Prenez le temps d'apprendre le jargon de la plate-forme. Comprenez ce qu'est une activité, ce qu'est une intention. Nous parlons de ces concepts dans nos livres, ainsi que dans nos tutoriels et articles en ligne..

Q Quels projets Open Source Android trouvez-vous les plus utiles??

Curieux de savoir comment Google a créé certains fonds d'écran? La source est toute ouverte disponible pour voir, apprendre et même utiliser.

SAC: Eh bien, le projet open source le plus utile est évidemment le projet Open Source Android (généralement appelé projet AOSP). Voir comment différentes parties d’Android ont été mises en place peut être utile pour développer vos propres applications. Curieux de savoir comment Google a créé certains fonds d'écran? La source est toute ouverte disponible pour voir, apprendre et même utiliser.

Si vous créez des applications HTML5 pour mobile, le projet PhoneGap est inestimable, à utiliser et à apprendre. J'aime aussi simplement chercher sur des plateformes d'hébergement open source, telles que Google Code, pour des projets liés à Android.

LED: Je suis d'accord avec Shane. En plus des projets open-source, n'oubliez pas la communauté en ligne Android. Il existe un groupe florissant de développeurs en ligne qui se feront un plaisir de vous aider en cas de problème ou de question..

Q Existe-t-il des licences de logiciel commerciales ou des outils que vous avez trouvés particulièrement utiles dans vos projets??

LED: Nous préférons absolument utiliser les excellents outils gratuits disponibles pour le développement Android, tels que Eclipse et les outils SDK Android. Cela dit, certaines choses peuvent valoir la peine d'être payées, comme un bon système de suivi des bogues, un bon système de contrôle de la source, etc. En ce qui concerne les autres frais que vous pouvez choisir de payer en tant que développeur Android, vous voudrez peut-être envisager Amazon App Developer. programme, qui a une cotisation annuelle.

SAC: La majeure partie de votre budget de développement Android ira probablement aux appareils et services qui leur sont associés. Si vos applications incluent des fonctionnalités spéciales ou des codes / services courants que vous ne voulez pas écrire vous-même, vous pouvez exploiter le code de licence depuis un référentiel tel que Code Canyon (https://codecanyon.net/category/mobile/android). ). Nous avons même du code à vendre là-bas! :)

Q Chaque nouvelle année apporte un nouveau matériel passionnant. Existe-t-il des appareils ou des accessoires à venir que vous prévoyez spécifiquement en 2012??

J'espère voir plus de fonctionnalités inter-périphériques. Comprimés interconnectant avec des téléphones. Téléphones interconnectés avec des téléviseurs.

LED: Le nouveau matériel ne se termine jamais avec Android. Il y a toujours un nouvel appareil sur le marché. Nous aimons travailler avec le Kindle Fire d’Amazon et le Galaxy Nexus est plutôt sympathique. Je suis curieux de savoir ce qui se passera avec Google TV cette année..

SAC: Je suis curieux de savoir ce que les gens vont faire avec Android ADK (Accessory Development Kit). Il est disponible depuis Google IO 2010 et pourtant, peu de choses ont été vues ou entendues depuis..

Je prévois des périphériques quadricœurs avec de meilleurs graphismes et (espérons-le) une plus grande autonomie de la batterie. L'Asus Transformer Prime ne se sent peut-être pas vieux et maladroit à la fin de l'année, mais il ne devrait en aucun cas être le premier appareil. J'espère voir plus de fonctionnalités inter-périphériques. Comprimés interconnectant avec des téléphones. Téléphones interconnectés avec des téléviseurs. Davantage d'appareils crossover, comme les tablettes Motorola Atrix et Asus Transformer, qui deviennent des netbooks. Avec des processeurs plus rapides, ce type d'appareil va commencer à pousser les ordinateurs portables bas de gamme.

Q Bien que vous soyez des experts en développement Android, vous avez également travaillé avec un grand nombre d'autres SDK et plateformes mobiles. À votre avis, comment se compare le développement de la plateforme Android avec, par exemple, iOS ou BlackBerry??

Vous n'êtes pas obligé de répondre aux besoins ou d'être approuvé par qui que ce soit d'autre que vos utilisateurs..

LED: Nous avons tous deux beaucoup d'expérience dans le développement d'applications de qualité commerciale, des solutions antivirus pour serveurs d'entreprise aux clients MMS et à des dizaines d'applications mobiles. Nous avons écrit des applications pour iOS, BlackBerry, Palm, BREW, J2ME, Windows Mobile, etc., sans oublier les applications Web mobiles. Le développement pour Android est similaire aux autres plates-formes et unique à sa manière. Développer une application pour Android nécessite toujours le même type de processus logiciel et d'organisation que toute autre plate-forme, mobile ou autre. Et à la fin de la journée, les fonctionnalités les plus importantes sont disponibles sur toutes les plates-formes mobiles concurrentes… il n'y a pas de «meilleur». De nos jours, vous devez tous les aider à atteindre vos utilisateurs..

Certes, Android est présenté comme ouvert et gratuit, mais ce que je préfère à propos de Android, c’est qu’il est accessible. Vous écrivez du code dans un langage de programmation bien établi (c'est-à-dire Java) et utilisez des outils familiers comme Eclipse. Les outils et le SDK sont gratuits et faciles à acquérir. Les informations disponibles (livres, tutoriels, forums, etc.) sont largement disponibles et en constante amélioration. Et peut-être ce qui rend Android particulièrement différent des plates-formes concurrentes devient-il vraiment clair au moment de la publication: pas de jardins murés, vous pouvez développer et publier n'importe quelle application Android que vous voulez. Vous n'êtes pas obligé de répondre aux besoins ou d'être approuvé par quiconque, à l'exception de vos utilisateurs. Vous pouvez interagir avec eux directement.

Q À l’heure actuelle, les applications en magasin se répartissent en trois principaux modèles d’entreprise: le système basé sur la publicité (par exemple, le contenu gratuit d’applications soutenues par la publicité), le freemium (par exemple, du contenu gratuit avec des fonctionnalités payantes) et le paiement au téléchargement. Parmi celles-ci, laquelle a eu le plus de succès avec les applications que vous avez développées? Préférez-vous un aux autres?

LED: Nous faisons beaucoup de travail de consultation mobile. Nos clients ont des objectifs et des définitions différentes du succès en ce qui concerne leurs applications mobiles. C’est vraiment pourquoi vous développez une application.

Accrochez les utilisateurs en leur demandant d’investir un peu de temps dans le jeu, puis ils se feront un plaisir de payer un petit supplément pour des fonctionnalités premium.

Certains veulent juste fournir des extensions mobiles de leurs marques existantes - ces clients ne veulent pas gagner beaucoup d'argent, mais ils veulent beaucoup d'utilisateurs. Pour ce type de client, les applications gratuites (ou les applications destinées aux utilisateurs existants qui paient pour les autres services qu’elles offrent) sont la solution. La même chose s'applique aux applications de service public.

En ce qui concerne le développement d'applications traditionnelles, freemium fonctionne très bien maintenant qu'il est bien établi auprès des utilisateurs et des places de marché, en particulier pour les jeux utilisant les API de facturation intégrées à Android Market d'Android Market. Accrochez les utilisateurs en leur demandant d’investir un peu de temps dans le jeu et ils se feront alors un plaisir de payer un petit supplément pour des fonctionnalités premium. Le succès d'applications telles que FarmVille a amené plus de clients à prendre cette route ces derniers jours.

SAC: Freemium est définitivement un excellent modèle. Il s’est avéré très efficace avec toutes les formes de jeux. Cependant, certaines applications ne se prêtent pas bien à de nombreux nouveaux achats ou contiennent un contenu traditionnellement gratuit. Ces applications sont mieux monétisées avec des annonces. Cependant, cela ne fonctionne vraiment bien que si les annonces sont bien ciblées sur le public et discrètes..

Q Vous présidez tous les deux Des voix qui comptent: Conférence des développeurs Android en février. Quels entretiens du calendrier souhaitez-vous assister au plus?

Tous les intervenants sont fantastiques

LED: Organiser cette conférence a été une expérience passionnante. Tous les orateurs sont fantastiques et je suis content que nous ayons une seule piste afin que je n’aie pas à choisir les causeries auxquelles assister. Je peux participer à toutes! Je peux dire que les discussions de Dan Galpin sont toujours très divertissantes - il est un thespian naturel (et un défenseur des développeurs chez Google)..

SAC: Je suis d'accord avec Lauren. L'expérience d'une seule piste signifie que je ne dois rien rater. Je suis toujours intéressé de voir ce que les autres ont à dire sur des sujets qui m'intéressent, tels que la programmation de jeux Android avec Rick Rogers, les graphiques Android en action avec Chet Haase et Romain Guy et la réalité augmentée avec Chris Haseman..

Q Vous présenterez un Bootcamp Android sur une journée complète le 8 février, n'est-ce pas? Que peuvent attendre ceux qui assistent?

LED: C'est vrai! La conférence VTM s'adresse à des développeurs mobiles plus expérimentés et plus compétents, mais nous souhaitions pouvoir également inclure ceux qui souhaitent se familiariser avec la plate-forme. C'est pourquoi nous avons décidé d'ajouter un camp d'entraînement juste avant la conférence. Nous allons commencer à partir de la base - installer les derniers outils, écrire des applications simples et mettre les gens à l'aise avec le jargon de la plate-forme.

SAC: Il y aura des feuilles de triche utiles, des cadeaux, et aucun devoir! Notre objectif est de configurer les ordinateurs portables de développement de tout le monde et de les utiliser pour le développement Android d'ici la fin de la session. Nous allons également guider tout le monde à travers l’écriture de leur première application et son chargement sur un appareil. Alors, oui, venez avec un ordinateur portable, un appareil et un câble pour les connecter. Oh, et à propos de ce "pas de devoirs"… vos devoirs, si vous choisissez de l'accepter, seront d'écrire une application géniale, de la publier et de nous en parler. Vous avez aussi longtemps que vous avez besoin. :)

Q Dernière question. Pour ceux qui débutent avec Android mais qui ont déjà une expérience en programmation, quels livres, vidéos et sites Web recommandez-vous qu'ils recherchent?

LED: Eh bien! Voyons voir.

Premier arrêt: Téléchargez et installez le SDK Android et les outils à partir de http://developer.android.com.

Prochaine étape: Commencez!

Rafraîchissez votre Java: découvrez notre série Learn Java for Android sur MobileTuts http://mobile.tutsplus.com/series/learn-java-android-development/

Prêt pour des tutoriels? Découvrez les nombreux tutoriels Android sur Mobiletuts + - divisés en niveaux de compétence débutant, intermédiaire et avancé: http://mobile.tutsplus.com/category/tutorials/android/.

Besoin d'une expérience d'apprentissage plus structurée? Consultez nos livres Sams Teach Yourself Android in 24 Hours et Android Wireless Application Development

Être bloqué? Vérifiez Stack Overflow pour voir si quelqu'un a déjà résolu votre problème. Si non, posez une question.

SAC:

L'équipe de développement Android a mis au point de superbes vidéos pour les apprenants visuels.

Vous pouvez trouver notre liste complète de publications de livres et d'articles sur le développement d'applications Android ici: http://androidbook.blogspot.com/p/full-publication-list.html.


Voulez-vous être interviewé pour un poste de développeur Mobiletuts +?

Êtes-vous un développeur avec une application mobile ou une entreprise intéressante? Une interview avec Mobiletuts + est un excellent moyen de faire connaître vos applications tout en fournissant des connaissances précieuses à notre communauté. Si vous êtes un développeur intéressé à être interviewé par Mobiletuts +, contactez-nous en ligne ou via twitter (@envatomobile)..