Rencontrez les Devs - Qin Zhengquan

Qin Zhengquan Interview du développeur
Bienvenue à nouveau à notre rencontre le segment Devs! Dans cette pièce, nous prenons un peu de temps pour apprendre à connaître les gens qui font vraiment Android ce qu'elle est aujourd'hui et qui est le développeurs d'applications. Dans l'interview développeur de cette semaine, nous parlons Zhengquan Qin.

Nom: Zhengquan Qin

Nom du développeur: Qin Zhengquan

Pays: Singapour

Site Internet: Site officiel

Google+ Profil / Page: Zhengquan Qin G +

Combien de personnes dans votre équipe? 3

Qin Zhengquan Interview du développeur

Applications

Makan Kaki

A propos de votre entreprise?

Makan Kaki a commencé à un projet amateur en Décembre 2012 quand nous y décidé devait y avoir une meilleure façon d'organiser des rassemblements. Avant Makan Kaki, l'organisation de rencontres sur les applications de messagerie actuels était une vraie galère entre les grands groupes de personnes où il y aurait des conflits d'horaire, les débats sur les endroits où aller ou confusions sur l'emplacement des sites. Cela a abouti à de longues conversations de chat, ou éléments d'information disparates. Par exemple, les utilisateurs devaient parcourir pour l'emplacement des sites sur d'autres applications ainsi que manuellement pointer les lieux et les horaires les plus agréables.

Nous avons décidé que la gestion de contenu de site, les outils de planification de rendez-vous et les médias sociaux pourraient former la parfaite synergie dans la création de l'application de la planification de réunions parfaites. Ce fut que nous avons accompli avec Makan Kaki. Par exemple, Makan Kaki permet aux utilisateurs de naviguer facilement, suggèrent et voter sur des informations riches lieux de Foursquare. Nous avons également utilisé des widgets de calendrier interactif qui ont amélioré la qualité de l'expérience utilisateur en suggérant et en votant sur les horaires.

Makan Kaki intègre également bien avec la 3e applications de messagerie du parti pour permettre aux utilisateurs de partager facilement et rejoindre les rassemblements. Par exemple, les utilisateurs peuvent tout simplement rejoindre et participer à la planification de la collecte en cliquant sur une URL sur WhatsApp. Aucune inscription est nécessaire et suffit à l'utilisateur de le faire est d'entrer leurs noms à enregistrer leur vote ou leur suggestion.

À l'heure actuelle, Makan Kaki a accompli les étapes suivantes:
- Sortie de l'iOS, Android et les applications Web.
- Financement garanti de 10 000 SGD dans la validation de démarrage Grant de l'Université nationale de Singapour.
- Admis dans le programme de lancement de démarrage Google Developer et Microsoft BizSpark.
- En vedette sur Yahoo Singapore Finances et Singapour Straits Times de Singapour Colonne Démarrer le 3 Avril ici 2014.



Quel est le niveau d'expérience avez-vous avec le codage et le développement?

Je commencé à programmer en 2007 quand je suis entré au baccalauréat en informatique, et par la suite le programme de maîtrise en Informatique à l'Université nationale de Singapour (NUS). En plus des projets de développement des élèves qui ont fait un usage intensif des EJB (Enterprise JavaBeans), je également participé à Google Summer of Code 2011, qui a fait une migration importante de l'héritage DuraSpace projets JSP à se conformer au cadre Spring MVC. Quand je suis dans le programme d'études supérieures, je approfondi mes compétences en développement dans les applications mobiles où je construit ma première application iOS (CloudMarket) qui a fait un usage intensif des technologies de Cloud Commerce.

Makan Kaki était ma première entreprise où je décidai de tirer parti sur mon expertise technique actuelle pour construire une application que je croyais être utile. Dr Hui Hsiang Lek, mon co-fondateur construit le soutien backend et le développement web dans CakePHP alors que je construit les applications mobiles pour iOS et Android, et le contenu du portail des sites sur le web.

Quelles langues savez-vous? Comment et où avez-vous appris?

Je suis extrêmement bien versé sur Java et Objective C. Java a été le premier langage de programmation que je devais apprendre quand je suis un étudiant de l'informatique au NUS. Objective C, était une langue que je ramassé quand je développais l'app iOS comme un assistant de recherche (note: je dois ramasser rapide bientôt). Je suis également familiarisé avec la programmation de R, C et le code de l'Assemblée. Lors d'un module de sécurité des systèmes, je l'ai démontré comment le retour de la programmation orientée peut se produire sur les anciens Ubuntu construit. Je fis un usage intensif de la programmation de R pour construire un admissions MBA et d'un outil de prédiction Stock dans mes data mining et d'analyse d'affaires de golf.

