Présentation
Milkman se positionne comme une alternative à Postman en proposant un workbench développé en JavaFX. Le choix de JavaFX contraste avec l’approche Electron utilisée par Postman, qui repose sur Chromium et Node.js. L’auteur indique que les applications Electron « prennent des âges et consomment beaucoup de mémoire », ce qui motive la création d’une solution native Java. Milkman vise ainsi à réduire le temps de lancement et l’empreinte mémoire tout en conservant les fonctionnalités de construction de requêtes et d’affichage de réponses.
Architecture et choix technologiques
Le cœur de Milkman repose sur la plateforme JavaFX, qui s’exécute sur la JVM et exploite le pipeline graphique hardware‑accelerated. Cette architecture élimine la surcharge liée au moteur Chromium d’Electron, limitant ainsi le nombre de processus actifs. En s’appuyant sur la JVM, Milkman bénéficie également du ramasse‑miettes et du modèle de modules Java, ce qui simplifie la distribution sur les systèmes d’exploitation majeurs sans nécessiter d’installation de runtimes supplémentaires.
Extensibilité via plugins
Milkman adopte un modèle plugin où chaque protocole ou fonctionnalité supplémentaire se présente sous forme de module distinct. Le texte mentionne explicitement le support natif des requêtes HTTP/REST, ainsi que la possibilité d’ajouter des plugins pour les bases de données, gRPC ou GraphQL. Cette modularité repose sur le système de services Java (SPI), permettant aux développeurs d’enregistrer de nouvelles implémentations sans modifier le code de base. Le caractère « presque tout est un plugin » garantit que l’application reste légère tant que seuls les plugins requis sont chargés.
Performances et limites
En l’absence de métriques chiffrées, l’analyse se base sur les caractéristiques qualitatives fournies. La suppression du moteur Chromium devrait réduire le temps de démarrage et la consommation de RAM, mais la JVM elle‑même impose un coût de démarrage lié au chargement du classpath. Le modèle plugin, s’il est bien géré, évite le gonflement de l’application, mais chaque plugin introduit une dépendance supplémentaire qui peut impacter la stabilité ou la sécurité si les bibliothèques tierces ne sont pas maintenues. Enfin, la communauté autour de Milkman reste petite comparée à Postman, ce qui limite la disponibilité immédiate de plugins et la documentation.