Comment je suis allé à Droidcon Berlin

Bonjour, je m'appelle Vitaliy, je suis développeur Android chez Tinkoff.ru, je travaille au bureau de Saint-Pétersbourg et cette année j'ai assisté pour la première fois à la conférence internationale Droidcon Berlin, donc je voulais parler brièvement de mes impressions.


Cet article ne contient pas beaucoup d'informations techniques, mais si vous êtes intéressé, les organisateurs publieront des vidéos de tous les rapports sur YouTube au fil du temps.



Droidcon est l'une des conférences les plus populaires consacrées au développement Android, qui se tient dans 25 villes et 4 continents (Eurasie, Afrique, Amérique du Nord et Australie). Et si vous considérez l'Europe et l'Asie séparément, le nombre de continents augmente considérablement pour atteindre un chiffre effrayant - 5.


Cette année, nous avons réuni une très grande équipe de deux personnes qui sont allées conquérir la capitale allemande lors de la Coupe du monde.


Quelques mots sur les dates de la conférence, elles flottent et changent d'année en année. En 2017, Droidcon Berlin a eu lieu du 3 au 5 septembre, en 2018 - du 25 au 27 juin, et en 2019 aura lieu du 27 au 29 mai.


Du bon, on peut noter que la conférence se tient du lundi au mercredi, c'est-à-dire que si vous arrivez un peu à l'avance, par exemple le samedi, alors il reste 2 jours en réserve pour profiter de la beauté de Berlin pluvieux.


Comment se rendre à la conférence


Comme ils le disent, chaque Petersburger devrait avoir un parapluie et des lunettes de soleil, ainsi qu'un passeport avec un Schengen finlandais, donc la seule chose qui était nécessaire était simplement d'acheter un billet pour la conférence. L'achat d'un billet pour cette conférence n'est pas différent de l'achat de billets pour une autre: plus vous achetez tôt, plus le coût est faible. Mon billet a coûté 200 euros et mon collègue 150.


Pour autant que je sache, le lieu du Droidcon Berlin ne change pas - c'est CityCube Berlin. Ce complexe d'exposition est situé à seulement un kilomètre de la ville et à 200 mètres de la station de S-Bahn la plus proche.


Berlin est une ville moderne avec une structure de transport bien développée et il n'est donc pas nécessaire de louer un logement à proximité immédiate du lieu. Il peut être atteint de l'une des manières suivantes.


  • À pied
  • En train S-Bahn jusqu'à S-Messe-Süd
  • À vélo
  • Sur un vélo loué (mobike, nextbike)

Je voudrais décrire le dernier point plus en détail. Berlin n'est pas Amsterdam, mais le cyclisme dans la capitale allemande est organisé à un niveau décent, donc le partage de vélos est très populaire à Berlin. Il existe plusieurs sociétés qui fournissent des services connexes (NextBike allemand et Mobike chinois).



Le partage de vélos allemand est très similaire au partage de voitures russe dans la mesure où les vélos peuvent être garés absolument n'importe où dans la ville. Par conséquent, vous pouvez, par exemple, rentrer à la maison sur le vélo le soir et repartir le matin dessus. Mais attention: CityCube Berlin est situé en dehors des limites de la ville et le vélo devra être laissé à la station de vélo près de la station de S-Bahn - Messe Nord ICC.


Sur le chemin du lieu de la conférence, des bénévoles sympathiques ont aidé à s'orienter le premier jour. Il y avait aussi des panneaux le long de la route, donc se perdre était très difficile.



Panneau de signalisation



Pointeur près de l'entrée


Comme d'habitude lors des conférences lors de l'inscription, vous devez obtenir un badge afin de vous montrer et de regarder les autres. Je ne sais pas comment c'était avant, mais cette fois les organisateurs ont décidé d'optimiser le processus d'inscription et ont divisé la file d'attente par la première lettre du nom.




En général, je me suis rendu compte qu'être Vitaly dans cette situation n'était pas du tout rentable, j'étais bouleversé et suis allé à la 4e place.


Sponsors


Comme d'habitude, les sponsors sont présents aux conférences, ils donnent toutes sortes de bêtises, se font de la publicité et appellent même parfois au travail.


