Les .NET Days Online sont de retour pour une nouvelle édition les mercredi 25 et jeudi 26 septembre 2024. Il s'agit d'un évènement gratuit organisé par JetBrains, dédié à la communauté .NET et soutenu par la .NET Foundation.
Une fois par an, JetBrains invite des intervenants de la communauté à s’exprimer sur les sujets qui les passionnent lors de cet évènement. Le programme de cette année comprend des sujets tels que le développement avec C#, F#, .NET Aspire, Blazor, Razor, HTMX et même ASP.NET MVC. Les discussions porteront sur les microservices, la vérification du code, l'écriture de tests ainsi que les 20 années d'existence de ReSharper sur le marché.
Agenda
Mercredi 25 septembre
→ Not Your Father’s ReSharper - Par Andrew Karpov
ReSharper fête ses 20 ans ! Certains l’utilisent depuis le tout début, d’autres depuis seulement un an ou deux. Dans cette présentation, Andrew Karpov discutera de l'évolution de ReSharper au fil des années et de ce qu'il est devenu.
→ Crafting Blazor Components With Precision and Assurance - Par Mariekie Coetzee
Dans cette session, vous allez explorer Blazing Story, un modèle inspiré par Storybook qui permet aux développeurs de concevoir des composants Blazor de manière isolée. Vous discuterez de l'utilisation de Playwright pour les tests de bout en bout et examinerez l'intégration d'une bibliothèque de tests d'accessibilité pour garantir que les composants respectent les directives convenues.
→ A Homage to the Good Old MVC - Par Alexander Zeitler
ASP.NET a pris un peu de retard par rapport au modèle MVC. Ce n’est qu’en 2009 que Microsoft a publié la première version d’ASP.NET MVC. À cette époque, le modèle MVC était déjà bien établi dans la communauté du développement web. L'une des raisons à cela est que Microsoft était initialement fortement investi dans WebForms. Par la suite, ils ont misé sur Silverlight comme étant l’avenir du développement web. À part quelques projets hérités, WebForms appartient désormais au passé. Silverlight est également bien révolu.
Aujourd'hui, on parle beaucoup du tout nouveau Blazor. Mais Alexander Zeitler n'est pas convaincu qu'il remplacera totalement ASP.NET MVC. Et il ne pense pas non plus que Blazor devrait le faire. Cette présentation sera un hommage au bon vieux (nouveau) ASP.NET Core MVC. Alexander Zeitler expliquera pourquoi, selon lui, cette technologie reste un bon choix pour le développement web en 2024.
→ Overcoming Broken Window Syndrome: Code Verification Techniques for .NET Developers - Par Gael Fraiteur
Lorsque les standards de codage, les lignes directrices en matière d'architecture et les conventions ne sont disponibles que sous des formes non exécutables comme la documentation et les diagrammes, la qualité du code a tendance à se détériorer avec le temps. Cette détérioration entraîne une complexité accrue et l'accumulation de dettes techniques. Pour contrer cette baisse de qualité, il est essentiel de valider activement votre code source par rapport aux règles de conception et aux normes d'architecture dans le cadre de votre pipeline DevOps.
Cette présentation explorera plusieurs techniques pour appliquer des standards de codage dans le développement .NET. Vous allez voir comment utiliser la réflexion et Roslyn pour une analyse approfondie du code et démontrer la mise en œuvre de tests unitaires d'architecture. Vous mettrez également en avant l'utilisation des analyseurs Roslyn et d'outils comme NDepend et Qodana pour fournir des retours en temps réel. De plus, Gael Fraiteur présentera Metalama, un outil puissant offrant une perspective nouvelle sur l'application des architectures, combinant simplicité et validation en temps réel.
→ Enhancing ASP.NET Core Razor Pages With HTMX: A Simplicity-First Approach - Par Chris Woodruff
Plongez dans le monde dynamique du développement web avec cette présentation captivante, où vous allez explorer le mélange innovant de HTMX avec les Razor Pages ASP.NET Core. Découvrez comment ramener la simplicité dans vos applications web sans sacrifier la puissance ou l’évolutivité. Vous allez passer en revue des exemples pratiques démontrant comment HTMX peut rendre vos Razor Pages plus interactives avec un minimum de JavaScript. Apprenez à améliorer l'expérience utilisateur avec des fonctionnalités faciles à implémenter, telles que le long polling, les modals, et la validation côté serveur, donnant l'impression d'une interaction côté client sans rechargement complet de la page. Que vous soyez un développeur chevronné ou débutant dans l’écosystème ASP.NET, cette présentation vous dotera des connaissances nécessaires pour créer des applications web plus réactives et efficaces. Préparez-vous à transformer votre approche du développement web en tirant parti du meilleur des deux mondes : la robustesse d’ASP.NET Core et la simplicité d’HTMX.
→ No More SQLite – How to Write Tests With EF Core Using Testcontainers - Par Daniel Ward
Les tests d'intégration sont essentiels pour garantir la fiabilité de votre application. Cependant, les options traditionnelles pour écrire ces tests avec EF Core, comme l'utilisation de SQLite ou d'une véritable base de données de développement, introduisent souvent des défis en termes de maintenabilité et de fiabilité, voire même de faux positifs qui font passer les tests à tort.
Cette session proposera une alternative : une bibliothèque appelée Testcontainers, qui résout ces problèmes. Après avoir passé en revue les options les plus courantes et leurs pièges, Daniel Ward présentera la bibliothèque Testcontainers, ses avantages, et démontrera à travers un exemple de code comment l'implémenter dans des tests d'intégration réels en utilisant EF Core.
Bien que cette présentation soit orientée vers .NET et utilise des exemples en C#, la bibliothèque Testcontainers est disponible dans plus de 10 langages, et les connaissances peuvent être transférées à d'autres écosystèmes. Notons que les participants doivent avoir une connaissance de base des tests unitaires et d'intégration.
Jeudi 26 septembre
→ Building Functional DSLs for Life-Saving Applications - Par Roman Provazník
Dans cette présentation, vous serez guidés à travers la conception de DSL personnalisés pour des applications utilisées par les contrôleurs de centres d'opérations d'urgence, avec une touche d'interopérabilité entre C# et F# au-dessus d'un moteur de rendu d'interface utilisateur alimenté par SignalR et le compilateur Fable.
→ Pushing 'await' to the Limits - Par Konstantin Saltuk
Après l'introduction de l'opérateur await, les développeurs C# peuvent écrire du code asynchrone qui ressemble presque à du code synchrone ordinaire. Plus besoin de callbacks explicites et d'expressions lambda dans certains scénarios. Super ! Cependant, cela n'a pas apporté de solution pour la programmation multithread. Avec l'aide de IAsyncDisposable, IAsyncEnumerable entre autres, nous pouvons rendre la programmation multithread aussi simple que async/await. Venez apprendre comment rendre async/await encore plus puissant et découvrir comment écrire du code multithread de manière claire et concise.
→ Functional Programming Made Easy in C# With Language Extensions - Par Stefano Tempesta
LanguageExt est une bibliothèque qui utilise et exploite les fonctionnalités de C# pour fournir une bibliothèque de classes fonctionnelles de base. Les extensions de classes apportent une partie du monde fonctionnel dans C#, rendant même plus productifs les programmeurs orientés objet les plus expérimentés.
Participez à cette session pour voir en action les effets fonctionnels les plus couramment utilisés offerts par LanguageExt, couvrant une variété de capacités : gestion des entrées/sorties (IO), concurrence atomique, et gestion d'état avec les monads. Vous découvrirez toutes les fonctionnalités de la programmation fonctionnelle que vous attendez. Le tout agrémenté des riches capacités de refactorisation de Rider, pour que vous puissiez démarrer rapidement.
→ Into the Rabbit Hole of Blazor Wasm Hot Reload - Par Andrii Rublov
Cette session approfondie révèlera la magie derrière l'intégration transparente de Rider avec Blazor WebAssembly pour offrir une expérience de développement dynamique en temps réel. Vous allez explorer l'architecture technique, examiner les mécanismes de communication entre l'EDI, le runtime et le navigateur, et comprendre comment les modifications du code sont instantanément reflétées sans rechargement complet. Parfait pour les développeurs souhaitant approfondir leurs connaissances sur les capacités de Blazor, cette session fournira une compréhension approfondie des processus en coulisses qui font du hot reload un outil puissant dans votre boîte à outils de développement Blazor Wasm.
→ Orchestration vs. Choreography: The Good, the Bad, and the Trade-Offs - Par Laila Bougria
L'un des objectifs de la création d'architectures basées sur des microservices est de réduire la complexité des composants individuels. Ce faisant, une grande partie de cette complexité se déplace des services individuels vers la communication interservices, rendant ainsi la conception de ces interactions essentielle à la conception de votre système. C'est là que l'orchestration et la chorégraphie interviennent – deux techniques de coordination qui peuvent vous aider à concevoir des flux de travail complexes dans notre système.
Dans cette session, vous allez examiner en détail chaque modèle avec des exemples pratiques issus du secteur bancaire. En comprenant bien les compromis de chaque approche et en sachant poser les bonnes questions, vous pouvez construire un cadre qui vous aide à prendre des décisions équilibrées sur le choix du modèle à utiliser. Rejoignez cette session pour apprendre à transformer les concepts abstraits d'orchestration et de chorégraphie en un cadre de prise de décision concret qui vous orientera dans la bonne direction.
→ Contract Testing Made Easy: Mastering Pact for Microservices in C# - Par Irina Scurtu
Dans un monde des microservices en constante évolution, nous nous appuyons souvent sur les tests d'intégration pour prévenir les bugs et les régressions. Le problème avec ces tests est qu'ils deviennent parfois instables, peu fiables et coûteux à maintenir et à exécuter, en raison de la nature distribuée de notre système. Mais que se passerait-il si nous pouvions nous assurer que les composants de notre système sont compatibles et peuvent communiquer entre eux dès la phase de développement ? Dans cette session, vous allez découvrir ce que sont les tests de contrat et voir comment ils peuvent vous aider à réduire le risque de bugs d'intégration avant d'exécuter des tests longs, avec des exemples en C#.
→ Composing Distributed Applications With .NET Aspire - Par Cecil Phillip
La pile .NET Aspire regroupe une collection de bibliothèques et d'outils conçus pour simplifier le développement d'applications distribuées pour les développeurs. Au cœur de .NET Aspire se trouve son orchestrateur intégré, qui offre une approche centrée sur le code, vous permettant de gérer facilement toutes les ressources qui composent votre application – conteneurs, exécutables, projets et configurations – avec la puissance du typage fort.
Dans cette session, vous allez explorer comment utiliser l'API dans le modèle d'application pour composer les ressources qui constituent votre application distribuée. Vous allez comprendre en profondeur ce que sont les ressources Aspire, examiner certains des types de ressources intégrés, et apprendre comment créer vos propres ressources personnalisées.
Vous avez la possibilité d’assister à l’intégralité des sessions ou de ne suivre que certaines d’entre elles. Les sessions seront diffusées en direct sur YouTube et enregistrées, vous pourrez donc les retrouver après l’événement. Si vous suivez les diffusions en direct, vous pourrez également poser des questions aux intervenants.
S'inscrire aux .NET Days Online 2024
Les .NET Days Online sont de retour pour une nouvelle édition les 25 et 26 septembre 2024 :
Un évènement en ligne gratuit organisé par JetBrains et dédié à la communauté .NET
Les .NET Days Online sont de retour pour une nouvelle édition les 25 et 26 septembre 2024 :
Un évènement en ligne gratuit organisé par JetBrains et dédié à la communauté .NET
Le , par Michael Guilloux
Une erreur dans cette actualité ? Signalez-nous-la !