Récemment, j'ai relevé un défi de code passionnant pour une entreprise de médias spécialisée dans les kiosques numériques. La tâche ? Créer un Système de gestion de contenu d'affichage numérique qui connecte une application Web à une application d'affichage de bureau en utilisant WebSockets pour la communication.
Le défi consistait à créer un système avec les fonctionnalités de base suivantes :
Le premier défi majeur auquel j'ai été confronté a été de concevoir la mise en œuvre. J'ai redémarré le projet plusieurs fois, en me concentrant d'abord sur l'application Electron. Cependant, après de nombreuses recherches et expérimentations, j'ai réalisé que commencer par l'application Web puis la connecter à l'application d'affichage Electron était un meilleur choix. Cela m'a permis d'établir les fonctionnalités de base de la gestion de contenu avant d'aborder la couche de communication avec WebSockets.
Pour ce projet, j'ai choisi Next.js en raison de sa meilleure intégration avec Vercel, ce qui rend incroyablement facile le déploiement et la mise à l'échelle de l'application.
L'un des plus gros obstacles a été d'apprendre Fabric.js et Electron, deux outils que je n'avais jamais utilisés auparavant :
La fonctionnalité WebSocket était particulièrement délicate. J'ai réussi à créer un serveur WebSocket qui a permis à l'application Electron de répliquer le contenu de l'application Web. Cependant, les mises à jour en temps réel entre les deux applications se sont avérées difficiles. Même si je n'ai pas réussi à le faire fonctionner parfaitement pour cette version, je prévois de le revoir et de l'améliorer pour obtenir une synchronisation complète en temps réel.
Ce projet était à la fois stimulant et enrichissant. J'ai acquis une expérience précieuse dans :
Pendant que j'ai soumis le projet, je suis ravi de l'améliorer encore, d'ajouter les fonctionnalités manquantes et d'optimiser les capacités en temps réel.
Si vous êtes curieux, voici où vous pouvez voir le projet en direct ou contribuer à son développement :
Je réalise ce projet open-source et j'aimerais que les développeurs collaborent, l'explorent et l'améliorent. Que vous souhaitiez améliorer les fonctionnalités en temps réel, optimiser l'application Electron ou ajouter de nouvelles fonctionnalités, vos contributions sont les bienvenues !
Ce projet m'a mis au défi de sortir de ma zone de confort et d'explorer de nouveaux outils, cadres et approches de conception. Cela m'a rappelé que le développement est un processus itératif rempli d'opportunités d'apprentissage. J'ai hâte de poursuivre ce projet, de l'améliorer au fil du temps et de partager des mises à jour en cours de route. ?
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!