Bonjour à tous! Nous avons de bonnes nouvelles. Ce mois-ci, le cours de base pour développeur Android , ainsi que la spécialisation pour développeur Android , qui comprend un ensemble complet de cours, débutera à Otus. À cet égard, nous partageons avec vous un article utile dont la traduction se limite à ces lancements.

2019 est le moment de devenir développeur Android. Compte tenu des innovations et des progrès en cours dans le domaine du développement Android, nous pouvons dire que le moment est venu de faire partie de ce mouvement. Les progrès récents dans Kotlin, Android Things et d'autres technologies font d'Android une priorité pour un débutant, ce qui permet de recevoir des informations pertinentes et d'avancer dans une certaine direction.
J'ai décidé d'écrire ce guide après avoir pensé au fait qu'en 2017 j'ai moi-même fait de même. J'espère que cela vous aidera à devenir le type de développeur Android que vous souhaitez être.
Commençons par les bases.
Commencez à développer pour Android
- Découvrez les bases de Java sur Head First Java ;
- Installez Android Studio ;
- Installez Kotlin dans Android Studio (vous pouvez ignorer cette étape si vous n'êtes pas prêt à apprendre Kotlin cette année);
- Consultez l' interface utilisateur Android et apprenez-en plus sur les composants XML et View.
Lorsque vous faites cela, vous aurez non seulement un bon environnement de développement pour créer des applications pour Android, mais vous serez vous-même bien familiarisé avec les bases pour comprendre la terminologie générale utilisée par les développeurs dans la plupart des didacticiels.
Vous pouvez maintenant créer des applications simples et y implémenter de nouvelles fonctionnalités. N'hésitez pas à commencer avec un espace de travail vide. Avec l'aide de l'imagination et des compétences, vous pouvez facilement le remplir vous-même.
Lorsque vous en aurez assez d'idées, le prochain objectif pour 2019 est de créer un jeu qui vous développera en tant que développeur qui crée des applications pour des milliards. Passons maintenant au deuxième niveau!
Nous développons en tant que développeur Android
La liste suivante doit être complétée étape par étape. Cela deviendra une échelle pour vous, grimpant sur laquelle vous pourrez apprendre quelque chose de nouveau, vous réaliser et avancer.
Toutes ces étapes vous aideront à acquérir une solide compréhension professionnelle de l'écosystème Android et à vous préparer à travailler avec au moins 10 à 15 types différents d'analyses de rentabilisation pour les applications Android.
Si vous voulez vraiment vivre une expérience extrêmement puissante et mémorable avec Android, les modèles de performances vous seront d'une grande aide. Lorsque vous aurez terminé la liste d'actions suivante, vous apprendrez non seulement à les utiliser, mais aussi à vous familiariser avec celles que vous pourriez manquer. Les modèles de performances sont un outil incroyable entre les mains d'un développeur Android. Ainsi, vous devrez découvrir les éléments suivants en ce qui concerne les modèles de performances Android:
- Les tâches asynchrones sont inutiles pour les processus qui s'exécutent à la suite d'appels longs ou en continu. Apprenez à utiliser Handlerthread pour gérer ces processus différemment;
- Apprenez à gérer les fuites de mémoire;
- Apprenez à combiner IntentService avec le multithreading pour augmenter l'efficacité;
- Examiner les modèles de performances du service Android pour tuer les services dès leur exécution;
- Familiarisez-vous avec des conteneurs de hashmap Android spécifiques pour équilibrer les performances et la mémoire lors de la création d'applications;
- Apprenez à utiliser l'outil de surveillance de la mémoire pour observer comment l'allocation affecte les performances de votre application;
- Optimisez vos applications réseau avec la mise en cache;
- Optimiser la fréquence des requêtes réseau de votre application;
- Apprenez à gérer la vue des fuites;
- Découvrez comment fonctionne le ramasse-miettes;
- Comprendre comment la mise à jour des propriétés visuelles de votre application affecte les performances;
- Obtenez une compréhension approfondie de la synchronisation verticale;
- Comprendre comment l'interface est corrélée dans Android et le GPU pour découvrir les difficultés auxquelles vous devez faire face pour assurer le bon fonctionnement de votre application;
- Comprendre comment créer une application qui produit 60 images par seconde sans perdre de trames, ainsi que découvrir combien d'autres applications rivalisent avec la vôtre pour les ressources système et développer des stratégies pour les traiter;
- Apprenez à suivre les performances du GPU et à améliorer le rendu de votre application;
- Découvrez des stratégies qui peuvent vous aider à décharger moins votre batterie;
- Affrontez d'autres développeurs dont les applications se trouvent dans la meilleure section du PlayStore et essayez d'améliorer le temps de lancement. Voyons jusqu'où vous pouvez aller.
- Réduisez la taille de votre application.
Montons au troisième niveau!
Plongez dans l'optimisation de la mémoire avec les outils Bitmap
Découvrez comment utiliser Glide pour traiter des objets bitmap dans votre application Android. Vous rencontrerez des problèmes lors du traitement de tonnes de contenu dans une application qui nécessitera l'extraction d'images, leur décodage et l'affichage d'objets bitmap. Si vous n'apprenez pas à le faire correctement, votre application ne réussira pas, car les utilisateurs peuvent décider qu'elle n'est pas de haute qualité.
Veuillez noter que vous devez maintenant pouvoir traiter jusqu'à 48 Mo d'objets bitmap d'images de la caméra, qui peuvent aujourd'hui être émis par la caméra de l'utilisateur. Ils peuvent facilement manger toute la mémoire disponible.
Composants d'architecture Android
L'une des choses les plus importantes que j'ai apprises en tant que développeur Android était la capacité à mettre en œuvre des pratiques innovantes dans les architectures et leurs composants. Dès que j'ai commencé à aller au-delà de MVP, MVVM, MVx, etc., j'ai réalisé qu'il y avait un énorme espace d'innovation autour de ces composants architecturaux.
Par exemple, en 2017, les paramètres BLE (Bluetooth low energy) par défaut ne correspondaient pas au niveau approprié. Comprendre que ce composant architectural peut être amélioré en créant une bibliothèque de services intermédiaires a été une vraie découverte pour moi.
Donc, pour bien comprendre ce sujet, je vous suggère de sélectionner les composants architecturaux individuels de votre application et d'apprendre à les optimiser. Voici ceux qui me viennent à l'esprit:
- Liaison de données
- Cycles de vie
- Livedata
- La navigation
- Paging
- Pièce
- ViewModel
- Workmanager
Devenez un professionnel du test
Vous ne voulez pas devenir l'un de ces développeurs qui, en cas d'erreur, disent "ça marche bien sur ma machine", non? Ainsi, sur la base de la connaissance de l'architecture de votre application et de son optimisation, créez des tests unitaires (JUnit4), apprenez à utiliser Espresso et concentrez-vous sur les rapports de couverture de code qui raviront les principaux développeurs et VPE. Réfléchissez à la façon dont ces rapports peuvent être utiles à d'autres développeurs, testeurs, gestionnaires ou autres parties intéressées et aidez-les à résoudre les problèmes critiques de performances des applications et à établir des priorités.
N'oubliez pas d'automatiser et de réutiliser les tests dans la mesure du possible. Cette approche vous ouvrira la voie à des postes de direction.
Programmation réactive avec RxJava
Il va sans dire et très probablement que cet aspect est le plus important dans votre CV et votre portfolio professionnel. Il existe de nombreux endroits où vous pouvez apprendre en pratique à travailler avec RxJava. Je recommanderai les sources suivantes:
Ils serviront de bon point de départ sur la voie de la maîtrise de RxJava et de ses aspects. Si vous voulez en savoir plus sur RxJava, assurez-vous de les consulter et d'apprendre également:
- Toute la profondeur des observables dans RxJava;
- Implémentation de la mise en cache dans RxJava.
Pour tout savoir sur Dagger
Les étapes suivantes vous aideront à devenir un pro chez Dagger:
- Parcourez la documentation et accédez au bas du processus d'injection de dépendances;
- Faites une liste des restrictions;
- Créez un projet et utilisez Dagger 2 dedans.
Devenez un spécialiste de la sécurité
Développeur Android professionnel et spécialiste de la sécurité des informations? Ouah! Cela peut rarement être combiné en une seule personne!
Et voici quelques choses que vous pouvez vous familiariser en 2019 pour en devenir un:
- Apprenez à isoler les données et le code de votre application des autres applications;
- Apprenez les fonctions cryptographiques et implémentez-les;
- Apprenez à réduire les risques associés aux erreurs de gestion de la mémoire;
- Apprenez à utiliser de manière optimale les autorisations utilisateur pour gérer les données d'application;
- Stockez et cryptez vos données en toute sécurité dans: le stockage local, à la volée ou dans le cloud;
- Devenez un fournisseur de contenu professionnel pour garantir un accès sécurisé;
- Assurez-vous de masquer les données (ce qui signifie obscurcissement);
- Découvrez comment mettre en œuvre vos propres solutions de sécurité qui ne font pas partie de la pile Android principale;
- Auditer des bibliothèques tierces afin de les décomposer par niveau de vulnérabilités et former vous-même un document de recherche qui vous sera utile à l'avenir;
- Travaillez pour rendre le BLE plus sûr.
Je terminerai là -dessus. J'espère que cet article vous aidera à devenir un développeur Android professionnel si vous commencez à le faire dès maintenant en 2019!
C’est tout. En attendant vos commentaires!