Speaker

Olivier Perez

Olivier Perez

Zenika, Développeur Android

Lyon, France

Développeur piloté par la passion, j'ai arrêté de compter les langages que j'ai rencontré depuis mes 14 ans. Après 5 ans chez Worldline, dont 2 de Spring et 3 d'Android, je suis aujourd'hui développeur chez Zenika, mes journées m'amènent à faire beaucoup de Kotlin sur Android.

Et le soir, je code pour... coder... quelque soit le langage.

Area of Expertise

  • Information & Communications Technology

Topics

  • android
  • Kotlin
  • java
  • Git

Premiers pas dans la génération de code par annotations

On parle beaucoup de réflexion en Java/Kotlin et je vous l’accorde c’est assez marrant à coder. Mais son utilisation n’est pas gratuite, augmentation de la mémoire, ralentissement de l’application et magie vaudou sont 3 bonnes raisons pour envisager de s’en passer.

En utilisant les annotations processors (apt ou kapt) nous pouvons faire générer du code à la compilation. Cela aura pour effet de rendre visible la magie, et donc de la démystifier tout en rattrapant les lenteurs causées par la réflexion.

Dans la génération de code, le plus compliqué c'est de se lancer. Je vous invite à découvrir cela dans un contexte sans risque, nous serons là pour toute explication/question.

Équipé de votre plus bel IntelliJ, vous développerez votre premier moteur d'injection de dépendances basé sur annotations.**

Ce sera aussi l'occasion de faire du Kotlin, et de découvrir KPoet (https://github.com/agrosner/KPoet) l'ami des générateurs de code.

Génération de code, la face cachée du boilerplate

J'aime avoir confiance dans le code que je livre en production, mais qu'en est-il du code généré par le compilateur ?

Le code généré est une technique pour s'affranchir de la réflexion à l'exécution, elle est grandement utilisée dans les environnements à ressources limitées comme des applications mobiles. En effet la réflexion est une technologie coûteuse en temps et en mémoire.

En Kotlin, tout comme en Java, les annotations processors (par exemple apt/kapt) génèrent du code à la compilation en analysant les annotations contenues dans le code. Quel mécanisme se cache derrière cette génération, et à quoi ressemble du code généré ? Regardons ensemble l'envers du décor d'une bibliothèque d'injection de dépendances.

Nous verrons ainsi les étapes à suivre pour créer notre propre générateur en utilisant des annotations.

Olivier Perez

Zenika, Développeur Android

Lyon, France

Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.

Jump to top