Metaprogrammation Matthieu MEZIL Infinite Square matthieu mezillive fr

  • Slides: 10
Download presentation
Meta-programmation Matthieu MEZIL - Infinite Square matthieu. mezil@live. fr - @Matthieu. MEZIL - http:

Meta-programmation Matthieu MEZIL - Infinite Square matthieu. mezil@live. fr - @Matthieu. MEZIL - http: //msmvps. com/blogs/matthieu - MVP C# - INETA speaker

Développement d’une application de gestion orientée données • Où est la valeur pour le

Développement d’une application de gestion orientée données • Où est la valeur pour le client ? • Persistance • Règles métiers • UI La « plomberie » n’a pas de valeur pour le client

Développement d’une application de gestion orientée données • Pourtant la « plomberie » •

Développement d’une application de gestion orientée données • Pourtant la « plomberie » • représente une partie très importante du temps de développement du projet • est la partie la plus technique • englobe à elle seule la quasi-totalité du risque

Quels sont les risques ? • Sous-estimation du temps de développement • Sous-estimation de

Quels sont les risques ? • Sous-estimation du temps de développement • Sous-estimation de la complexité technique • échec du projet • impact sur le temps de développement • Impact sur les performances du code

Qu’est-ce que la méta-programmation peut apporter ? • Avec la méta-programmation il est possible

Qu’est-ce que la méta-programmation peut apporter ? • Avec la méta-programmation il est possible de générer la « plomberie » • Augmentation considérable de la productivité • Réduction drastique du risque • Augmentation de la maintenabilité et diminution du risque « effet de bord »

Pourquoi la méta-programmation est-elle si peu développée aujourd’hui ? • L’idée de la méta-programmation

Pourquoi la méta-programmation est-elle si peu développée aujourd’hui ? • L’idée de la méta-programmation n’est pas nouvelle • Par le passé : rarement un franc succès • • Rarement très performant Difficile à customiser Prenant rarement en compte les règles métiers Imposant le plus souvent un formalisme restreint

Qu’est-ce qui a changé ? • Microsoft permet aujourd’hui une méta-programmation mâture • Les

Qu’est-ce qui a changé ? • Microsoft permet aujourd’hui une méta-programmation mâture • Les développeurs peuvent personnaliser très facilement le code généré • Visual Studio permettant permet de régénérer l’ensemble de la « plomberie » sans avoir à se soucier de l’impact de notre modification • Une technologie (Roslyn) nous permet d’analyser le code source. • Ecriture de règles métier en C# (i. e. sans aucune contrainte)

Qu’est-ce qu’il est possible de faire maintenant ? • Construire un meta-framework • génère

Qu’est-ce qu’il est possible de faire maintenant ? • Construire un meta-framework • génère l’ensemble de la « plomberie » en se basant sur les dernières technologies de Microsoft • Tout en assurant un code généré optimal • Tout en permettant la customisation • Tout en restant flexible L’intégration pour les développeurs est simple

WAQS Application Scaffolding feedbacks clients « WAQS est une innovation, aucune autre société ne

WAQS Application Scaffolding feedbacks clients « WAQS est une innovation, aucune autre société ne peut concevoir un système avec autant de règles et si peu de code à écrire. » (Responsable R&D) « WAQS est une révolution pour les développeurs et apporte un gain de productivité exceptionnel » (Architecte) « On passe plus de temps sur le métier et moins sur la technique » (Chef de Projet) « WAQS génère du code plus performant que celui qu’on aurait écrit manuellement alors pourquoi s’en passer ? » (Développeur senior)

Meta-programmation Matthieu MEZIL - Infinite Square matthieu. mezil@live. fr - @Matthieu. MEZIL - http:

Meta-programmation Matthieu MEZIL - Infinite Square matthieu. mezil@live. fr - @Matthieu. MEZIL - http: //msmvps. com/blogs/matthieu - MVP C# - INETA speaker