Parlant de mes sources d'apprentissage, mes livres techniques préférés à ce jour, sont iOS et Android programmation Big Nerd Ranch partir. Ils sont sérieux phénoménale. Les livres non seulement m'a appris la programmation d'une manière que je pouvais facilement comprendre (quelque chose que je toujours eu de la difficulté quand je commençais programmation), ils développent une passion indéfectible en moi pour en savoir plus sur les applications de la technologie.

Quel est le niveau d'expérience avez-vous avec la conception?

L'expérience utilisateur de mon premier iOS était horrible. A cette époque, je ne savais rien à propos de la différence entre les applications Web et les applications mobiles natives. Au départ, je pensais que une application mobile était tout simplement une version portable d'une application web. Cela a abouti à mon application devenant accaparé de l'information qui était trop technique pour l'utilisateur moyen à utiliser.

Mon 2ème iOS conception de l'application (Makan Kaki 1er de version) avait un peu meilleure expérience utilisateur, mais il était tout aussi horrible car il exige non seulement aux utilisateurs de créer un compte afin d'effectuer des fonctionnalités d'applications de base, totalement compromise la valeur fondamentale proposition du application lorsque les utilisateurs ont trouvé déroutant pour inviter leurs amis à utiliser l'application.

Je étais pendant cette période où je décidé de prendre l'ensemble de l'expérience utilisateur de développement d'applications très au sérieux, plutôt que mis tas de hacks rapides ensemble. Je ressens aussi la douleur de la conception de code désordonné. Les deux livres qui ont largement façonné mes pensées étaient Conception Android Patterns: Interaction Design Solutions pour les développeurs de Greg Nudelman et Clean Code: A Handbook of Agile Software Artisanat par Robert C. Martin. Ces deux livres encouragés à adopter une approche minimaliste dans le développement de mes itérations ultérieures de Makan Kaki ainsi que le maintien d'une base de code réutilisable et à couplage lâche propre où je pourrais facilement pivoter ou mettre à jour l'application sans casser des fonctionnalités existantes.

Je lis aussi lean startup Eric Ries et le manuel de la mise en service du propriétaire: Le Guide pas-à-pas pour bâtir une entreprise de Steve Blank de comprendre comment fabriquer mon produit viable minimale qui encore offert la meilleure expérience utilisateur sur la proposition de valeur de base.
Qin Zhengquan Interview du développeur

Quel applications avez-vous fait?

À ce jour, je l'ai fait 3 applications complètes. Marché Nuage, Makan Kaki (1er et 2e version) iOS et Android.

Comment pensez-vous de monétiser vos applications?

Makan Kaki vise à collaborer avec les propriétaires des sites pour promouvoir leurs sites pour nos utilisateurs. Actuellement, Foursquare fait la plate-forme de base en fournissant des informations riches de lieu pour nos utilisateurs, mais nous avons cru que la qualité des données peut être améliorée avec un futur partenariat.

Nous prévoyons également d'intégrer des fonctionnalités avancées de réservation qui permet aux utilisateurs de faire des réservations dans un lieu une fois qu'ils ont de confirmer les détails de collecte. Nous travaillons sur les solutions possibles à intégrer et à envoyer des informations importantes pour l'utilisateur des détails tels de réservation ou préférences de menu pour nos partenaires fournisseurs.

Vous considérez-vous réussi?

Bien que je ne peux pas dire avec certitude que Makan Kaki sera nécessairement un énorme succès, la connaissance que je l'ai acquise dans le processus était incroyable. Dans un court laps de 1 an, non seulement je acquis des connaissances techniques pointues dans la construction d'iOS et Android, je aussi appris de précieuses connaissances sur le processus méthodologique de démarrage et combien il était difficile de générer une demande pour un concept que je trouvais de l'être utile et pourtant si pénible à exécuter.

Qu'est-ce que Android peut faire pour améliorer?



