Feuille de route des développeurs Android en 2019

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


  1. Découvrez les bases de Java sur Head First Java ;
  2. Installez Android Studio ;
  3. Installez Kotlin dans Android Studio (vous pouvez ignorer cette étape si vous n'êtes pas prêt à apprendre Kotlin cette année);
  4. 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.


  • Comprendre le cycle de vie de l'activitĂ© pour promouvoir une application qui fonctionne;
  • Utilisez des conceptions d'interface utilisateur dynamiques et flexibles avec des fragments;
  • Apprenez Ă  dĂ©boguer votre application pour Android. Vous pouvez utiliser le dĂ©bogueur Android Studio pour cela;
  • Traitez les activitĂ©s Android pour crĂ©er des Ă©crans avec lesquels l'utilisateur peut naviguer dans votre application;
  • Faites-vous une idĂ©e du contexte dans Android;
  • Apprenez REST et HTTP, car la plupart des dĂ©veloppeurs professionnels connaissent bien les aspects de REST et HTTP;
  • Apprenez Ă  utiliser le multithreading:
    • Apprenez Ă  diriger le flux de principal;
    • ReconnaĂ®tre l'importance du multithreading;
    • Explorez les cours proposĂ©s pour vous aider Ă  apprendre Ă  utiliser le multithreading dans les plus brefs dĂ©lais;
    • DĂ©couvrez comment Android gère les threads au niveau du système et comment cela peut affecter votre choix d'architecture d'application et tous les aspects de celle-ci;
    • Apprenez Ă  connaĂ®tre les nuances de la mĂ©moire système et du code multithread;
    • Apprenez Ă  appliquer des solutions multithread Ă  des tâches lourdes et complexes.
  • Devenez un expert dans la gestion des modifications de configuration:
    • En enregistrant l'objet lors des changements de configuration;
    • Modifications de l'auto-traitement.
  • Comprendre les bases de donnĂ©es et SQL:
    • Bases de donnĂ©es cloud
    • Bases de donnĂ©es hors ligne et locales;
    • Architectures hors ligne et pratiques de base hors ligne.
  • En savoir plus sur les fournisseurs de contenu:
    • Apprenez Ă  partager des donnĂ©es avec d'autres applications;
    • DĂ©couvrez comment accĂ©der aux donnĂ©es Ă  partir d'autres applications;
    • CrĂ©ez un fournisseur de contenu qui aidera d'autres applications Ă  accĂ©der en toute sĂ©curitĂ© Ă  votre application et Ă  y modifier les donnĂ©es;
    • Jouez avec votre fournisseur de calendrier et votre fournisseur de contacts.
  • DĂ©couvrez les meilleures bibliothèques Android tierces. [Le plus utile et le plus utilisĂ©] :


    • Okhttp
    • GSON
    • Retrofit
    • Glide
    • Couteau Ă  beurre
    • Crashlytics
    • Goyave


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.


Explorez les modèles de performances 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:


  1. Toute la profondeur des observables dans RxJava;
  2. Implémentation de la mise en cache dans RxJava.

Pour tout savoir sur Dagger


Les étapes suivantes vous aideront à devenir un pro chez Dagger:


  1. Parcourez la documentation et accédez au bas du processus d'injection de dépendances;
  2. Faites une liste des restrictions;
  3. 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!

Source: https://habr.com/ru/post/fr463019/


All Articles