Artyom Kulakov et Roma Choryev sont les développeurs de Redmadrobot et ils enregistrent des podcasts où ils discutent de divers aspects de la création de produits informatiques. Dans le onzième épisode, les invités partagent leur expérience et leurs blagues - Dima Suzdalev, Android Tech Lead KODE , et Vasya Chirvon, Head of Android Practice chez Redmadrobot SPB.
Nous joignons un lien vers la dernière version, le calendrier et les réponses à plusieurs questions importantes.
- 1:58 - Vasya Chirvon explique comment il s'est lancé dans le développement Android.
- 03:25 - Et maintenant Dima Suzdalev à propos de son chemin.
- 14h52 - Où se dirige la plate-forme Android.
- 25:05 - Est-il difficile de développer des applications pour Android.
- 34:30 - Est-il plus difficile de devenir un bon développeur Android qu'un développeur iOS.
- 58:01 - Un peu sur Jetpack Compose.
- 01:02:02 - Un peu sur Hilt.
- 01:03:15 – : KMM/Flutter – ?
- 01:20:02 – UI .
- 01:27:14 – .
– Android-
Bien sûr, il y a des difficultés et des problèmes, mais c'est la même chose que dans n'importe quelle profession.
Dima Suzdalev a noté que l'expérience d'un développeur Android tient au fait que vous savez «où vous n'avez pas besoin d'aller». Eh bien, si vous êtes toujours venu au mauvais endroit, alors vous savez comment contourner ce «mauvais endroit».
Mais Roma a comparé le développement Android à la marche enchaînée (lourdes chaînes de fer): vous pouvez marcher, mais, pour ainsi dire, ça fait mal. À titre d'exemple, il a cité une situation familière à tout développeur, lorsqu'un élément dont vous attendez un comportement normal cesse soudainement de fonctionner. Ou, par exemple, cela ne se produit généralement que sur un appareil spécifique («bonjour» à une flotte de milliers d'appareils chinois).
Ou voici comment cela se passe: disons que Google a un bogue dans l'API qui fonctionne d'une manière spécifique. Vous êtes déjà habitué à cela, n'oubliez pas de faire une solution de contournement et de vivre avec elle dans tous les projets. Mais soudainement, à un moment donné, Google corrige ce bogue, et maintenant tout ce que vous faisiez avant brise l'application. Et encore une fois, vous devez faire quelque chose à ce sujet.
Le développement est similaire à Lego - parfois difficile, mais cool! Vous vous asseyez et construisez. Et vous l'aimez, car si vous n'aimez pas Lego, vous ne le jouerez pas;)
À propos des nouveaux éléments dans le domaine du développement Android
Récemment, presque chaque année, Google a présenté diverses choses utiles aux développeurs: Jetpack Compose, composant de navigation, magasin de données et autres informations d'identification de sécurité.
Dima a déclaré qu'il appréciait l'approche de Google pour développer Jetpack Compose. Il l'avait déjà essayé et surtout noté les guides et l'excellente documentation, où tout est expliqué et il y a des exemples de code.
Quant au composant de navigation, cette librairie fait ses preuves en tant qu'outil pour des applications simples. Avec son aide, vous pouvez rapidement lancer la navigation et bien la gérer. Les gars ont remarqué que ce serait très bien si Google y ajoutait une génération de graphiques rapide.
Discussion détaillée de Dagger / Hilt et Anvil à partir de 01:02:02.
Pas seulement Google (Huawei peut, mais un peu)
Dans le monde Android gratuit, il n'y a pas que Google, qui a été grondé en studio. Il y a aussi la société Huawei, qui a créé un précédent intéressant sur le marché.
Qui ne sait pas: Huawei a fait ses propres analogues des services Google, en outre, l'interface du codelab a été copiée presque un à un. L'entreprise a beaucoup investi dans le marketing pour couvrir l'histoire. Bottom line - dans les ventes de ses smartphones Huawei est entré dans le top, dépassant même les «géants géants» Apple et Samsung. Certes, cela était principalement dû au marché chinois, Roma en est sûr.
Il est à noter que cette situation ouvre certaines opportunités: c'est bien quand il y a un choix et qu'il n'y a pas que Google. Si d'autres grandes entreprises commencent à proposer une alternative aux services Google Play, cela sera utile pour tout le monde. Mais cela ajoutera inévitablement des problèmes aux développeurs, par exemple avec la fragmentation. L'émergence de services de deuxième, troisième, etc. vous fera connaître dix variétés du même.
Quelques mots sur le développement multiplateforme
Parallèlement au développement Android et iOS, un monde distinct et assez vaste de développement multiplateforme se développe.
Il a à la fois des approches traditionnelles qui fonctionnent toujours et quelques nouveaux produits qui ont fait l'objet de discussions très actives au sein de la communauté au cours des deux dernières années. Il s'agit de Flutter et Kotlin Multiplatform.
Dans quelle mesure sont-ils pratiques et applicables? Les invités du studio ont décidé à l'unanimité que "Flutter manque de Kotlin". Plus de détails à partir de 01:15:27.
Construit et construit: architecture d'application Android
Aujourd'hui, pour concevoir une application, il ne suffit pas de prendre une architecture traditionnelle; vous devez examiner des tâches métier spécifiques et la créer vous-même à partir de zéro.
«Bien sûr, vous devez garder à l'esprit les approches de conception générales, mais« vous ne devriez pas mettre un hibou sur le globe », déclare Artem. Si les tâches métier ne rentrent pas dans le clean et MVVM habituels, vous n'avez donc pas besoin de les utiliser. C'est tout.
Il est important de comprendre que l'architecture n'est pas un manuel, mais un ensemble de solutions qui peuvent être appliquées au travail. Vasya Chervon l'a expliqué ainsi: «Vous savez que la dalle doit avoir un certain poids pour ne pas écraser les murs, ou les murs doivent être suffisamment solides pour y résister. Et pour construire, vous devez garder ces règles à l'esprit. "
Tout cela est une question d'expérience, donc si le développeur ne comprend pas vraiment quelle architecture doit être réalisée, il vaut la peine de consulter un ami plus âgé. Mais, bien sûr, pas avec quelqu'un qui dit: "Faites MVVM, c'est cool."
Pour des solutions architecturales efficaces, vous devez lire de nombreux livres sur la conception de systèmes afin de comprendre dans quelles situations quelles solutions peuvent changer et comment les appliquer. En savoir plus sur les livres à partir de 01:35:06.
Matériel utile
- Android. Clean Is Dead. Tu te trompes;
- Anvil - un plugin pour simplifier la dague de votre application;
- Conférence de Rich Hickey sur Simple vs Easy;
- Une philosophie de la conception de logiciels - un livre sur la conception de logiciels, définissant sa complexité, des approches de réduction, des définitions lisibles et claires;
- Un aperçu très cool des problèmes architecturaux en tant que modèles et comment les résoudre;
- . ;
- - ;
- HMS Redmadrobot SPb.
« »
Écoutez-nous partout où cela vous convient: YouTube , Soundcloud , Apple Podcasts , Google Podcasts
Discutons de l'épisode dans le chat Telegram .