
En 2018, l'App Store et Google Play ont eu 10 ans. Au cours de cette décennie, certaines applications, commençant comme de petites startups, sont devenues de gigantesques projets - et au fil de leur évolution, elles ont surmonté de nombreuses transformations, rempli de nombreux cônes et tiré de nombreuses leçons.
Nous avons ouvert les vidéos de Mobius 2018 Moscou et publié le top 10 sur Habré (selon l'audience). Et dans certains d'entre eux, des intervenants travaillant dans de grandes entreprises décrivent uniquement les changements associés à la croissance. Il y a aussi d'autres sujets: par exemple, descendez-vous souvent au niveau des codecs et des sockets dans le cas de la vidéo?
Les rapports sur la liste sont classés par ordre croissant - les téléspectateurs les plus aimés seront donc à la toute fin du texte. Et pour ceux qui sont intéressés et non inclus dans les dix premiers rapports, nous donnons également un
lien vers la playlist.
Monorepo: retour. L'histoire de la modularisation à Badoo
Plateforme:
iOSConférencier:
Anton SchukinPrésentation du rapportEn 10e place - juste "l'histoire de la croissance et l'expérience qui l'accompagne". Dans badoo
Ils sont engagés dans le développement iOS depuis neuf ans, et pendant ce temps non seulement l'entreprise, mais l'industrie entière a changé (c'est difficile à imaginer, mais une fois que l'humanité a existé sans CocoaPods).
Il n'est pas surprenant que l'approche de la structure des référentiels et des projets dans Badoo ait également changé de manière significative, et ce n'était pas un mouvement linéaire du point A au point B - à partir d'un référentiel, vous pouvez éventuellement y revenir, mais à un niveau différent. Quelle était la route et quelles étaient les raisons des changements dans chaque cas?
Comment mettre en cache des informations dans une application Android et ne pas se tirer une balle dans le pied
Plateforme:
AndroidConférencier:
Dmitry VasilievPrésentation du rapportIl semblerait que la tâche de mise en cache (y compris sur Android) ne soit pas nouvelle - mais elle n'en devient pas moins pertinente et les erreurs ne cessent pas de se produire, les rapports restent donc utiles. Eh bien, ce n'est pas sans raison que l'un des deux principaux problèmes de l'informatique est la mise en cache!
Types de mise en cache présentés dans le rapport:
- Cache paresseux
- Cache synchronisé
- Cache à écriture immédiate
- Cache LRU.
Architecture mobile dans une grande équipe
Plateforme:
Android / iOSConférencier:
Alexander MikhailovPrésentation du rapportUber est peut-être l'exemple le plus célèbre d'une «grande équipe mobile» dans le monde, des centaines de développeurs sont devenus un synonyme. Sans surprise, l'entreprise est confrontée à des difficultés que les petites équipes ne touchent pas. En même temps, comme Badoo, elle est venue au développement mobile en tant que startup, donc le chemin vers l'état actuel était long et sinueux. Quelles sont exactement les difficultés que vous avez rencontrées et comment les gérez-vous?
Le montant des avantages pratiques que vous pouvez retirer du rapport est en partie lié à la taille de votre équipe - si vous travaillez dans une petite équipe, cela peut ne pas être utile dans vos tâches immédiates. Mais en tout cas, c'est intéressant ce que les géants y ont!
Approche architecturale du traitement des erreurs
Plateforme:
Android / iOSConférencier:
Dmitry MikhailovPrésentation du rapportQui veut gérer la gestion des erreurs? Je voudrais faire des serrures élancées de nouveaux systèmes, et ne pas jouer avec les cas où quelque chose s'est mal passé. En conséquence, un sujet important reste souvent privé d'attention.
Mais ce rapport, en le combinant avec des problèmes architecturaux, peut nous faire regarder le problème d'une manière nouvelle: pour gérer correctement les erreurs, nous avons juste besoin de construire un système bien équilibré qui convient à chaque couche.
Comment cuisiner MVI bien fait pour Android
Plateforme:
AndroidConférencier:
Sergey RyabovPrésentation du rapportDu rapport, où le titre de l'architecture, quelqu'un peut s'attendre à des diagrammes UML solides. Ça y était: il y a beaucoup de code spécifique sur les diapositives. À tel point que certains téléspectateurs se sont même plaints - il est difficile de percevoir tant de personnes consécutives. Mais lorsque vous regardez une vidéo, il y a un bouton de pause, vous pouvez donc utiliser le "bien frit MVI" dans certaines parties et savourer, plutôt que d'étouffer.
Kotlin Puzzlers vol. 2
Plateforme:
AndroidConférencier:
Anton KeksQue se passe-t-il si dans Kotlin vous essayez de passer la valeur -2_147_483_648.inc () au paramètre Int? Pourquoi? Anton montre des cas où Kotlin ne se comporte pas de manière évidente et suggère d'abord de deviner la bonne option, puis explique ce qui se passe.
Il s'agit de son deuxième rapport sur le comportement non évident de la langue, et pour ces deux rapports, nous avons fait des versions textuelles sur Habré - donc ici, vous pouvez non seulement voir, mais lire:
Diffusez et lisez des vidéos sur des sockets et des codecs nus
Plateforme:
Android / iOSIntervenants:
Alexander Tobol et Ivan GrigorievLa consommation de contenu vidéo dans OK est gigantesque et avec l'avènement de OK Live, le streaming y a été ajouté. Il n'est pas surprenant que dans le développement mobile, ils abordent les questions pertinentes beaucoup plus profondément que «prendre un acteur standard et le sortir», et dans le rapport, ils partagent leur expertise. En quoi la technologie HLS d'Apple est-elle inférieure à DASH? Quelles sont les trois priorités du streaming qui sont inaccessibles en même temps, et en faveur desquelles WebRTC est prédisposé? Quand vaut-il la peine de faire la vôtre au lieu de solutions standard?
Le rapport est divisé en deux parties, sur une simple transmission avec lecture (lorsque l'utilisateur ne consomme que la vidéo) et sur le streaming mobile (où les utilisateurs eux-mêmes la créent en direct) - et si la seconde n'est pas pertinente pour vous, il est utile de regarder au moins la première.
Compilateurs Dalvik. ART. Et tout le reste
Plateforme:
AndroidConférencier:
Jonathan LevinQuelqu'un se souvient de Jonathan en présentant des keynotes, mais au lieu de performances costumées, il est allé plus loin: que sont les D8 et R8, pourquoi en avaient-ils besoin et qu'en est-il de l'intérieur d'Android que vous devez savoir pour comprendre cela? Et il s'est avéré un bon équilibre entre sérieux et fascinant: le sujet est assez sérieux pour lui-même, mais grâce à Jonathan, tout ne se transforme pas en une conférence monotone, mais il est présenté très vivant.
Contrairement aux Kotlin Puzzlers, nous n'avons pas déchiffré ce rapport, mais Jonathan lui-même a fait un
blog sur ses traces - alors ici, si vous êtes plus à l'aise de lire, il existe une telle option.
Extrêmes de test: astuces des coins sombres des interfaces mobiles
Plateforme:
Android / iOSConférencier:
Vitaliy FridmanSi les utilisateurs passent en moyenne 169 minutes par jour dans les applications mobiles et 11 minutes dans un navigateur mobile, quelle est la conclusion pour une entreprise en particulier? "L'application est 15 fois plus importante qu'un site mobile, concentrez-vous dessus." Mais si vous regardez attentivement, il s'avère que presque toutes ces 169 minutes, l'utilisateur tombe sur plusieurs applications préférées - et toutes sortes de facebook s'y sont installés, il est extrêmement difficile de rivaliser avec eux. Et dans ce cas, l'alignement des forces devient beaucoup moins clair.
C'est l'un des faits curieux exprimés par Vitaly Friedman. Contrairement aux rapports avec une abondance de code, il y a une note clé dans laquelle ils n'enseignent pas de détails - mais ils rapportent beaucoup de choses générales intéressantes qui aident à comprendre quelles sont généralement les meilleures mises en œuvre.
Constructions Android chez Lyft
Plateforme:
AndroidConférencier:
Artyom ZinnatullinEnfin, le leader de la notation. Le nombre de modules dans l'application Lyft Android dépasse 800, ce qui affecte l'assemblage. Ensuite, quelqu'un pourrait penser «si nous n'obtenons pas cela dans la vie, alors pourquoi devrions-nous l'écouter» - mais les estimations du public montrent que le rapport était intéressant non pas pour les géants, mais pour tout le monde.
Entre autres choses, le rapport dit que «Bazel est l'avenir» et à cette époque, il semblait très audacieux. Mais voici les dernières nouvelles: dans la
documentation Android Q, ils ont remarqué un exemple de configuration Bazel. Il semble que l'avenir arrive, et le rapport mérite maintenant d'être examiné afin de s'y préparer.
Comme vous pouvez le voir, il y avait beaucoup de choses intéressantes au Mobius de décembre. Si vous voulez de tels rapports, mais aussi avec la possibilité de demander personnellement au conférencier, veuillez noter que le prochain Mobius aura lieu à Saint-Pétersbourg du 22 au 23 mai , et le site a déjà des descriptions de la plupart des rapports. Le prix actuel des billets est valable jusqu'à fin mars, puis ils augmenteront de prix.