Cette année, il y avait pas mal de sponsors, chacun pouvait donner un bijou sympa ou raconter une histoire intéressante sur son travail et sur ses projets.


  • Huawei, un fabricant de combinés, a présenté son cadre de réalité augmentée et une voiture de coproduction avec Porsche. Très probablement développé un système de divertissement
  • Voici une ancienne filiale de Nokia, une société basée principalement en Allemagne et aux États-Unis. Développer des solutions cartographiques (anciennement NAVTEQ). Ils ont parlé d'un réseau de partenaires qui leur fournissent des cartes pour des régions complexes telles que la Chine, la Corée du Nord et d'autres, ainsi que du mécanisme d'émission de différentes versions de cartes en fonction de votre emplacement, de votre langue et d'autres choses (nécessaires pour résoudre le problème des territoires contestés)
  • Amazon - ils n'ont pas besoin d'une introduction, ils ont dit qu'en Allemagne ils développent principalement des OS pour leurs tablettes
  • Ebay - en Allemagne, ils sont principalement engagés dans le développement d'un analogue d'Avito (Ebay Kleinanzeigen, je ne peux pas dire cela)
  • Zebra - développement de logiciels et de systèmes matériels pour la numérisation de codes-barres, basés aux États-Unis et en Grande-Bretagne
  • Gdg
  • eDreams ODIGEO est un conglomérat de services de recherche de billets d'avion et d'hôtels et similaires (eDreams, GO Voyages, Opodo, TravelLink, Liligo et autres services peu connus en Russie). Développement à Barcelone et Madrid
  • N26 - une banque en ligne sans succursales. Ils disent travailler sur le principe Tinkoff, mais n'ayant que 1 million de clients (contre 6 millions pour les TF) dans toute l'Europe. Disponible dans 17 pays. Le centre de développement est situé à Berlin, a récemment ouvert un nouveau bureau à Barcelone. Utilisez ViewModel et LiveData.

Conférence


Nous passons directement à la conférence, cette année elle a duré 3 jours:


  • Journée interactive (jour n ° 0)
  • Jour # 1 (Keynote Jake Wharton - Brouillant la frontière entre natif et web)
  • Jour # 2 (Keynote Job van der Voort - Les meilleures applications sont intégrées dans un pantalon de pyjama)

Ensuite, nous considérons plus en détail les points clés de chaque journée.


Journée interactive


La journée interactive est une journée spéciale pour rencontrer d'autres participants à la conférence. Beaucoup de temps libre, des chambres libres. Par conséquent, tout le monde pouvait proposer un sujet de discussion ou un rapport. Sujets suggérés:


  • Comment écrire DSL dans Kotlin
    Un rapport similaire était sur JPoint, il n'y avait donc rien de nouveau là-bas.
  • À quoi sert la bibliothèque de pagination Google?
  • Comment organiser correctement une interaction multi-modulaire
    Dans ce rapport, un projet Android composé de plusieurs modules a été examiné. Il a été dit que ce module encapsule l'interaction avec un serveur ou une base de données. Son idée principale du rapport était de placer les dépendances telles que Room, Retrofit dans un module séparé et de les cacher.

J'ai également décidé de saisir cette opportunité et de raconter un rapport du mitap de Saint-Pétersbourg Kotlin.



Je parlais dans la salle Lollipop


Il y a également eu des tables rondes, auxquelles ont participé de 4 à 6 personnes:


  • Rx doit mourir
    Le message principal était que Rx n'est qu'une bibliothèque qui devrait être facilement remplaçable, mais il est très difficile de s'en débarrasser, car elle s'étend à tous les niveaux de l'application.
    Rx rend très souvent le code incompréhensible si les développeurs créent de longues chaînes.
    Si vous utilisez Single, Completable ou Maybe, alors vous n'avez pas besoin de Rx, Kotlin Coroutines sera suffisant.
    Comme d'habitude, ils ignorent la gestion des erreurs, l'annulation de l'exécution et les instructions Rx.
  • Multiplateforme sur Android
  • Femmes en technologie

À la fin de la journée était un tournoi Mario Cart.




Maintenant, un peu sur l'organisation d'une journée interactive.


  1. Ce n'est pas un mobius. Pas de café, thé et biscuits gratuits. Un point pour la vente de café et de bonbons, entre deux rapports lui font une longue file.
    Si vous voulez du café, sautez le rapport, bien que le premier jour vous puissiez le sauter en toute sécurité.
  2. Ce n'est pas un mobius. Pas de plats chauds - juste des sandwichs, savoureux, mais officiellement un seul à la fois.
  3. Ce n'est pas un mobius. Ils ne sont pas tellement chassés ici)

Et le dernier point à l'ordre du jour était une fête non officielle organisée par la communauté Android allemande BerlinDroid. Elle était au programme de la conférence, mais personne ne savait vraiment rien d'elle. Passé dans le bar-club de la base C, où environ 200 à 300 bouteilles de bière ont été payées. Le bar est situé sur les rives de la rivière, nous nous sommes donc assis dans la rue et avons discuté de divers sujets avec d'autres développeurs Android.