La fragmentation de périphériques et de compatibilité d'OS est une douleur au sérieux. Je ne savais rien à propos de la gravité sur ce jusqu'à ce que je l'ai testé Makan Kaki sur un appareil plus ancien qui courait API 15 (de Ice Cream Sandwich). Je initialement construit Makan Kaki sur API 19 (KitKat) sur LG et il fonctionnait très bien. Juste quand je prêt à publier l'application, je décidai de tester l'application sur un ancien bâti et à ma consternation, l'application terminée accident au début. Non seulement l'application air terrible sur mon petit appareil plus ancien, le code qui a travaillé sur l'API 19 (Transfert de données de l'intention de Parent activité) a complètement échoué sur API 15.

Ce fut quelque chose que je ne l'avais jamais vécu avec iOS où le SDK était très stable et robuste. L'IDE, Android studio, bien était beaucoup mieux que Eclipse, était aussi beaucoup plus lent que XCode. L'émulateur, qui qui a été exécute le Intel HAXM était encore plus lent que le XCode iOS Simulator.

Pourquoi avez-vous choisi Android? Avez-vous développer pour d'autres plates-formes? Quelles sont les différences entre eux?

En tant que développeur iOS, je redoutais la construction d'une version Android en raison de l'ensemble des problèmes de fragmentation quand je commençais dehors. Cependant, maintenant que je l'ai construit la version Android, je suis absolument en amour avec elle. Android offre une grande flexibilité et disposent d'API riches qui sont tout à fait apte pour Makan Kaki. Je adore le concept d'intentions implicites et la façon dont il a travaillé avec les applications 3ème partie, contrairement à la UIActivityViewController iOS qui offre des fonctionnalités très limitées dans l'intégration des applications 3ème partie. Dans cet aspect, je pense que le concept de l'intention implicite était une mise en œuvre bien supérieure par rapport au régime de gestion des URL personnalisée d'iOS.

Cependant, je préférais la façon dont iOS gère l'emplacement et les antécédents données en utilisant les Core Location cadres et de fond des activités utilisant NSURLSession. Je suis certainement trouvé le manager emplacement et le fil de gestionnaire pour répétitif travail de fond pour être très fastidieux dans la mise en œuvre. Ils ont également fait mon code plus verbeux. Contrairement à l'appel de délégué soutient méthodes dans iOS, je dois également mettre en œuvre un récepteur de radiodiffusion dans Android pour gérer recevoir des messages.

Je ne aime pas comment les données sont transmises d'une activité ou d'un fragment à l'autre sur Android comme cela a rendu mon code très complexe. Dans iOS, contrôleurs de vue ne peuvent tout simplement transmettre des données ou mettre en œuvre un rappel des données via l'utilisation de blocs. Cela rend le code beaucoup plus simple et lisible que par rapport à Android.

Enfin, je aussi comme l'utilisation de l'auto-mise en page sur le constructeur XIB sur iOS par rapport à la disposition de attributs XML sur Android. Je trouvais l'ancien à être beaucoup intuitive, visuelle et moins complexe par rapport à Android. Je suis également reconnaissante comment Android fournit l'utilisation de bibliothèques de support pour maintenir le soutien de fond avec construit plus.

Quelles sont vos applications préférées?

I love ils apparaissent de manière simple et intuitive pour l'utilisateur.

Qin Zhengquan Interview du développeur

Quel a été votre expérience été de travailler avec Google?

Une joie absolument dans l'édition et mise à jour des applications par rapport au système d'examen de l'application stricte d'Apple.

Qu'est-ce que l'avenir du développement ressembler?

Je pense que des applications de réseautage sont énormes! Je ne reçois pas les entiers iOS contre Android débat. Pour moi, les applications de l'avenir fournissent rarement une valeur sur une plate-forme isolée mais plutôt synchronise et communique des données sur un nuage. Chaque développeur mobile besoin de maîtriser un cadre d'extrémité arrière comme Node.js, Rails ou PHP et mettre en œuvre l'utilisation de services web pour la mise en réseau des applications à accomplir.

Quels conseils avez-vous pour les aspirants développeurs?

Soyez patient en essayant de maîtriser un nouveau cadre ou de la technologie. Je l'habitude d'être impatient et recouru à des hacks rapides par la recherche et l'expérimentation avec des exemples de code pour créer rapidement un prototype de mon projet. Maintenant, je prends une approche plus patiente en essayant d'apprendre et de comprendre complètement un cadre ou plate-forme, y compris les meilleures pratiques.

Cette approche a stimulé ma productivité énormément et m'a permis d'échelle mes applications en conséquence. Et bien sûr, écrire du code réutilisable propre! Ecrire du code propre et entraîné test doit être inculquée dès le moment où votre écriture votre première ligne de code. La joie de barattage un hack rapide sera raccourcie rapidement une fois que le code se développe en vrac et vous devez faire des changements.


Entretien avec le développeur wrap up

Nous tenons à remercier Zhengquan Qin pour discuter avec nous dans l'interview développeur de cette semaine! Si vous êtes un développeur et que cela ressemble à quelque chose que vous aimeriez faire, consultez notre Rencontrer le Devs forme! Nous avons hâte d'avoir de tes nouvelles.




» » Rencontrez les Devs - Qin Zhengquan