Trois jours de conférence pour les développeurs web à Hambourg. De nombreux ateliers, conférences et sessions de développement ont permis de présenter les innovations en matière de développement web. Les formats étaient aussi différents que les sujets étaient vastes. Du Clean Code aux innovations technologiques en passant par l'IA avec ChatGPT et GitHub Copilot. Rien n'a été oublié.
La WDC en quelques mots
🏗️ Web Components
Le premier jour, j'ai participé à une session de développement sur les Web Components avec TypeScript. De mon point de vue, les Web Components peuvent être une bonne alternative dans certains scénarios, à moins que vous ne travailliez avec React. Ce framework est construit sur un DOM virtuel qui n'a rien à voir avec le DOM réel que le navigateur web finit par afficher. Par conséquent, il y a des difficultés lorsque vous travaillez avec les événements ou le contenu des éléments, comme l'élément input.
🌐 Web Sockets
Les applications Web progressives ont besoin de données provenant du backend et peuvent recevoir en permanence de nouvelles informations provenant de services par le biais de différentes approches. Les Web Sockets sont l'avenir pour cela et s'adaptent bien. Un autre grand avantage des Web Sockets est la possibilité de communiquer en temps réel. Cependant, vous devez toujours mettre en œuvre le polling long comme solution de repli. En effet, à l'heure actuelle, les Web Sockets ne sont pas prises en charge par tous les navigateurs/systèmes.
Autre fait intéressant : des chercheurs expérimentent actuellement la possibilité de diffuser des sites web entiers vers le client à l'aide de Web Sockets.
🔐 Développement d'API sécurisées
Les OWASP Top Ten ont pour but de sensibiliser le public. Le développement de logiciels sécurisés ne s'arrête pas là : il peut s'agir de surveiller la chaîne d'approvisionnement des logiciels (par exemple avec Snyk) ou d'adhérer à certains principes : "Ne faites confiance à aucune donnée provenant de systèmes tiers (internes ou externes)". Même les systèmes de confiance peuvent être piratés, ce qui peut avoir un impact sur les appelants. Une validation stricte reste un facteur important à cet égard.
![Presentation of OWASP Top Ten and API Security, showing title slide on a TV screen.](https://niwadev.com/wp-content/uploads/2023/09/IMG_5337-1024x768.jpeg)
🧠 Nouvelles sur le développement de l'IA
Avec le service OpenAI d'Azure, il est relativement facile de construire une variante personnalisée de ChatGPT pour vous-même. Vous pouvez créer un chatbot intelligent pour votre service client par exemple. En entrant vos propres données et en spécifiant ce à quoi l'IA répond, vous avez le contrôle sur les réponses.
☁️ Bicep, Terraform, Pulumi - Un aperçu de l'Infrastructure-as-Code
Pour ceux qui utilisent Azure et se lancent dans l'Infrastructure-as-Code (IaC), Bicep est un bon outil à avoir sous la main. Terraform est excellent pour les environnements cross-cloud. Cependant, vous devez savoir comment couvrir la gestion des états. Pulumi semble avoir du sens lorsque vous livrez votre application en tant que produit.
🚧 Fonctionnement en tant que service sans "Cold Start" (démarrage à froid)
Grâce à Fermyon Spin, vous pouvez écrire des fonctions Rust qui sont compilées en WebAssembly et qui démarrent donc aussi vite qu'une flèche. De plus, ces fonctions n'ont pas besoin d'être hébergées dans le Fermyon Cloud, puisque vous pouvez également mettre en place les systèmes sur site. Un SDK est disponible pour de nombreux langages connus (par exemple Go ou TypeScript). Mais il n'est pas nécessaire de l'utiliser.
Mon point fort personnel de la conférence !
Si vous ne savez pas ce qu'est le FaaS, consultez la description de mon service à Function-as-a-Service.
🧪 Développement piloté par les tests sur le frontend ?
Le TDD sur le frontend est tout aussi possible et même plus facile avec Vitest qu'avec Jest. Ici, vous pouvez prendre Vitest comme un remplacement direct dans l'application et obtenir un mocking simplifié en plus. À l'avenir, des solutions comme Playwright Components pourront couvrir la partie où un navigateur est nécessaire pour tester le composant.
Vous êtes intéressé par le TDD. Jetez un coup d'œil à mes services de développement piloté par les tests.
💻 Innovations dans Next.JS
J'ai travaillé intensivement avec Next.JS lors du développement de mon premier site web. Mais il s'est passé beaucoup de choses au cours de l'année écoulée. Avec l'App Router, le projet est désormais structuré différemment. Mais les API sont également plus faciles à écrire. Chaque verbe HTTP a sa propre méthode.
Conclusion
Lors de la conférence, j'ai découvert de nombreux développements qui m'auraient échappé dans mon travail quotidien. Je vais certainement regarder de plus près Fermyon Spin, qui semble résoudre un gros problème de FaaS. De plus, j'ai également eu l'occasion de revoir Hambourg après presque 15 ans et je suis très enthousiaste à propos de cette ville.