Premier jour


Comme je l'ai déjà noté, la première journée a commencé par un discours de Jake Wharton «Brouillant la frontière entre le natif et le web» , qui était un peu de discussion sur le thème de la multiplateforme, du choix de la langue et d'autres choses. La principale conclusion est que bientôt il sera possible d'écrire tout sur Kotlin, la principale caractéristique est des captures d'écran sympas sur Kotlin.





Photos du discours de Jake


Le premier jour, Hannes Dorfmann a fait un très bon reportage sur MVI, d'autres développeurs l'ont beaucoup félicité, mais je ne pouvais pas lui rendre visite, alors j'ai l'intention de le regarder lorsque l'enregistrement apparaîtra.


Un rapport intéressant portait sur Dependency Hell d'Erik Derr. Au début du rapport, il a dit que vous utilisez des dépendances dans le projet, tout va bien avec vous, tout est structuré. Mais lorsque la bibliothèque entre dans l'APK compilé, elle accède à tout ce à quoi l'application elle-même a accès.
Il a ensuite abordé en douceur la sécurité des bibliothèques téléchargeables et pourquoi il est important pour le développeur de savoir que la dépendance ne contient pas de vulnérabilités et ne vole pas les données utilisateur.
Après cela, il a analysé l'utilisation du SDK Facebook, en particulier, il a analysé quelles versions du SDK sont le plus souvent utilisées dans d'autres applications, et a remarqué qu'un nombre suffisant de projets utilisent la version vulnérable du SDK Facebook, et pour une raison quelconque, ils ne la mettent pas à jour souvent.
À la fin du rapport, il a présenté l'extension pour Android Studio Up2Dep , qui suggère la dernière version compatible de l'extension (probablement au niveau de l'interface).



Exemple de plugin


Le rapport sur la navigation d'Anthony Agby (Anthony Agby) a analysé comment ils travaillaient avec la géolocalisation sur Android, comment le FusedLocationManager est maintenant utilisé, que faire si l'utilisateur vit en Chine.


Ensuite, je suis allé à la présentation de Ricardo Lage sur la migration d'AutoValue vers la classe de données Kotlin. Il a expliqué à la moitié du rapport ce qu'est AutoValue, à quoi cela sert, comment ils ont toujours généré des sérialiseurs. Il s'est concentré sur la fraîcheur de l'utilisation de la classe de données et sur la façon dont ils ont écrit un plugin qui convertit l'ancien code en une classe de données. Mais même avec la classe de données, ils utilisent leur plugin pour générer du code sérialiseur, car ils n'aimaient pas la sérialisation Kotlin.


À ce moment-là, mon collègue est allé voir le rapport de Saket Narayan "La persistance comme source unique de vérité" , ce qui l'a impressionné. Je veux donc également le regarder lorsque la vidéo apparaîtra.


Vitaliy Zasadnyy a fait une présentation sur DeepLink. Si l'enceinte est très élégamment vêtue: dans une chemise, un gilet et un sourire aux oreilles, alors c'est un rapport de gestion (cela s'est avéré vrai). Si vous essayez de mettre en évidence l'essence, vous devez utiliser l'API Google Referer, si nous voulons transférer des informations supplémentaires immédiatement après le téléchargement de l'application.


Ensuite, il y a eu un rapport de Nishant Srivastava sur ProcessLifecycle, qui est une nouvelle version de son article .



À la fin de la première journée, j'ai pris une photo avec Hannes Dorfman.


Deuxième jour


Job van der Voort a ouvert le deuxième jour avec le discours «Les meilleures applications sont construites en pyjama-pantalon» . Job travaille dans GitLab et son histoire raconte comment ils travaillent tous à la maison et quels sont les avantages de celui-ci, par exemple, il parvient à travailler et à surveiller la croissance de sa fille. Sur la base d'une expérience réussie, il conclut que les bureaux sont facultatifs.



Photo du discours de Job


Il a accordé une attention particulière au paradigme OpenSource, selon lequel le code de tous leurs produits, même ceux qu'ils vendent, est dans le domaine public, c'est-à-dire que tout utilisateur peut télécharger le code source, le compiler et l'utiliser sans aucun problème.
Mais le plus intéressant est l'histoire de la communauté qu'ils ont créée. Il s'avère que de nombreuses entreprises clientes créent de nouvelles fonctionnalités qui sont utiles non seulement pour elles, mais aussi pour d'autres clients. Malgré cela, les entreprises achètent toujours des produits de GitLab, bien qu'elles créent souvent les fonctionnalités dont elles ont besoin pour elles-mêmes dans les produits GitLab.


Ensuite, nous avons écouté un rapport sur l'augmentation de la vitesse de construction du projet de Nikita Kozlov et Boris Farber (Nikita Kozlov, Boris Farber) en fonction de la version de grale, kotlin, etc ... En particulier, ils ont mesuré la vitesse de construction sur des coquelicots de 15 et 17 ans. Pour résumer, les gars voulaient de nouveaux coquelicots et ils devaient en quelque sorte expliquer pourquoi ils avaient besoin d'ordinateurs plus puissants.



Liste des paramètres considérés par les intervenants


À ma grande surprise, à partir d'un rapport assez standard d'Abdelmounaïm Belghalem sur la batterie, j'ai découvert que la 3G mange plus que le LTE.


Puis vint la présentation de Vasiliy Zukanov «Les activités et les fragments ne sont pas des vues MVX» . Il a été démontré que les activités et les fragments prennent beaucoup d'eux-mêmes, il est donc logique de mettre des fonctionnalités répétitives dans des classes supplémentaires.


Danny Preussler a parlé de l'injection de dépendances sur Kotlin en utilisant Koin et Kodein. Il a conclu que Dagger est une assez bonne bibliothèque, mais si vous utilisez Koin et Kodein, vous pouvez injecter des dépendances via des propriétés déléguées, ce qui est beaucoup plus pratique.


Et le dernier rapport a été raconté par Parth Padgaonkar. Le rapport a examiné la méthode de conversion du code synchrone en code Rx. En particulier, le code RxBindings (écrit par Jake) et la création d'un Observable personnalisé à l'aide de la méthode Observable.create ont été analysés. Il s'avère que beaucoup de gens oublient d'écrire une ligne en gras et donc des fuites de mémoire sont possibles lors de la création d'un observable.




Mais les derniers reportages n'ont pas attiré autant d'auditeurs, puisque le 27 juin, l'équipe nationale allemande a disputé mercredi le dernier match de la phase de groupes avec l'équipe nationale coréenne.








Plus tard, j'ai réussi à rencontrer et à discuter avec Dmitry Vinogradov. Il s'agit du créateur de startandroid.ru , dont les informations publiées sont très utiles pour les débutants et pas seulement pour les développeurs Android.




Brèves conclusions:


  • Le niveau des rapports dans son ensemble est légèrement inférieur à celui de Petersburg Mobius, mais supérieur à celui de Moscou
  • Une idée très cool avec la première journée interactive, car il y avait du temps pour rencontrer d'autres participants à la conférence
  • Problèmes avec des collations et de la nourriture le premier jour
  • Courtes pauses entre les rapports, pas assez de temps pour discuter des rapports, boire un café, discuter avec les sponsors
  • Personne ne suit les règles, donc non seulement vous n'avez pas le temps de faire quoi que ce soit pendant la pause, mais vous êtes en retard pour le prochain rapport
  • Bon après la fête après une journée interactive
  • Vous pouvez jouer au kicker, aux machines à sous, au jenga et à d'autres choses pendant votre temps libre.
  • S'il n'y a pas d'argent pour un billet, vous pouvez vous inscrire à une conférence en tant que bénévole, et il n'est pas nécessaire d'aider l'organisation pendant 3 jours.

Faits intéressants en une seule ligne


  • Discuté et rencontré un grand nombre de personnes de différents pays
  • Tendances de cette conférence: Flutter et multiplateforme
  • Discuté avec le fondateur du site Web StartAndroid, a également pris une photo avec lui, a découvert comment il a déménagé en Allemagne
  • Avait une photo avec Hannes Dorfmann
  • J'ai dit à Jake Worthan que je suis son fan russe
  • J'ai appris qu'il n'y a pas de services d'assurance qualité dans les bureaux d'externalisation européens. Testeurs uniquement du client
  • Les développeurs européens se déplacent souvent vers des pays moins chers et des villes moins chères (par exemple, de l'Écosse non pas à Londres, mais à Berlin)
  • Le développement et la vie à Berlin sont moins chers que dans d'autres villes allemandes (Munich et Cologne)
  • A Berlin, problèmes de paiement par carte, vous aurez besoin d'argent comptant
  • Les Amsterdamois ne distinguent pas l'odeur de l'herbe de l'odeur des cigarettes

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


All Articles